Beruflich Dokumente
Kultur Dokumente
ndice
Lgica de programacin
Programacin estructurada
Diagramas de flujo
Pseudocdigo
Elementos de programacin
Inicio y fin
Tipos de datos
Estructuras de control del flujo
Estructuras de seleccin
Simple
Doble
Anidada
Mltiple
Estructuras iterativas
Controladas por contador
Controladas por centinela I
Controladas por centinela II
Problemas propuestos
Lenguajes de alto y bajo nivel, intrpretes y compiladores
Problema
Anlisis
Algoritmo
Codificacin
Programa
Ejecucin
Resultado
Inicio
Aadir 200gr queso fresco
T = 0 min.
Al horno
Aadir 2 huevos
Hecho?
no
Batir
Masa fina?
s
T = T+5 min.
no
Fin
Lgica de programacin
Programacin estructurada
Cdigos legibles, no solo para iniciados
Buena estructura (formato que se usa al redactar un programa)
Tipos de bloques
(suficientes)
Secuencial
Bucle o iteracin
Seleccin
Diagramas de flujo
Diagramas de flujo u organigramas son esquemas que
se emplean para representar grficamente un algoritmo.
Representan el flujo de informacin.
Smbolos estndar:
Reglas
Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a
derecha.
Los smbolos se unen con lneas, las cuales tienen en la punta una flecha que indica la
direccin que fluye la informacin, se deben de utilizar solamente lneas de flujo
horizontal o verticales (nunca diagonales).
Se debe evitar el cruce de lneas, para lo cual se quisiera separar el flujo del diagrama
a un sitio distinto, se pudiera realizar utilizando los conectores.
Se debe tener en cuenta que solo se deben utilizar conectores cuando sea
estrictamente necesario.
Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso de
muchas palabras.
Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del
smbolo final.
Solo los smbolos de decisin pueden y deben tener ms de una lnea de flujo de
salida. El smbolo inicial slo tiene una salida.
Pseudocdigo
Lenguaje de alto nivel para describir algoritmos,
aunque algo ms prximos a la computadora que
los diagramas de flujo.
Do
If Hecho
Listo
Else
Listo
End If
Tiempo
While Listo
Tiempo
1
5 min.
Diagramas de Flujo
% En pseudo cdigo no es
usual indicar el principio y
el final de un algoritmo
Diagramas de Flujo
Tipos de datos
Pseudocdigo
Pseudocdigo
% Los datos no es necesario
declararlos (i.e. especificar el
tipo), pero es conveniente
inicializarlos (asignacin)
5.0
Print N
Tamao en bits
Rango representado
byte / char
short int
16
215,215
32768, 32767
int
32
231,231
long int
64
263,263
9 1018, 9 1018
27 ,27
128,127
Tipo
Long. palabra
Mantisa en bits
Exponente en bits
Rango representado
double
64
52 (+1)
10 (+1)
10308 ,10308
~ 15
float
32
23 (+1)
7 (+1)
1038 ,1038
~7
Precisin en dgitos
Operaciones artimticos
Operadores aritmticos
Operadores lgicos
Suma
Resta
Mayor que
*
/
Producto
Menor que
Divisin
Potencia
Parntesis (precedencia)
Distinto de
...
...
AND
Producto lgico
OR
Suma lgica
...
...
Simple
La estructura general es
Diagramas de Flujo
End If
Pseudocdigo
Input numero
If numero
Doble
Bloque_if
La estructura general es
Else
Bloque_else
End If
Diagramas de Flujo
Pseudocdigo
Input numero
If numero
Else
Output Menor que 5.
End If
Anidada
La estructura general es
Diagramas de Flujo
Pseudocdigo
numero
Input
If
numero
numero
Output Igual a 5.
Else
Output Menor que 5.
End If
End If
Mltiple
Para enteros o carcteres
La estructura general es
Diagramas de Flujo
Case <valor2>:
Bloque_valor2
End Case
Default :
Bloque_default
End Case
End Switch
Pseudocdigo
Input numero
Switch numero
Case 4:
Output Igual a 4.
End Case
Case 3:
Output Igual a 3.
End Case
Case 2:
Output Igual a 2.
End Case
Case 1:
Output Igual a 1.
End Case
Default :
Output Otro caso.
End Case
End Switch
Estructuras de iterativas
Bloque_for
Pseudocdigo
% Contiene 4 partes importantes:
1. El valor en el que comienza el bucle
2. La condicin bajo la cual el bucle
continua
3. Los cambios que tienen lugar en cada
bucle
4. Las instrucciones del bucle
While <condicin>
Bloque_while
End While
Diagramas de Flujo
Pseudocdigo
i=1
While i<11
Print I
i = i +1
End For
Do
Bloque_do-while
While <condicin>
Diagramas de Flujo
Pseudocdigo
i=1
do
Print I
i = i +1
While i<11
2.
3.
4.
5.
h(t )
40 e
0.005 t
0.15 t
Las rdenes que se le suministran a una computadora tienen un sintxis estricta y una semntica bien
definida (despus de todo son mquinas). En analoga a un lenguaje hablado y escrito, todo lo
relacionado con las reglas y los smbolos que pueden utilizarse para desarrollar un programa constituyen
un lenguaje de programacin.
....
10101101
10111100
....
Lenguaje Ensamblador:
Es un intermedio entre un lenguaje mquina y el que nosotros empleamos
Incorporan caracteres.
Reglas nemotcnica para especificar operaciones a nivel de registro y direccin de memoria.
....
MOV r1, d3
ADD d3, d6
....
....
Programas traductores
Intrpretes
Trata un programa fuente instruccin a instruccin
Comprueba el lxico y la semntica
Y va ejecutando las instrucciones una a una
p.ej Basic, Matlab (ojo)
....
Intrprete
if (tiempo == 1800){
printf(Saca tarta del horno. \n);
}
else{
printf(Incrementa el tiempo. \n);
tiempo = tiempo + 600;
}
....
Compilador
Programa Objeto
L1
M1
L2
M2
L3
M3
(Lenguajes)
(Mquinas)
x6 traductores
x9 traductores
Compiladores
A partir del programa fuente genera un programa objeto (en binario o lenguaje mquina)
Comprueba el lxico y la semntica
Slo realiza una vez la traduccin
A veces, no genera directamente la traduccin a L. Mquina, sino a un lenguaje intermedio.
L1
L2
L3
(Lenguajes)
(L. Intermedio)
M1
M2
M3
(Mquinas)
Editor de texto
Cdigo fuente
Compilador
Otros objetos
y bibliotecas
Objeto
Enlazador
Ejecutable
Definiciones