diseño de algoritmos - extropy now! · definición de algoritmo algoritmo, según la real...
TRANSCRIPT
![Page 1: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/1.jpg)
Diseño de Algoritmos
Por:
Dr. Nelson Rangel Valdez
![Page 2: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/2.jpg)
Primer Etapa de un Algoritmo
![Page 3: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/3.jpg)
Etapas de Diseño
![Page 4: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/4.jpg)
Actividad 1
1. Describa la solución del siguiente problema en una
hoja en blanco, siguiendo cada una de las indicaciones
que aparecen en el documento.
![Page 5: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/5.jpg)
Definición de Algoritmo
Algoritmo, según la Real Academia, es un conjunto
ordenado y finito de operaciones que permite encontrar
la solución a un problema cualquiera.
Los algoritmos datan
desde la época de
Babilonia, en el siglo
XVIII a.c.
![Page 6: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/6.jpg)
Diseñar Algoritmos
Luego de analizar detalladamente el problema hasta
entenderlo completamente, se procede a diseñar un
algoritmo que lo resuelva por medio de pasos sucesivos
y organizados en secuencia lógica.
![Page 7: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/7.jpg)
Ejemplo 1:
Encontrar el Máximo Común Divisor
28 12
A B
![Page 8: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/8.jpg)
Ejemplo 1:
Encontrar el Máximo Común Divisor
28
A 1 : 28/1=28
3 : 28/3=9.3
2 : 28/2=14
4 : 28/4=7
6 : 28/6=4.6
5 : 28/5=3.6
7 : 28/7=4
9 : 28/9=3.1
8 : 28/8=3.4
10 : 28/10=2.8
12 : 28/12=2.3
11 : 28/11=2.6
13 : 28/13=2.1
14 : 28/14=2
28: 28/28=1
![Page 9: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/9.jpg)
Ejemplo 1:
Encontrar el Máximo Común Divisor
28
A 1 : 28/1=28
3 : 28/3=9.3
2 : 28/2=14
4 : 28/4=7
6 : 28/6=4.6
5 : 28/5=3.6
7 : 28/7=4
9 : 28/9=3.1
8 : 28/8=3.4
10 : 28/10=2.8
12 : 28/12=2.3
11 : 28/11=2.6
13 : 28/13=2.1
14 : 28/14=2
28: 28/28=1
Divisores
1,2,4,
7,14,28
![Page 10: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/10.jpg)
Ejemplo 1:
Encontrar el Máximo Común Divisor
12
B 1 : 12/1=1
3 : 12/3=4
2 : 12/2=6
4 : 12/4=3
6 : 12/6=2
5 : 12/5=2.4
7 : 12/7=1.7
12 : 12/12=1
![Page 11: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/11.jpg)
Ejemplo 1:
Encontrar el Máximo Común Divisor
12
B
Divisores
1,2,3,
4,6,12
1 : 12/1=1
3 : 12/3=4
2 : 12/2=6
4 : 12/4=3
6 : 12/6=2
5 : 12/5=2.4
7 : 12/7=1.7
12 : 12/12=1
![Page 12: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/12.jpg)
Ejemplo 1:
Encontrar el Máximo Común Divisor
A=28
Divisores
1,2,3,4,6,12
Divisores
1,2,4,7,14,28
B=12
![Page 13: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/13.jpg)
Solución Ejemplo 1:
28 12
A B MCD
4
![Page 14: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/14.jpg)
Documentando el Algoritmo
![Page 15: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/15.jpg)
Lenguaje Común
Algoritmo: Máximo Común Divisor:
1. Encontrar los Divisores del Primer Valor A
2. Encontrar los Divisores del Segundo Valor B
3. Encontrar los Divisores comunes a A y B.
4. El MCD Encontrar el valor más grande entre los
divisores comunes.
![Page 16: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/16.jpg)
Descripción Algorítmica
Algoritmo 2: Máximo Común Divisor:
1. Inicio
2. Leer los dos números A y B. Avanzar al paso 3.
3. Comparar A y B para determinar cuál es mayor, Avanzar al paso
4.
4. Si A y B son iguales, entonces ambos son el resultado esperado y
termina el algoritmo. En caso contrario, avanzar al paso 5.
5. Si A es menor que B, se deben intercambiar sus valores y avanzar
al paso 6. Si A no es menor que B, avanzar al paso 6.
6. Realizar la operación A menos B, asignar el valor de B a A y
asignar el valor de la resta a B. Ir al paso 3.
![Page 17: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/17.jpg)
Pseudocódigo
Algoritmo 3: Máximo Común Divisor:
1. Begin
2. Leer A,B
3. Si A <= B then
1. Si A = B then, Imprimir el MCD es A, goto 8
2. Si no, Intercambiar(A, B), goto 4
4. aux = A – B
5. A = B
6. B = aux
7. goto 3
8. End
![Page 18: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/18.jpg)
Diagrama de Flujo de Datos
![Page 19: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/19.jpg)
Inicio
A, B
A<=
B
A=B MCD es A
Fin
Intercambiar(A
,B)
aux=A-B
A=B
B=aux
si
no
si no
![Page 20: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/20.jpg)
Diagrama de Flujo de Datos
Terminador, Inicio, Fin
Operaciones Básicas:
Suma, Resta, Multiplicación y
División
![Page 21: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/21.jpg)
Diagrama de Flujo de Datos
Lectura de Datos de parte del
Usuario
Impresión de Datos en Pantalla,
Documento, etc.
![Page 22: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/22.jpg)
Diagrama de Flujo de Datos
Línea de Flujo
Decisión
![Page 23: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/23.jpg)
Actividad 2
1. Describa la solución por medio de lenguaje común,
descripción algorítmica, pseudocódigo y DFD del
problema que se presentan a continuación en una hoja en
blanco.
![Page 24: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/24.jpg)
Actividad 3
1. Describa la solución, mediante un algoritmo, de los
problemas: Empaquetado, Ayudando a Peter, y La Mayor
Ruta Ascendente. Cada uno en una Hoja por Separado.
Solo use una de las estrategias mostradas.
![Page 25: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/25.jpg)
Fin
![Page 26: Diseño de Algoritmos - Extropy NOW! · Definición de Algoritmo Algoritmo, según la Real Academia, es un conjunto ordenado y finito de operaciones que permite encontrar la solución](https://reader030.vdocuments.net/reader030/viewer/2022040408/5eb71f7f550a09357271ee80/html5/thumbnails/26.jpg)
Problema 1
En cada una de las 64 casillas de un tablero de ajedrez
hay un grano de azúcar. Una hormiga comienza en un
vértice del tablero, come el azúcar, y se traslada a una
casilla adyacente, desplazándose en dirección horizontal
o vertical (pero nunca en diagonal). Continúa de este
modo hasta acabar con todo el azúcar, y sin pasar dos
veces por una misma casilla. ¿Es posible que su trayecto
finalice en el vértice diagonalmente opuesto al inicial?