Sei sulla pagina 1di 60

completa para la enseanza de la programacin.

El lector debe complementar el estudio d


algoritmia, con el estudio de uno o varios lenguajes de programacin. Le recomendamos
encarecidamente que realice todos los algoritmos presentados en este libro, usando su le
programacin favorito. Para el aprendizaje de los lenguajes de programacin ms popular
sugerimos consultar (y por qu no, tambin colaborar con) los otros wikilibros de programa
Finalmente, invitamos al lector a practicar: la nica forma de aprender a nadar, es lanzarse
nadar. Se tratar de incluir, en medida de lo posible, ejercicios al final de cada seccin. Al
captulo se sugerirn algunos proyectos de programacin que puede realizar. La realizaci
proyectos es beneficiosa por varios motivos: primero, ayudar a afianzar los conocimiento
en cada seccin; segundo permitir aplicar las tcnicas estudiadas en problemas prcticos
programacin puede convertirse en un hobbie que brinda muchas satisfacciones.
En sus inicios, la programacin de computadoras se bas exclusivamente en el modelo im
(tambin denominado procedimental), que semeja ms la forma en que la mquina manej
instrucciones u rdenes.
Conforme la programacin de computadoras fue utilizndose para resolver nuevos tipos d
se requiri la creacin de nuevos modelos o paradigmas para el desarrollo de las aplicacio
La programacin orientada a objetos es una forma de concebir un programa de computad
puede pensar en un programa como una lista de instrucciones que le indica a la computad
hacer, o un paquete de pequeos programas que responden a eventos especficos indicad
entrada del usuario.
La programacin orientada a objetos ve a un programa como un conjunto de objetos que c
entre s para resolver un problema.
El modelo orientado a objetos sirve para desarrollar sistemas de software con un alto grad
complejidad. Este modelo es tan importante que se cre el OMG (Object Management Gro
Administracin de Objetos, una agrupacin no lucrativa) para establecer las normas que r

INTRODUCCIN DE FUNDAMENTOS DE PROGRAMACIN DESDE CERO


INTRODUCCIN
Aunque pueda parecer extrao, buena parte de los quebraderos de cabeza a los que
nos enfrentamos programando derivan de no saber bien lo que queremos hacer. Esto
responde al siguiente esquema:
No podemos pretender desarrollar un programa simplemente en base a ideas,
intuiciones, nociones. Necesitaremos mtodos y esquemas claros que raramente
estarn en nuestra cabeza. Necesitarn de un trabajo de desarrollo.
El buen programador, al igual que el buen proyectista en arquitectura, ha de tener
claros cules son los pasos que va dando para desarrollar una construccin slida.
La precipitacin, la falta de reflexin o las prisas por terminar son malas consejeras.
Del maravilloso mundo de la programacin de ordenadores. Se estudiarn los
fundamentos de la algoritmia
Algoritmia: Es la ciencia y arte de disear algoritmos para la resolucin sistemtica
de problemas de cualquier ndole.

Es una
ciencia

Est sustentada en un
conjunto de modelos
matemticos.

ALGORITMIA

Es un arte

Requiere de grandes dosis


de heurstica y creatividad.

Esto es lo que no es recomendable hacer

Lo cual implica, simplemente, comenzar una tarea sin la preparacin


necesaria. En el ejemplo del edificio slo en situaciones de extrema sencillez
(por ejemplo levantar un cuarto) el resultado ser satisfactorio. En el resto de
los casos la falta de mtodo llevar a defectos o colapsos debido a la
ausencia de proyecto, planos, clculos, etc.
No podemos pretender desarrollar un programa simplemente en base a ideas,
intuiciones, nociones. Necesitaremos mtodo y esquemas claros que
raramente estarn en nuestra cabeza. Necesitarn de un trabajo de
desarrollo.
El buen programador, al igual que el buen proyectista en arquitectura, ha de
tener claros cules son los pasos a ir dando para desarrollar una construccin
slida. La precipitacin, la falta de reflexin o las prisas por terminar son malas
consejeras.

ALGORITMO: Definicin
Es un conjunto de pasos
lgicos
ordenados,
secuencialmente y finita,
escritos de tal forma que
permiten
visualizar
la
solucin de un problema
determinado en un momento
especfico.

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

ALGORITMO: Caracterticas
CONCRETO

FINITO

LEGIBLE

Debe realizar las


Debe
Deberealizar
generar
estar
indicarbien
un
el
Debe
las
Debe
Debe
estar
tener
libre
operaciones
con
un
Debe
ser...
mismo
estructurado
orden
resultado
deu
funciones
mnimo
terminar
de
errores.
endealgn
operaciones
para
siempre
realizacin
para su que
fcil
de
se
utilizacin
de
(Validado)
momento
lasentendimiento.
que
fue
creado.
cada
siga.
paso.
recursos.

EFICIENTE

NO
AMBIGUO

DEFINIDO
PRECISO

Aun cuando el estudiante no tenga una experiencia previa en la programacin de


ordenadores, es seguro que a lo largo de su vida ha ejecutado muchos algoritmos.
Un algoritmo es la especificacin detallada de los pasos necesarios para llevar a
cabo una tarea especfica. En la escuela, por ejemplo, aprendimos una serie de
pasos para realizar sumas, restas, multiplicaciones y divisiones, estos son
algoritmos (de hecho debemos la palabra 'algoritmo' al matemtico musulmn
MUHAMMAD IBN MUSA AL-JWARIZMI.
Una receta de cocina es uno de los ejemplos ms claros de algoritmo.
El conjunto de trmites que debe realizar en cualquier institucin pblica para la
expedicin de un documento, como por ejemplo, la licencia de conducir, tambin es
un algoritmo.
Un programa es un algoritmo hecho para ser ejecutado por un ordenador.

Por lo expuesto anteriormente, se pretende mostrar aspectos de la algoritmia: por un


lado, se presentarn tcnicas que ya son clsicas en la programacin, y por otro lado,
se intentar mostrar los problemas que pueden surgir al convertir la especificacin del
algoritmo en un programa que se ejecute satisfactoriamente.
Una analoga muy ilustrativa es la de comparar un algoritmo con:
Mientras que el programa sera anlogo al:

Una receta de
cocina

plato preparado
siguiendo dicha receta

Si usted es un cocinero novato, aun cuando tenga la receta de cocina en su mano y


siga metdicamente todos sus pasos, puede encontrar que al final el plato no es todo
lo apetitoso que usted desea, es ah donde entra en juego el arte, la capacidad de
innovar y refinar la receta con un toque personal. As como esa capacidad de integrar
la parte cientfica y tcnica con la parte artstica hace la diferencia entre el cocinero
novel y el chef ms avezado; tambin la hace entre un programador principiante y un
experto.

Quienes pueden hacer un


algoritmo
Toda persona, implcitamente y
diariamente disea y realiza
algoritmos, para dar solucin a
situaciones cotidianas de forma
natural.
Sin embargo el programador
disea el algoritmo consciente de
que al realizar cada paso
obtendr la solucin de un
problema especfico

Preparar caf
Ingredientes
. Agua
. Azcar.
.Caf

Preparacin
1.Ponga una tasa de agua en el recipiente
para calentar sobre la estufa.
2. Calienta el agua hasta justo antes de
hervir.
3. Vace el agua caliente en una tasa.
4.Agregue las cucharadas de caf que
desee.
5. Agregue las cucharadas de azcar que
desee.
6. Revuelva hasta que los ingredientes se
mezclen adecuadamente.

Caf preparado

PROGRAMA

ALGORITMO NATURAL

DIAGRAMACIN
Inicio

agua,azucar,cafe

1. Ponga una tasa de agua en el recipiente para calentar sobre la


estufa.
2. Calienta el agua hasta justo antes de hervir.
3. Vace el agua caliente en una tasa.
4. Agregue las cucharadas de caf que desee.
5. Agregue las cucharadas de azcar que desee.
6. Revuelva hasta que los ingredientes se mezclen adecuadamente.

Caf
preparado

Fin

ALGORITMO: Cmo se hace?


El no programador hara lo siguiente:
Buscar la pgina de cines
en elSupongamos
diario local y mirar
que si
ve la pelcula
anunciada.
deseamos
ir al
cine a verSila
la ve
anunciada
mira
tercera
pelcula
deen
Laqu
cine
la hacen
y se
va a
Guerra
delas
Galaxias,
verla.
Si noprocedemos?
la ve anunciada,
cmo
espera a los estrenos de
lasemana que viene.

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

ALGORITMO: Cmo se hace?


El programador sin embargo, lo hara de este otro modo:

Buscar la pgina de cines en el diario


local, con fecha de hoy
2

Revisar la cartelera de arriba abajo y de izquierda


a derecha, buscando entre los ttulos existentes.
Si se encuentra el ttulo La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su direccin y los horarios

Si no se encuentra el ttulo en la cartelera,


esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

ALGORITMO: Otro ejemplo


Encender un automvil
1. Poner la llave.
2. Asegurarse que el cambio est en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posicin arranque.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posicin encendido.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como mximo 5 veces).
7. Si el auto no arranca, llamar a la gra.
Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

ALGORITMO: Requisitos
Seguir los pasos del
Por ejemplo:
algoritmo
debe sellevarnos
Lossealgoritmos
crean el
SiNo
requiere
hallar
la
debemos
omitir
aparalaresolver
resolucin
del
velocidad
de de
un automvil,
contexto
nuestros
problema.
problemas.
es
necesario, definir si la
algoritmos.
Siempre
que sea
posible
Es
importante
que
junto
distancia
debe
ser
en
Es
necesario
establecer
seguiremos
al algoritmo,
metros,
kilmetros,
etc y y
lo
que
se
necesita
personalmente
los pasos
describamos
claramente
eldnde
tiempo
estar
dado en
se debe comenzar.
de
nuestro
algoritmo
el problema
que ste
segundos
u horas,
ya nos
que
para comprobar
son
resolver.que puede
lapermite
velocidad
efectivamente correctos y
representarse en Km/h
conducen efectivamente a
mts/seg.
la solucin esperada.
Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

Debe Definirse del


problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigedad

ALGORITMO: Tcnicas de
Diseo
Top Down
Est
Es una tcnica
tcnica de permite
diseo
dividir
el problema
descendente
donde se en
pequeas
partes, a las
realiza un refinamiento
cuales
se que
les da
solucin
sucesivo,
permite
por
luego se
darleseparado,
una organizacin
a
integran
las soluciones
las instrucciones,
en
para
el problema
formaresolver
de mdulos
o
principal.
bloques.

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

Divide y vencers

ALGORITMO: Tcnicas de
Representacin
Es una tcnica
Est
tcnica quepermite
permite representar
representar
el algoritmo
grficamenteunlas lenguaje
mediante
operaciones estructurado,
y
ms
estructuras que
van a
facilitando
su se
posterior
realizar, mediante una
codificacin.
simbologa estndar, con
un nico punto de inicio y
uno de finalizacin.

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

Diagrama de Flujo
Pseudocdigo
Inicio
Instruccin 1
Instruccin 2
Si condicin entonces
.. Instruccin 3
.
Instruccin n
Fin

PSEUDOCDIGO:Cmo se Hace?
1

Cada instruccin que se va a realizar


debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
Se debe mantener una identacin o sangra
sobre el margen izquierdo para identificar
fcilmente el comienzo y final de las estructuras

La representacin de las estructuras son


similares u homnimas de los lenguajes de
programacin, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

PSEUDOCDIGO:Cmo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la accin de introducir datos o variables
desde un dispositivo estndar de entrada.
Imprimir : Representa la accin de enviar datos desde
variables a un dispositivo estndar de salida.
Calcular : Denota la realizacin de cualquier operacin
aritmtica que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalizacin del algoritmo.

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realizacin
indicar
la
indicar
el punto
de
de Entrada
un proceso
de datos
matemtico,
desde
y finalizacin
del
uninicio
dispositivo
o una
operacin
estndar
de
diagrama
asignacin

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realizacin
indicar
la
indicar
el punto
de
de Entrada
un proceso
de datos
matemtico,
desde
y finalizacin
del
uninicio
dispositivo
o una
operacin
estndar
de
diagrama
asignacin

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Conectores
Impresin
Decisin
Flujo

Permite
establecer
Permiten
Permiten
dar
continuidad
enlazaruna
los
condicin

alsmbolos
diagrama
derelacional
siun
la sentido
pgina
lgica
que
puede
tomar
Indica
realizacin
de
o rea
nico
dela
trabajo
pueden
esta
ser
operaciones
salida a un
un
valor de el
verdadero
o
horizontales
llena,
odeverticales.
crculo
se
dispositivo
estndar
falso,
esteun
smbolo
se
utilizade
como
Estas
noconector
pueden
(el monitor o impresor.)
deducen
flujos
entrecruzarse
dentro
de
y cada
la 2misma
una
alternativos
de
pgina,
de ellasel
debe
otro tener
smbolo
un
nico smbolo
se defineejecucin.
de
como
partida
un
conector
y un nico
a otra
smbolo
pgina.
de
destino.

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Estructuras de Decisin (Condicin)

Decisin
Decisin
Decisin
DecisinMltiple
Simple
Compuesta
Anidada
Si

No
No No
Si
No
Condicin
Condicin
No
Condicin
Si
No
Condicin
Val1

Condicin

Val2

Si Si

Condicin
Val3
Otro

Caso
condicin
Si
condicin
entonces

Val1:
SiInstrucciones
condicinentonces
entonces
Si condicin
Instrucciones
Val2:
Instrucciones
Si
entonces
Instrucciones
si condicin
no
siVal3:
no
Instrucciones
Si
condicin entonces
Instrucciones
Instrucciones
Instrucciones
Otros:
si no
Instrucciones
Instrucciones
Fin Caso

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Estructuras de Ciclo

Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta

..
..

. v=valini, v=valfinal, inc


Para
.
Instrucciones

v=valini,v=valfinal, incremento
Instrucciones

Condicin
Instrucciones
Si

Condicin

Instrucciones

No

No

Repita
Mientras que condicin
..Instrucciones
Instrucciones
.Hasta que condicin
Fin Mientras
v:.. variable
..
valini:
valor inicial
.
.
valfinal:
valor final
inc: incremento

Mientras
Fin
Para

Si

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

ALGORITMO: Fases de Diseo

Algoritmo

Definicin del problema


Anlisis del problema
Seleccin de la mejor alternativa
Diagramacin
Prueba de escritorio

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

ALGORITMO: Seleccin de
Alternativa
Solucin ..1
Solucin ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrn
hacer de una mejor
forma.

La
que
produce
los Solucin ..5
Analizado
el problema
Lo importante
es
resultados Esperados en el
determinar
cul
Posiblemente
tengamos
menor tiempo y al menor
es la mejor alternativa
varias
costo formas de resolverlo
Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

Solucin ..2

ALGORITMO: Diagramacin

Una vez que


sabemos
cmo resolver el
problema

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

Dibujar
grficamente
la lgica de la
alternativa
seleccionada

Plasmar la
solucion
mediante el
Pseudocdigo

ALGORITMO: Prueba de Escritorio


Esta prueba consiste en:

Al
lo anterior
Es
Recomendable
Serealizar
utiliza
parase
Dar
diferentes
datosdesi el
Dar
diferentes
datos
puede
comprobar
corroborar
quetodosel
de entrada
al programa
entrada
y considerar
algoritmo
es plasmado
correcto
algoritmo
los
posibles casos,
an los o
de
en si hayo necesidad
cualquier
excepcin
no esperados,
para
asegurar
que
elindicada
seguir
la secuencia
herramienta
presenta
de
hacer
ajustes
programa no produzca
la
solucin
al
errores
enalejecucin
cuando
(volver
paso anterior)

problema
se
presenten inicial
estos casos.

hasta
obtener los resultados

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

Dato
La palabra proviene del latn datum, forma
del verbo dare dar, que significaLo que es
dado

Representacin de una informacin de


manera adecuada para su tratamiento por un
ordenador

Dato
Son representaciones
objetos,
hechos,
conocimientos.
Ejemplos
15
25 C
25 m
31-10-2005
Febrero
Mara Prez

simblicas de
instituciones,

Informacin
Los datos organizados o procesados
adquieren
significado
y
proporcionan
conocimiento
o
desencadenan
un
comportamiento sobre los hechos u objetos
que lo originaron
La informacin se resumen en :
Datos + significado

Informacin
Un grupo de datos es informacin
Datos: 19- Marzo Maria 20 ptos.
Informacin: El 19 de marzo se public en
acta la calificacin de 20 ptos para Mara
El principal objetivo de la informacin
consiste en aumentar el conocimiento o
reducir la incertidumbre.

Informacin
Ejemplos
Juan tiene 15 aos
25 C fue la temperatura de esta maana.
El edificio Robles mide 25 m de altura
La fecha de hoy es 31-10-2005
Febrero tiene 28 das y 29 si el ao es bisiesto.
Mara Prez es un nombre muy comn

Problema
Es un asunto o un conjunto de cuestiones que
se plantean para ser resueltas.
La naturaleza de los problemas vara con el
mbito o el contexto: problemas matemticos,
qumicos, filosficos, etc.
Es importante que al abordar un problema se
tenga una descripcin simple y precisa del
mismo, de lo contrario resultara complejo
modular, simular, o programar su solucin en
un ordenador.

Problema
Un programador es una persona que resuelve
problemas, y para llegar a ser un programador
eficaz se necesita aprender a resolver problemas
de un modo riguroso y sistemtico

Problema

Diseo Algoritmo
Anlisis

Programa

Problema
Algunos de los pasos para solucionar un problema son:

Anlisis: consiste en el estudio detallado del problema.


Se debe identificar los datos de entrada, de salida y la
descripcin del problema.
Diseo del algoritmo, que describe la secuencia
ordenada de pasos que conduce a la solucin de un
problema dado.
Expresar el algoritmo como un programa en un
lenguaje
de
programacin
adecuado
(Fase
de
Codificacin)
Ejecucin
computador

validacin

del

programa

por

el

Algoritmo
Etimologa:
Proviene
del
nombre
del
matemtico persa Mohammed Al-khowanzmi,
cuyo apellido traducido al latn es Algorismus
Conjunto de acciones
secuencia de operaciones
para resolver un problema

que especifican la
realizar, en orden,

Los algoritmos son independientes tanto del


lenguaje
de
programacin
como
del
computador que los ejecuta.

Algoritmo
Finito:

un algoritmo siempre debe terminar despus de un


nmero finito de pasos

Definido: si se sigue un algoritmo dos veces se debe obtener el

mismo resultado

Preciso:

indicar exactamente el orden de realizacin de


las instrucciones

Algoritmo
Ejemplo tradicional de un algoritmo: Cambiar la rueda
pinchada de un coche

Algoritmo

1. Buscar herramientas, rueda de repuesto y tringulo


de sealizacin
2. Ubicar el tringulo en el lugar adecuado
3. Ir al lugar de la rueda averiada
4. Sacar las tuercas
5. Colocar el gato
6. Levantar el coche

Algoritmo

7. Sacar la rueda
8. Colocar la rueda de Repuesto
9. Colocar las tuercas
10. Apretar las tuercas
11. Guardar las herramientas
FIN

Algoritmo
Fases de Desarrollo de un Algoritmo
Fase

Producto

Anlisis

Especificacin

Diseo

Algoritmo

Codificacin

Programa

Compilacin
Interpretacin

Prog. Ejecutable

Pruebas

Aplicacin

Algoritmo
Fase de Anlisis:
Anlisis consiste en el estudio detallado del
problema con el fin de obtener una serie de documentos
(especificacin) en los cuales quedan totalmente definido
el proceso a seguir en la automatizacin

Estudio detallado

Documentos de Especificacin

Algoritmo
Diseo:
Diseo consiste en la realizacin del algoritmo que
resuelve el problema de acuerdo a la especificacin dada
en la fase anterior. El algoritmo se representa mediante
pseudocdigo.
Algoritmo PRUEBA
Inicio
Variables
A,B,C: entero
Leer(A,B)
CA+B
Escribir (C)
Documentos de
Especificacin

Fin

Algoritmo
Codificacin:
Codificacin consiste en la traduccin del algoritmo a
un programa escrito en un lenguaje de programacin
Algoritmo Sumar
Inicio
Variables
A,B,C: entero
Leer(A,B)
CA+B
Escribir (C)
Fin

Programa escrito
en un Lenguaje de Programacin

Algoritmo
Compilacin/Interpretacin:
Compilacin/Interpretacin consiste en obtener el
programa ejecutableobjeto a partir del programa fuente.

Programa Ejecutable
Programa fuente

Algoritmo
Prueba:
Prueba consiste en determinar si el programa funciona
correctamente y realiza las operaciones que esperamos
de l.

Programa Ejecutable

Aplicacin

Lenguajes de programacin
Lenguaje:
Lenguaje conjunto de reglas y convenciones que se utilizan
para comunicar informacin.
Lenguaje de Programacin:
Programacin es un lenguaje que permite la
traduccin de un algoritmo para que sea entendible por el
computador. Son los lenguajes utilizados para escribir
programas de ordenadores.
Tipos de Lenguaje de Programacin:
Programacin
Lenguaje de Mquina
Lenguaje de Bajo Nivel (Ensamblador)
Lenguaje de Alto Nivel

Lenguaje de mquina
Son aquellos que estn escritos en lenguaje
directamente inteligibles por la mquina, ya que sus
instrucciones son cadenas binarias (0s ,1s) que
especifican una operacin.
Las instrucciones en lenguaje mquina dependen del
Hardware de la computadora, difiere de una PC a otra.
La ventaja de los lenguajes mquina es que ofrecen
mayor velocidad de ejecucin.
Existen algunas desventajas: dificultad y lentitud en la
codificacin, poca fiabilidad, los programas no son
portables.

Ejemplo Lenguaje Mquina


11001010
00010111
11001010
00010111
11001010
11001010
11001010
11001010
00010111
11001010

00010111
11110101
00010111
11110101
11110101
11001010
11110101
00010111
11110101
11110101

11110101
00101011
11110101
00101011
00101011
11110101
00101011
11110101
00101011
00101011

00101011
00101011
00101011
00101011
00101011
00101011
00101011
00101011
00101011
00101011

Lenguaje de bajo nivel


Son lenguajes que permiten escribir programas con
instrucciones similares al lenguaje humano.
Son ms fciles de utilizar que los lenguajes de
mquina, pero stos tambin dependen de la mquina en
particular.
El mejor ejemplo es el lenguaje ensamblador
Un programa escrito en lenguaje ensamblador requiere
una fase de traduccin.
Entre las desventajas tenemos: que este lenguaje
depende de la mquina y demanda una mayor exigencia
para los programadores, ya que deben conocer tanto las
tcnicas de programacin as como el interior de la
mquina

Ejemplo Lenguaje Ensamblador


; HOLA.ASM
STACK SEGMENT STACK
DW 64 DUP (?)
STACK ENDS

; Segmento de pila
; Define espacio en la pila

DATA
SEGMENT
; Segmento de datos
SALUDO
DB "Hola mundo!!",13,10,"$" ; Cadena
DATA
ENDS
INICIO:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET SALUDO
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE
ENDS
END INICIO

; Punto de entrada al programa


; Pone direccin en AX
; Pone la direccin en los registros
; Obtiene direccin del mensaje
; Funcin: Visualizar cadena
; Servicio: Funciones alto nivel DOS
; Funcin: Terminar
; Marca fin y define INICIO

Lenguaje de alto nivel


Son los ms utilizados por los programadores
Son independientes de la mquina
Los programas
portables

escritos

en

estos

lenguajes

son

Aumento de la ocupacin de la memoria


Las estructuras de los programas se basan en reglas
sintcticas
Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual
Basic, Delphi, Java,...

Ejemplo Lenguaje alto nivel


#include <stdio.h>
int main(void)
{
printf("Hola, Mundo\n");
}

Traductores de Lenguaje
Traductores de Lenguajes:
Lenguajes son programas que traducen
a su vez los programas fuentes escritos en lenguajes de
alto nivel a cdigo mquina. Estos se dividen en
intrpretes y compiladores.

Etapas de programacin
Cdigo Fuente
Modificacin del
programa fuente
SI
Errores
SI
lgicos
Tiempo de
I
Spruebas

Compilador
APLICACIN
Existen
No
BUENA PROGRAMACIN
Errores

Cdigo objeto
Linkado/
Interpretacin

N
O

Existen
Errores
No

Existen
Errores

Errores
lxicos
Tiempo de
compilacin

Pruebas

Programa
Ejecutable
Errores de
ejecucin
Tiempo de
ejecucin

Potrebbero piacerti anche