Algoritmos
-
Upload
jose-luis-arellano-camacho -
Category
Documents
-
view
9 -
download
1
Transcript of Algoritmos
17/08/2010
1
ALGORITMOSALGORITMOS
Informática IndustrialInformática Industrial
MR 1001MR 1001
Gilberto Hernández HerreraGilberto Hernández [email protected]@itesm.mx
SeudocódigoSeudocódigo
oo Es un lenguaje informal que ayuda a los Es un lenguaje informal que ayuda a los programadores a desarrollar los algoritmos. programadores a desarrollar los algoritmos.
oo Es útil para desarrollar algoritmos que deberán ser Es útil para desarrollar algoritmos que deberán ser convertidos en programas estructurados de C. convertidos en programas estructurados de C.
oo Es similar al lenguaje coloquial; cómodo y Es similar al lenguaje coloquial; cómodo y amigableamigable
oo No es un lenguaje de programación de No es un lenguaje de programación de computadoras computadoras
oo Los programas en seudocódigo no son ejecutables Los programas en seudocódigo no son ejecutables en computadoras. en computadoras.
oo Sólo ayudan al programador “a pensar” un Sólo ayudan al programador “a pensar” un programa, antes de escribirlo en un lenguaje de programa, antes de escribirlo en un lenguaje de programación como C. programación como C.
17/08/2010
2
SeudocódigoSeudocódigo
o Es un lenguaje informal que ayuda a los programadores a desarrollar algoritmos.
o Es útil para desarrollar algoritmos que deberán ser convertidos en programas estructurados de C.
o Es similar al lenguaje coloquial; cómodo y amigable
o No es un lenguaje de programación de computadora
o Sólo ayudan “a pensar” un programa, antes de escribirlo en un lenguaje de programación como C.
algoritmo algoritmo
Es un conjunto de instrucciones Es un conjunto de instrucciones generalmente muy precisas generalmente muy precisas
para realizar una tarea determinada. para realizar una tarea determinada.
un libro de recetas es una colección de algoritmos
Los algoritmos matemáticos no son más que recetas mediante las cuales se realizan operaciones como la adición y la multiplicación,
Cualquier persona experimentada en armar rompecabezas desarrolla una especie de algoritmo para hacerlo
17/08/2010
3
Algoritmos empleando Algoritmos empleando seudocódigoseudocódigo
Algoritmo de un día de trabajo. Algoritmo de un día de trabajo.
1. despertar en la mañana
2. levantarse de la cama
3. bañarse, vestirse y arreglarse
4. desayunar
5. dirigirse al trabajo (transporte)
6. llegar a trabajar
Algoritmo para realizar la operación:
1. pedir valores de x, w, t y r 2. realizar la multiplicación de x por x 3. sumarle el valor de w 4. restarle el valor de t 5. guardar el resultado en R16. restar x a r 7. multiplicar por 8 8. guardar en R29. dividir el resultado R1 entre R210. presentar el resultado
17/08/2010
4
Ejemplos de Algoritmos empleando seudocódigo
Como se prepara Sopa de TortillaSopa de Tortilla : • Corta la tortillas en tiras de 1.5 x 7 centímetros
aproximadamente y fríelas en abundante aceite; escúrrelas sobre papel absorbente y reserva. Fríe los chiles y córtalos en tiras delgadas; reserva. Asa los jitomates junto con el ajo y la cebolla; licúalos con el caldo y el sazonador. Vierte en ena cacerola con un poco de aceite caliente, baja la flama y deja que hierva hasta que se sazone. Sirve las tiras de tortillas en platos hondos y vierte el caldillo de jitomate. Acompaña con el queso, chicharrón, los chiles, la crema y el aguacate.
Ejemplos de Algoritmos empleando seudocódigo
Como se prepara Ceviche de PescadoCeviche de Pescado : Picar o rallar el pescado y salpimentarlo. Exprimir el jugo de los limones hasta cubrir el pescado por una hora. Picar finamente el chile, unas ramitas de cilantro; El pepino sin semilla y la cebolla en cuadritos. La zanahoria se ralla. Ya que es curtido el pescado, quitar el exceso de jugo de limón, agregar todo lo picado y revolver. Servir en tostadas.
17/08/2010
5
Ejemplos de Algoritmos empleando seudocódigo
•• D F R2 (F R’)2D F R2 (F R’)2
Ejemplos de Algoritmos empleando seudocódigo
•• D F R2 (F R’)2D F R2 (F R’)2
17/08/2010
6
Ejemplos de Algoritmos Ejemplos de Algoritmos empleando seudocódigoempleando seudocódigo
Diferencia entre Diferencia entre Algoritmo y HeurísticaAlgoritmo y Heurística
¿ Cuál es la mejor forma de ganar ?
No existe…. Una heurística no garantiza el éxito
17/08/2010
7
DIAGRAMAS DE FLUJO DIAGRAMAS DE FLUJO
Estructuras de control Estructuras de control Todos los programas pueden ser escritos en términos de tres estructuras de control:
- la estructura de secuencia, - la estructura de selección - la estructura de repetición.
Ejecución secuencial: Ejecución secuencial: En un programa los enunciados son ejecutados uno después del otro, en el orden en que aparecen escritos.
diagrama de flujo diagrama de flujo
Representación gráfica de un algoritmo o de una porción de un algoritmo.
Se trazan con símbolos como: rectángulos, diamantes, óvalos y pequeños círculos
Los símbolos están conectados entre sí por flechas, conocidas como líneas de flujo.
17/08/2010
8
SecuenciaSecuencia
SelecciónSelección
17/08/2010
9
SelecciónSelección
SelecciónSelección
17/08/2010
10
RepeticiónRepetición
RepeticiónRepetición
17/08/2010
11
RepeticiónRepetición
Cada acción puede reemplazarse Cada acción puede reemplazarse con otra estructura de controlcon otra estructura de control
17/08/2010
12
EJEMPLOSEJEMPLOS
•• MultiplicaciónMultiplicación•• FactorialFactorial•• PotenciaPotencia
Algoritmos
MultiplicaciónX , Y
Inicio
X = 0
CM = Y M = 0
Y = 0
M = M + X
CM = CM – 1
CM = 0
FIN
NO
NO
NO
SI
SI
SI
M = X x Y
X Y CM M
17/08/2010
13
Algoritmos y programación en ensamblador
Factorial
F = N !
5! = 5 x 4 x 3 x 2 x 1
El factorial de un número entero positivo se define como el producto de todos los números naturales anteriores o iguales a él. Se escribe n!, y se lee "n factorial". (Por definición el factorial de 0 es 1: 0!=1)
Pseudocódigo
N
Inicio
N = 0
CF = N-1 , F = N
N = 1
F = F x CF
CF = CF – 1
CF = 0
FIN
F = 1
NO
NO
NO
SI
SI
SI
Algoritmos y programación en ensamblador
Factorial
F = N !
5! = 5 x 4 x 3 x 2 x 1
N F CF
17/08/2010
14
N
Inicio
N = 0
CF = N - 1 , F = N
N = 1
F = F x CF
CF = CF – 1
CF = 0
FIN
F = 1
NO
NO
NO
SI
SI
SI
Algoritmos y programación en ensamblador
Factorial
M = M + F
CM = CM – 1
CM = 0NO
SI
M = 0
CM = CF
F = M
F = N !
F = F x CF
N
Inicio
N = 0
CF = N -1 , F = N
N = 1
CF = CF – 1
CF = 0
FIN
F = 1
NO
NO
NO
SI
SI
SI
Algoritmos y programación en ensamblador
Factorial
M = M + F
CM = CM – 1
CM = 0NO
SI
M = 0
CM = CF
F = M
F = N !
17/08/2010
15
Algoritmos y programación en ensamblador
Potencia
P = Xy
23 = 2 x 2 x 2
32 = 3 x 3
33 = 3 x 3 x 3
X Y
Inicio
Y = 0
CP = Y , P = 1
X = 0
P = P x X
CP = CP – 1
CP = 0
FIN
P = 0
NO
NO
NO
SI
SI
SI
Algoritmos y programación en ensamblador
Potencia
P = Xy23 = 2 x 2 x 2
32 = 3 x 3
17/08/2010
16
Realizar algoritmos
en RAPTORen RAPTOR
Diseño de algoritmos usando RAPTOR
• http://raptor.martincarlisle.com/