SlideShare una empresa de Scribd logo
1 de 37
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Metodología para la
Creación de Algoritmos
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaAlgoritmo
Un algoritmo es una lista de actividades que se preparan
para la realización de una tarea.
Esta idea no sólo está relacionada con las computadoras,
sino que pertenece al campo de casi todas las actividades
humanas.
Ejemplos:
Receta de Cocina
Mapa del Tesoro
Partitura Musical
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
¿Qué pasaría, si el ingeniero civil o el
arquitecto construye una casa o un
edificio sin hacer sus planos, proyectos
o maquetas?
¿Permitirías que tu propio cirujano te
interviniera sin hacer los estudios
respectivos para obtener las evidencias
del problema de salud que te aqueja?
Metodología de Resolución de Problemas con
Algoritmos
¿Permitirías a tu abogado que te defendiera
sin conocer las pruebas y sin un plan para tu
defensa?
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
El desarrollo de una solución a la medida de un
problema requiere una metodología que
gradualmente nos lleve a una efectiva solución del
problema.
Para poder realizar programas, además de conocer
la metodología mencionada, también se debe de
conocer las funciones que puede realizar el
computador y las formas en que se pueden manejar
los elementos que hay en el mismo.
Metodología de Resolución de Problemas con
Algoritmos
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
IMPLEMENTACIÓN
ANÁLISIS
DISEÑO
Desarrollo de
Algoritmos
Verificación del
Algoritmo
Codificación del
algoritmo
Compilación y
ejecución del
programa
Prueba y
Depuración
Documentación
Mantenimiento
Fases
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Que se va a hacer?
Ayuda a comprender la naturaleza del problema
Los problemas deben estar bien definidos
Realizar un examen bien cuidadoso del problema:
“Lo que piden” Vs “Lo que necesitan” Vs “Lo posible”
Mientras no se conozca totalmente el problema y lo
que se desea que realice el computador, no tiene
mucho caso continuar con la siguiente etapa
Análisis
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
1. Trabajo de campo
a. Idea General: se hace un estudio superficial del problema
(enunciado del problema).
Pasos para realizar un buen Análisis
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
1. Trabajo de campo
b. Se especifican los Requisitos, se hace un estudio profundo
(definición clara y precisa).
- Datos de entrada.
- Datos de salida: información que se desea producir.
- Datos auxiliares: datos que pueden servir para realizar mejor un
proceso, pero que no son de gran importancia para que éste cumpla su
objetivo final.
- Proceso: Métodos y fórmulas que se necesitan para procesar los datos.
Pasos para realizar un buen Análisis
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
2. Indagar otros datos, condiciones y restricciones que
afecten la resolución del problema.
Pasos para realizar un buen Análisis
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
¿Cómo se va a hacer?
Se determina como el programa va a hacer la tarea
solicitada.
Debe estar bien definido, no se debe permitir dobles
interpretaciones.
Diseño
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
1. Desarrollo del algoritmo
• Partes de un algoritmo
• Pasos para el desarrollo de un algoritmo
• Notación y representación de algoritmos
Pasos para realizar un buen diseño
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
2. Verificación del algoritmo
• Prueba de Escritorio
Pasos para realizar un buen diseño
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaPartes de un algoritmo
Entradas: Información dada al algoritmo
Instrucciones: Operaciones necesarias
para realizar un proceso
Salidas: Respuestas obtenidas al finalizar
el algoritmo
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
1. Diseño ascendente: (Top-Down Design):
Dividir el problema original en otros más simples y luego dividir estos
subproblemas en otros más simples, y así sucesivamente.
Se hace un esbozo.
Pasos para el desarrollo de un algoritmo
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
2. Refinamiento sucesivo:
Descripción mas detallada con pasos más específicos del problema.
Se hacen varios niveles de refinamiento hasta que la solución sea
clara, precisa y completa.
Pasos para el desarrollo de un algoritmo
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
3. Representación del algoritmo en una herramienta de
programación:
El lenguaje del algoritmo debe ser independiente del lenguaje de
programación. Herramientas: Diagramas de flujo, Pseudocódigo,
Diagrama Nassi-Schneiderman (N-S).
Pasos para el desarrollo de un algoritmo
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaEjemplo
Qué hacer para ver la película Superman Regresa?
Ir al Cine Comprar una entrada Ver la película Regresar a casa
ver cartelera de cine en el periódico
si proyectan “Superman Regresa”
ir hasta el cine
si no
buscar otra actividad
si hay fila entonces
ponerse en ella
mientras haya personas delante
avanzar en la cola
si hay entradas entonces
comprar una entrada
pasar a la sala
localizar la butaca
mientras proyectan la película
ver la película
si no
refunfuñar
...
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Inicio
ver cartelera de cine en el periódico
si proyectan “Superman Regresa”
ir hasta el cine
si no
buscar otra actividad
fin
fin_si
si hay fila entonces
ponerse en ella
mientras haya personas delante
avanzar en la cola
fin_mientras
fin_si
si hay entradas entonces
comprar una entrada
pasar a la sala
localizar la butaca
mientras proyectan la película
ver la película
fin_mientras
si no
refunfuñar
fin_si
volver a casa
Fin
Inicio
caminar hasta llegar a la prim
repetir
comparar números de fila
si no son iguales
pasar a la siguiente
hasta que se localice la fila c
mientras número de silla no
avanzar a la siguiente silla
fin_mientras
sentarse en la butaca
Fin
localizar la butaca
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaNotación y Representación de Algoritmos
Lenguajes Algorítmicos: Serie de símbolos y reglas que
se utilizan para describir de manera explícita un
proceso.
Tipos:
Gráficos: Es la representación gráfica de las
operaciones que realiza un algoritmo (Diagrama de flujo
o Diagrama Nassi-Schneiderman (N-S) ).
No Gráficos: Representa en forma descriptiva las
operaciones que debe realizar un algoritmo
(pseudocódigo).
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaDiagrama de Flujo
Un Diagrama de Flujo representa la
esquematización gráfica de un
algoritmo.
Se diseña para permitir observar las
estructuras y la forma como ellas se
conectan entre sí al configurar un
programa.
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaDiagrama Nassi-Schneiderman (N-S)
También conocido como diagrama
de Chapin.
Similar al Diagrama de Flujo, en el
que se omiten los conectores y las
cajas son contiguas.
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaSeudocódigo
Para expresar el contenido de
un programa de computadora,
se requiere el uso de un
lenguaje de programación.
Cuando expresamos dicho
contenido en nuestra lengua
natural, utilizando ciertas
expresiones simples que lo
abrevian un poco, se dice que
está escrito en seudocódigo.
Calcular las posibles raíces para
una ecuación de segundo grado:
ax2+bx+c=0
+Algoritmo raíces
|
| Variables reales a,b,c,x,y
|
| Escribir "Introduzca los
coeficientes de mayor a menor
grado."
| Leer a,b,c
|
| +Si sqr(b)>= 4*a*c entonces
| | x=(-b+sqrt(b^2-4*a*c))/2a
| +Sino
| | Escribir "No existen raíces
reales."
| +Finsi
|
+Final
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
23
Verificación del Algoritmo
Comprobar que el programa realiza las tareas para las
que ha sido diseñado y produce el resultado correcto y
esperado.
Prueba de Escritorio:
Dar diferentes datos de entrada al programa y seguir la
lógica del mismo hasta obtener el resultado exacto al
esperado.
Si es necesario, hacer ajustes y volver a realizar la
prueba hasta que cumpla con el propósito del cual ha sido
creado.

Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Donde se va a hacer?
Culminación del sistema, aunque en realidad nunca
termina su proceso .
PASOS:
1. Codificación
2. Compilación y Ejecución
3. Prueba y Depuración
4. Documentación
5. Mantenimiento
Implementación
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Es la escritura del algoritmo en un lenguaje de programación
(Código Fuente).
El código puede ser escrito en cualquier lenguaje, ya que el
diseño es independiente de este.
Codificación
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Traduce el programa fuente a programa en código de
maquina y lo ejecuta, introduciendo el programa en
memoria.
Si se presentan errores de “sintaxis” o de compilación, se
vuelve a editar el programa.
Se corrigen los errores y se compila de nuevo hasta que no
salgan errores.
Compilación y Ejecución
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Este paso se realiza debido a que los errores humanos dentro
de la programación de computadores son muchos y aumentan
considerablemente con la complejidad del problema.
Se refiere a ejecutar el programa con varios datos de entrada;
así se determina si el programa tiene errores “lógicos” y se
corrigen.
Prueba y Depuración
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
También se encuentran errores de “ejecución” (errores que el
computador puede entender pero no ejecutar).
Ej: Divisiones por cero.
Para esto se utilizan valores de entrada:
 Normales.
 Extremos, limites.
 Especiales.
Prueba y Depuración
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Son comentarios que facilitan la comprensión del
programa, debido a que a menudo un programa
escrito por una persona, es usado por otra.
Clases de documentación:
INTERNA:
- Se incluyen dentro del programa fuente.
- Son comentarios que ayudan a la comprensión del código y el
entendimiento de los procesos.
Documentación
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Clases de documentación:
EXTERNA:
- Es un archivo donde se
documenta todos los pasos
realizados para el desarrollo del
programa y la solución del
problema.
- Incluye: Análisis, diseño,
manual de usuario (como
funciona el programa), manual
técnico (como se implementó el
programa en el lenguaje de
programación seleccionado),
pruebas, etc.
Documentación
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Se lleva a cabo después de terminado
el programa.
Se utiliza para hacerle soporte al
programa: Cuando es necesario hacer
algún cambio, ajuste o complemento
al sistema para que siga trabajando de
manera correcta.
Para esto la documentación debe ser
correcta, completa y actualizada.
Mantenimiento
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
PROBLEMA ALGORITMO PROGRAMA
ANALISIS DISEÑO IMPLEMENTACIÓN
Esquema General de la Resolución de un
Problema
Tutor Eliezer Córdova
Algoritmos y
Computación
AvanzadaCÓDIGO: 1 NOMBRE: Huevo frito
ENUNCIADO:
Se desea realizar el análisis para el proceso de cocinar un
huevo frito saludable.
ANALISIS DEL PROBLEMA
DATOS DE ENTRADA: Huevo, cacerola, tapa, Mantequilla, sal,
DATOS DE SALIDA: Huevo frito saludable
DATOS AUXILIARES: Cronometro, estufa
CONDICIONES O
RESTRICCIONES:
- La fritura solo puede máximo 5 minutos, de lo
contrario el huevo se quemara.
- Aplicar una pizca de sal para que no quede
muy salado.
- Utilizar solo una cucharadita de mantequilla
para evitar el colesterol.
PROCESO:
Inicio
1. Prender la estufa //Prenderla en alto
2. Poner a calentar la cacerola
3. Poner la mantequilla
4. Dejar derretir la mantequilla
5. Si la mantequilla no esta derretida, volver al punto 4
6. SI la mantequilla esta derretida, entonces
7. Iniciar el cronometro
8. Quebrar el huevo //Solo un poco
9. Echarlo en la cacerola //Sin revolverlo
10.Poner la tapa
11.Activar el cronometro
12.Si el huevo esta ya frito o han pasado 5 minutos, entonces
13.Esperar y volver al punto 12
14.Si no, entonces:
15.Apagar la estufa
16.Bajar la cacerola //utilizando un trapo para no
quemarse
17.Quitar la tapa
18.Echarle sal
Fin
DISEÑO DEL PROBLEMA
ALGORITMO:
PRUEBA DE ESCRITORIO:
IMPLEMENTACIÓN DEL PROBLEMA
DOCUMENTACIÓN:
CODIGO FUENTE:
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
CÓDIGO: 2 NOMBRE: Levantarse de madrugada
ENUNCIADO: Se desea realizar el análisis del proceso de levantarse de la
cama para ir a clase de Informática I.
ANALISIS DEL PROBLEMA
DATOS DE ENTRADA: Estudiante, despertador
DATOS DE SALIDA: Estudiante levantado
DATOS AUXILIARES: Cama, cobijas, pantuflas
CONDICIONES O
RESTRICCIONES:
- Como la clase empieza a las 9:00 am, tiene
que levantarse a las 8:00 am
PROCESO:
Inicio
1. Si el despertador marca las 8:00 am, entonces
2. Soñar durísimo
3. Si la persona esta dormida, entonces //por si no ha llegado
a dormir
4. Abrir los ojos
5. Desperezarse
6. Quitarse las lagañas
7. Apagar el despertador
8. Quitarse la cobija
9. Sentarse al borde de la cama
10.Buscar las pantuflas
11.Ponerse las pantuflas
12.Pararse de la cama
13. Si la persona no esta dormida, entonces //por si no ha
llegado a dormir
14.apagarse el despertador a los 10 minutos
Fin
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
CÓDIGO: 3 NOMBRE: Números pares
ENUNCIADO: Realizar la suma de todos los números pares entre 2 y 1000.
El problema consiste en sumar 2 + 4 + 6 + 8 + . . . + 1000
ANALISIS DEL PROBLEMA
DATOS DE ENTRADA: Número mínimo, Número máximo
DATOS DE SALIDA: Suma números pares
DATOS AUXILIARES:
CONDICIONES O
RESTRICCIONES: Solo se suman los números pares
PROCESO:
Inicio
1. Inicializar la suma en 0
2. Empezar a contar desde el Numero mínimo
3. Sumar este valor
4. Incrementar el valor en 2 unidades
5. Si el valor es mayor que el Número máximo, entonces
6. Saltar al paso 10
7. Sino, entonces
8. Sumar este nuevo valor
9. Volver al paso 4
10.Escribir el resultado
Fin
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
CÓDIGO: 4 NOMBRE: Número Primo
ENUNCIADO:
Se desea diseñar un algoritmo para saber si un número es
primo o no. Un número es primo si sólo puede dividirse por sí
mismo y por la unidad (es decir, no tiene más divisores que él
mismo y la unidad). Por ejemplo, 9, 8,6,4, 12, 16, 20, etc., no
son primos, ya que son divisibles por números distintos a ellos
mismos y a la unidad. Así, 9 es divisible por 3, 8 lo es por 2,
etc.
ANALISIS DEL PROBLEMA
DATOS DE ENTRADA: Número
DATOS DE SALIDA: Si es primo o no
DATOS AUXILIARES:
CONDICIONES O
RESTRICCIONES:
PROCESO:
El algoritmo de resolución del problema pasa por dividir
sucesivamente el número por 2, 3, 4..., etcétera.
Inicio
1. Obtener el número
2. Poner X igual a 2
3. Dividir el número por X
4. Si el resultado del paso 3 es entero, entonces //el Número
no es primo
5. Escribir que el número no es primo
6. Terminar el programa
7. Si el resultado del paso 3 no es entero, entonces
8. Incrementar en 1 unidad X
9. Si X es igual al Número ingresado, entonces //el Número
es primo
10.Escribir que el número es primo
11.Si no, entonces volver al punto 3
Fin
Tutor Eliezer Córdova
Algoritmos y
Computación
Avanzada
Metodología para la
Creación de Algoritmos

Más contenido relacionado

La actualidad más candente

Tema III: Algoritmos y primitivas algoritmicas
Tema III: Algoritmos y primitivas algoritmicasTema III: Algoritmos y primitivas algoritmicas
Tema III: Algoritmos y primitivas algoritmicasrasave
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos TiffanyMartinez
 
Diagramas de flujo programación
Diagramas de flujo programaciónDiagramas de flujo programación
Diagramas de flujo programaciónDeysi de Jimenez
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaDaniel Gómez
 
Mapa conceptual arboles binarios
Mapa conceptual arboles binariosMapa conceptual arboles binarios
Mapa conceptual arboles binariosOswaldo Perez
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc X
 
Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Arazelii Puentez
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definicionesBoris Salleg
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Algoritmos de Busqueda
Algoritmos de BusquedaAlgoritmos de Busqueda
Algoritmos de BusquedaFernando Solis
 

La actualidad más candente (20)

Ejercicio 2
Ejercicio 2Ejercicio 2
Ejercicio 2
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Arrays con JavaScript
Arrays con JavaScriptArrays con JavaScript
Arrays con JavaScript
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
130397819 libro-oit-introduccion-al-estudio-del-trabajo-pdf
130397819 libro-oit-introduccion-al-estudio-del-trabajo-pdf130397819 libro-oit-introduccion-al-estudio-del-trabajo-pdf
130397819 libro-oit-introduccion-al-estudio-del-trabajo-pdf
 
Tecnologias de grupo
Tecnologias de grupoTecnologias de grupo
Tecnologias de grupo
 
Tema III: Algoritmos y primitivas algoritmicas
Tema III: Algoritmos y primitivas algoritmicasTema III: Algoritmos y primitivas algoritmicas
Tema III: Algoritmos y primitivas algoritmicas
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos
 
Diagramas de flujo programación
Diagramas de flujo programaciónDiagramas de flujo programación
Diagramas de flujo programación
 
Cuestionario uml
Cuestionario umlCuestionario uml
Cuestionario uml
 
Estructura secuencial
Estructura secuencialEstructura secuencial
Estructura secuencial
 
IEM U 6 2023
IEM U 6 2023IEM U 6 2023
IEM U 6 2023
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - Algoritmia
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Mapa conceptual arboles binarios
Mapa conceptual arboles binariosMapa conceptual arboles binarios
Mapa conceptual arboles binarios
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)
 
Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Cuestionario de algoritmoss2
Cuestionario de algoritmoss2
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Algoritmos de Busqueda
Algoritmos de BusquedaAlgoritmos de Busqueda
Algoritmos de Busqueda
 

Similar a Creación de algoritmos paso a paso

Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...JosAngelLaraMendoza
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La ProgramacionMary Sanchez
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Marquina, Santiago
 
resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas panchofronteras
 
Algoritmos libro 6
Algoritmos  libro 6Algoritmos  libro 6
Algoritmos libro 6desi2907
 
Aplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmoAplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmoJonmar Rodiguez
 
Aplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmoAplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmoJonmar Rodiguez
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programarCelestino Duran
 
Desarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientosDesarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientospabloandresbueno
 
Unidad 02 metodología para solucionar un problema
Unidad 02   metodología para solucionar un problemaUnidad 02   metodología para solucionar un problema
Unidad 02 metodología para solucionar un problemaLorenzo Alejo
 

Similar a Creación de algoritmos paso a paso (20)

Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tema n° 1
Tema n° 1Tema n° 1
Tema n° 1
 
Presentación lenguaje programación
Presentación lenguaje programaciónPresentación lenguaje programación
Presentación lenguaje programación
 
Fp03
Fp03Fp03
Fp03
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3
 
Diseno dealgoritmos
Diseno dealgoritmosDiseno dealgoritmos
Diseno dealgoritmos
 
Clase de programacion
Clase  de  programacionClase  de  programacion
Clase de programacion
 
resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmos libro 6
Algoritmos  libro 6Algoritmos  libro 6
Algoritmos libro 6
 
Aplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmoAplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmo
 
Aplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmoAplicacion de estandare de calidad en la construccion de un algoritmo
Aplicacion de estandare de calidad en la construccion de un algoritmo
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Desarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientosDesarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientos
 
Unidad 02 metodología para solucionar un problema
Unidad 02   metodología para solucionar un problemaUnidad 02   metodología para solucionar un problema
Unidad 02 metodología para solucionar un problema
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Más de Eliezer Cordova

Más de Eliezer Cordova (20)

Tipos de comunicacion
Tipos de comunicacionTipos de comunicacion
Tipos de comunicacion
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
 
Introduccion publisher
Introduccion publisherIntroduccion publisher
Introduccion publisher
 
Presentaciones efectivas
Presentaciones efectivasPresentaciones efectivas
Presentaciones efectivas
 
Resolucion de problemas
Resolucion de problemasResolucion de problemas
Resolucion de problemas
 
Programación
ProgramaciónProgramación
Programación
 
Presentacion aula virtual videoconferencia
Presentacion aula virtual videoconferenciaPresentacion aula virtual videoconferencia
Presentacion aula virtual videoconferencia
 
Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
Presentacion uno
Presentacion unoPresentacion uno
Presentacion uno
 
Intro
IntroIntro
Intro
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
2 arboles
2 arboles2 arboles
2 arboles
 
1 árbol
1 árbol1 árbol
1 árbol
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
3 funciones
3 funciones3 funciones
3 funciones
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 

Último

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 

Último (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 

Creación de algoritmos paso a paso

  • 1. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Metodología para la Creación de Algoritmos
  • 2. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaAlgoritmo Un algoritmo es una lista de actividades que se preparan para la realización de una tarea. Esta idea no sólo está relacionada con las computadoras, sino que pertenece al campo de casi todas las actividades humanas. Ejemplos: Receta de Cocina Mapa del Tesoro Partitura Musical
  • 3. Tutor Eliezer Córdova Algoritmos y Computación Avanzada ¿Qué pasaría, si el ingeniero civil o el arquitecto construye una casa o un edificio sin hacer sus planos, proyectos o maquetas? ¿Permitirías que tu propio cirujano te interviniera sin hacer los estudios respectivos para obtener las evidencias del problema de salud que te aqueja? Metodología de Resolución de Problemas con Algoritmos ¿Permitirías a tu abogado que te defendiera sin conocer las pruebas y sin un plan para tu defensa?
  • 4. Tutor Eliezer Córdova Algoritmos y Computación Avanzada El desarrollo de una solución a la medida de un problema requiere una metodología que gradualmente nos lleve a una efectiva solución del problema. Para poder realizar programas, además de conocer la metodología mencionada, también se debe de conocer las funciones que puede realizar el computador y las formas en que se pueden manejar los elementos que hay en el mismo. Metodología de Resolución de Problemas con Algoritmos
  • 5. Tutor Eliezer Córdova Algoritmos y Computación Avanzada IMPLEMENTACIÓN ANÁLISIS DISEÑO Desarrollo de Algoritmos Verificación del Algoritmo Codificación del algoritmo Compilación y ejecución del programa Prueba y Depuración Documentación Mantenimiento Fases
  • 6. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Que se va a hacer? Ayuda a comprender la naturaleza del problema Los problemas deben estar bien definidos Realizar un examen bien cuidadoso del problema: “Lo que piden” Vs “Lo que necesitan” Vs “Lo posible” Mientras no se conozca totalmente el problema y lo que se desea que realice el computador, no tiene mucho caso continuar con la siguiente etapa Análisis
  • 7. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 1. Trabajo de campo a. Idea General: se hace un estudio superficial del problema (enunciado del problema). Pasos para realizar un buen Análisis
  • 8. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 1. Trabajo de campo b. Se especifican los Requisitos, se hace un estudio profundo (definición clara y precisa). - Datos de entrada. - Datos de salida: información que se desea producir. - Datos auxiliares: datos que pueden servir para realizar mejor un proceso, pero que no son de gran importancia para que éste cumpla su objetivo final. - Proceso: Métodos y fórmulas que se necesitan para procesar los datos. Pasos para realizar un buen Análisis
  • 9. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 2. Indagar otros datos, condiciones y restricciones que afecten la resolución del problema. Pasos para realizar un buen Análisis
  • 10. Tutor Eliezer Córdova Algoritmos y Computación Avanzada ¿Cómo se va a hacer? Se determina como el programa va a hacer la tarea solicitada. Debe estar bien definido, no se debe permitir dobles interpretaciones. Diseño
  • 11. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 1. Desarrollo del algoritmo • Partes de un algoritmo • Pasos para el desarrollo de un algoritmo • Notación y representación de algoritmos Pasos para realizar un buen diseño
  • 12. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 2. Verificación del algoritmo • Prueba de Escritorio Pasos para realizar un buen diseño
  • 13. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaPartes de un algoritmo Entradas: Información dada al algoritmo Instrucciones: Operaciones necesarias para realizar un proceso Salidas: Respuestas obtenidas al finalizar el algoritmo
  • 14. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 1. Diseño ascendente: (Top-Down Design): Dividir el problema original en otros más simples y luego dividir estos subproblemas en otros más simples, y así sucesivamente. Se hace un esbozo. Pasos para el desarrollo de un algoritmo
  • 15. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 2. Refinamiento sucesivo: Descripción mas detallada con pasos más específicos del problema. Se hacen varios niveles de refinamiento hasta que la solución sea clara, precisa y completa. Pasos para el desarrollo de un algoritmo
  • 16. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 3. Representación del algoritmo en una herramienta de programación: El lenguaje del algoritmo debe ser independiente del lenguaje de programación. Herramientas: Diagramas de flujo, Pseudocódigo, Diagrama Nassi-Schneiderman (N-S). Pasos para el desarrollo de un algoritmo
  • 17. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaEjemplo Qué hacer para ver la película Superman Regresa? Ir al Cine Comprar una entrada Ver la película Regresar a casa ver cartelera de cine en el periódico si proyectan “Superman Regresa” ir hasta el cine si no buscar otra actividad si hay fila entonces ponerse en ella mientras haya personas delante avanzar en la cola si hay entradas entonces comprar una entrada pasar a la sala localizar la butaca mientras proyectan la película ver la película si no refunfuñar ...
  • 18. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Inicio ver cartelera de cine en el periódico si proyectan “Superman Regresa” ir hasta el cine si no buscar otra actividad fin fin_si si hay fila entonces ponerse en ella mientras haya personas delante avanzar en la cola fin_mientras fin_si si hay entradas entonces comprar una entrada pasar a la sala localizar la butaca mientras proyectan la película ver la película fin_mientras si no refunfuñar fin_si volver a casa Fin Inicio caminar hasta llegar a la prim repetir comparar números de fila si no son iguales pasar a la siguiente hasta que se localice la fila c mientras número de silla no avanzar a la siguiente silla fin_mientras sentarse en la butaca Fin localizar la butaca
  • 19. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaNotación y Representación de Algoritmos Lenguajes Algorítmicos: Serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Tipos: Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (Diagrama de flujo o Diagrama Nassi-Schneiderman (N-S) ). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).
  • 20. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaDiagrama de Flujo Un Diagrama de Flujo representa la esquematización gráfica de un algoritmo. Se diseña para permitir observar las estructuras y la forma como ellas se conectan entre sí al configurar un programa.
  • 21. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaDiagrama Nassi-Schneiderman (N-S) También conocido como diagrama de Chapin. Similar al Diagrama de Flujo, en el que se omiten los conectores y las cajas son contiguas.
  • 22. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaSeudocódigo Para expresar el contenido de un programa de computadora, se requiere el uso de un lenguaje de programación. Cuando expresamos dicho contenido en nuestra lengua natural, utilizando ciertas expresiones simples que lo abrevian un poco, se dice que está escrito en seudocódigo. Calcular las posibles raíces para una ecuación de segundo grado: ax2+bx+c=0 +Algoritmo raíces | | Variables reales a,b,c,x,y | | Escribir "Introduzca los coeficientes de mayor a menor grado." | Leer a,b,c | | +Si sqr(b)>= 4*a*c entonces | | x=(-b+sqrt(b^2-4*a*c))/2a | +Sino | | Escribir "No existen raíces reales." | +Finsi | +Final
  • 23. Tutor Eliezer Córdova Algoritmos y Computación Avanzada 23 Verificación del Algoritmo Comprobar que el programa realiza las tareas para las que ha sido diseñado y produce el resultado correcto y esperado. Prueba de Escritorio: Dar diferentes datos de entrada al programa y seguir la lógica del mismo hasta obtener el resultado exacto al esperado. Si es necesario, hacer ajustes y volver a realizar la prueba hasta que cumpla con el propósito del cual ha sido creado. 
  • 24. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Donde se va a hacer? Culminación del sistema, aunque en realidad nunca termina su proceso . PASOS: 1. Codificación 2. Compilación y Ejecución 3. Prueba y Depuración 4. Documentación 5. Mantenimiento Implementación
  • 25. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Es la escritura del algoritmo en un lenguaje de programación (Código Fuente). El código puede ser escrito en cualquier lenguaje, ya que el diseño es independiente de este. Codificación
  • 26. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Traduce el programa fuente a programa en código de maquina y lo ejecuta, introduciendo el programa en memoria. Si se presentan errores de “sintaxis” o de compilación, se vuelve a editar el programa. Se corrigen los errores y se compila de nuevo hasta que no salgan errores. Compilación y Ejecución
  • 27. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Este paso se realiza debido a que los errores humanos dentro de la programación de computadores son muchos y aumentan considerablemente con la complejidad del problema. Se refiere a ejecutar el programa con varios datos de entrada; así se determina si el programa tiene errores “lógicos” y se corrigen. Prueba y Depuración
  • 28. Tutor Eliezer Córdova Algoritmos y Computación Avanzada También se encuentran errores de “ejecución” (errores que el computador puede entender pero no ejecutar). Ej: Divisiones por cero. Para esto se utilizan valores de entrada:  Normales.  Extremos, limites.  Especiales. Prueba y Depuración
  • 29. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Son comentarios que facilitan la comprensión del programa, debido a que a menudo un programa escrito por una persona, es usado por otra. Clases de documentación: INTERNA: - Se incluyen dentro del programa fuente. - Son comentarios que ayudan a la comprensión del código y el entendimiento de los procesos. Documentación
  • 30. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Clases de documentación: EXTERNA: - Es un archivo donde se documenta todos los pasos realizados para el desarrollo del programa y la solución del problema. - Incluye: Análisis, diseño, manual de usuario (como funciona el programa), manual técnico (como se implementó el programa en el lenguaje de programación seleccionado), pruebas, etc. Documentación
  • 31. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Se lleva a cabo después de terminado el programa. Se utiliza para hacerle soporte al programa: Cuando es necesario hacer algún cambio, ajuste o complemento al sistema para que siga trabajando de manera correcta. Para esto la documentación debe ser correcta, completa y actualizada. Mantenimiento
  • 32. Tutor Eliezer Córdova Algoritmos y Computación Avanzada PROBLEMA ALGORITMO PROGRAMA ANALISIS DISEÑO IMPLEMENTACIÓN Esquema General de la Resolución de un Problema
  • 33. Tutor Eliezer Córdova Algoritmos y Computación AvanzadaCÓDIGO: 1 NOMBRE: Huevo frito ENUNCIADO: Se desea realizar el análisis para el proceso de cocinar un huevo frito saludable. ANALISIS DEL PROBLEMA DATOS DE ENTRADA: Huevo, cacerola, tapa, Mantequilla, sal, DATOS DE SALIDA: Huevo frito saludable DATOS AUXILIARES: Cronometro, estufa CONDICIONES O RESTRICCIONES: - La fritura solo puede máximo 5 minutos, de lo contrario el huevo se quemara. - Aplicar una pizca de sal para que no quede muy salado. - Utilizar solo una cucharadita de mantequilla para evitar el colesterol. PROCESO: Inicio 1. Prender la estufa //Prenderla en alto 2. Poner a calentar la cacerola 3. Poner la mantequilla 4. Dejar derretir la mantequilla 5. Si la mantequilla no esta derretida, volver al punto 4 6. SI la mantequilla esta derretida, entonces 7. Iniciar el cronometro 8. Quebrar el huevo //Solo un poco 9. Echarlo en la cacerola //Sin revolverlo 10.Poner la tapa 11.Activar el cronometro 12.Si el huevo esta ya frito o han pasado 5 minutos, entonces 13.Esperar y volver al punto 12 14.Si no, entonces: 15.Apagar la estufa 16.Bajar la cacerola //utilizando un trapo para no quemarse 17.Quitar la tapa 18.Echarle sal Fin DISEÑO DEL PROBLEMA ALGORITMO: PRUEBA DE ESCRITORIO: IMPLEMENTACIÓN DEL PROBLEMA DOCUMENTACIÓN: CODIGO FUENTE:
  • 34. Tutor Eliezer Córdova Algoritmos y Computación Avanzada CÓDIGO: 2 NOMBRE: Levantarse de madrugada ENUNCIADO: Se desea realizar el análisis del proceso de levantarse de la cama para ir a clase de Informática I. ANALISIS DEL PROBLEMA DATOS DE ENTRADA: Estudiante, despertador DATOS DE SALIDA: Estudiante levantado DATOS AUXILIARES: Cama, cobijas, pantuflas CONDICIONES O RESTRICCIONES: - Como la clase empieza a las 9:00 am, tiene que levantarse a las 8:00 am PROCESO: Inicio 1. Si el despertador marca las 8:00 am, entonces 2. Soñar durísimo 3. Si la persona esta dormida, entonces //por si no ha llegado a dormir 4. Abrir los ojos 5. Desperezarse 6. Quitarse las lagañas 7. Apagar el despertador 8. Quitarse la cobija 9. Sentarse al borde de la cama 10.Buscar las pantuflas 11.Ponerse las pantuflas 12.Pararse de la cama 13. Si la persona no esta dormida, entonces //por si no ha llegado a dormir 14.apagarse el despertador a los 10 minutos Fin
  • 35. Tutor Eliezer Córdova Algoritmos y Computación Avanzada CÓDIGO: 3 NOMBRE: Números pares ENUNCIADO: Realizar la suma de todos los números pares entre 2 y 1000. El problema consiste en sumar 2 + 4 + 6 + 8 + . . . + 1000 ANALISIS DEL PROBLEMA DATOS DE ENTRADA: Número mínimo, Número máximo DATOS DE SALIDA: Suma números pares DATOS AUXILIARES: CONDICIONES O RESTRICCIONES: Solo se suman los números pares PROCESO: Inicio 1. Inicializar la suma en 0 2. Empezar a contar desde el Numero mínimo 3. Sumar este valor 4. Incrementar el valor en 2 unidades 5. Si el valor es mayor que el Número máximo, entonces 6. Saltar al paso 10 7. Sino, entonces 8. Sumar este nuevo valor 9. Volver al paso 4 10.Escribir el resultado Fin
  • 36. Tutor Eliezer Córdova Algoritmos y Computación Avanzada CÓDIGO: 4 NOMBRE: Número Primo ENUNCIADO: Se desea diseñar un algoritmo para saber si un número es primo o no. Un número es primo si sólo puede dividirse por sí mismo y por la unidad (es decir, no tiene más divisores que él mismo y la unidad). Por ejemplo, 9, 8,6,4, 12, 16, 20, etc., no son primos, ya que son divisibles por números distintos a ellos mismos y a la unidad. Así, 9 es divisible por 3, 8 lo es por 2, etc. ANALISIS DEL PROBLEMA DATOS DE ENTRADA: Número DATOS DE SALIDA: Si es primo o no DATOS AUXILIARES: CONDICIONES O RESTRICCIONES: PROCESO: El algoritmo de resolución del problema pasa por dividir sucesivamente el número por 2, 3, 4..., etcétera. Inicio 1. Obtener el número 2. Poner X igual a 2 3. Dividir el número por X 4. Si el resultado del paso 3 es entero, entonces //el Número no es primo 5. Escribir que el número no es primo 6. Terminar el programa 7. Si el resultado del paso 3 no es entero, entonces 8. Incrementar en 1 unidad X 9. Si X es igual al Número ingresado, entonces //el Número es primo 10.Escribir que el número es primo 11.Si no, entonces volver al punto 3 Fin
  • 37. Tutor Eliezer Córdova Algoritmos y Computación Avanzada Metodología para la Creación de Algoritmos