SlideShare una empresa de Scribd logo
1 de 17
Algoritmo
L.S.C.I.
Jennifer Alejandra
Montaño Chávez
Algoritmo
La palabra ALGORITMO se deriva de la
traducción al latín de la palabra árabe
Alkhôwarîzmi, nombre de un matemático y
astrónomo árabe que escribió un tratado
sobre manipulación de números y ecuaciones
en el siglo IX.
Algoritmo
Un algoritmo es un método para resolver
un problema mediante una serie de
pasos precisos, definido y finitos.
Método Algorítmico
Un algoritmo debe de producir un resultado en un
tiempo finito. Los métodos que utilizan algoritmos se
denominan métodos algorítmicos, en oposición a los
métodos que implican algún juicio o interpretación
que se denominan métodos heurísticos. Los métodos
algorítmicos
se
pueden
implementar
en
computadoras; sin embargo, los procesos heurísticos
no han sido convertidos
fácilmente en las
computadoras. En los últimos años las técnicas de
Inteligencia Artificial han hecho posible la
implementación
del
proceso
heurístico
en
computadoras.
Características de un Algoritmo
• Preciso: indicar el orden de realización en
cada paso.
• Definido: si se sigue dos veces, obtiene el
mismo resultado cada vez.
• Finito: Tiene fin, un número determinado
de pasos.
Análisis del Problema
La primera dase de la resolución de
problemas con computadoras es el
análisis del problema. Esta fase requiere
una clara definición, donde se contemple
exactamente lo que debe hacer el programa y
el resultado o la solución deseada.
Análisis del Problema
Dado que se busca una solución por computadora, se
precisan especificaciones detalladas de entrada y
salida.
Para poder definir bien un problema es conveniente
responder a las siguientes preguntas:
• ¿Qué entradas se requieren (tipo y cantidad)?
• ¿Cuál es la salida deseada (tipo y cantidad)?
• ¿Qué método produce la salida deseada?
En la etapa de análisis del proceso de programación se
determina qué hace el programa.
Diseño del Algoritmo
En la etapa de Diseño se denomina cómo hace el
programa la tarea solicitada. Los métodos más
eficaces para el proceso de diseño se basan en el
conocido por divide y vencerás. Es decir, la resolución
de un problema complejo se realiza dividiendo el
problema en subproblemasy a continuación dividir
estos subproblemas en otros de nivel más bajo, hasta
que pueda ser implementada una solución en la
computadora. Este método se conoce técnicamente
como
diseño
descendente
(top-down)
o modular. El proceso de romper el problema en cada
etapa y expresar cada paso en forma más detallada se
denomina refinamiento sucesivo.
Diseño del Algoritmo
Cada
subproblema
es
resuelto
mediante un módulo (subprograma) que
tiene un solo punto de entrada y un solo
punto de salida.
Diseño de Algoritmo
Cualquier programa bien diseñado consta
de un programa principal (el módulo de nivel más
alto) que llama a subprogramas (módulos de nivel
más bajo) que a su vez pueden llamar a otros
subprogramas. Los programas estructurados de
esta forma se dice que tienen un diseño modular y
el método de romper el programa en módulos más
pequeños se llama programación modular.
Diseño de Algoritmo
Los módulos pueden ser planeados,
codificados, comprobados y depurados
independientemente (incluso por diferentes
programadores)
y
a
continuación
combinarlos entre sí.
Diseño de Algoritmo
El proceso implica la ejecución de los siguientes
pasos hasta que el programa se termina:
1. Programar un módulo
2. Comprobar el módulo
3. Si es necesario, depurar el módulo
4. Combinar el módulo con los módulos
anteriores.
Diseño de Algoritmo
El
proceso
que
convierte
los
resultados del análisis del problema en un
diseño modular con refinamientos sucesivos
que permitan una posterior traducción a un
lenguaje se denomina diseño del algoritmo.
Diseño de Algoritmo
El
diseño
del
algoritmo
es
independiente del
lenguaje de
programación en el que se vaya a
codificar posteriormente.
HERRAMIENTAS DE
PROGRAMACIÓN
Las dos herramientas de programación más
utilizadas
comúnmente
para
diseñar
algoritmos son:
• Diagramas de Flujo
• Pseudocódigo
Diagramas de Flujo
Un diagrama de flujo (flowchart) es una
representación gráfica de un algoritmo. Los
símbolos utilizados han sido normalizados
por el Instituto Norteamericano de
Normalización (ANSI).
Pseudocódigo
Es una herramienta de programación en la que
las instrucciones se escriben en palabras similares
al inglés o español, que facilitan tanto la
escritura como la lectura de programas. En esencia,
el pseudocódigo se puede definir como un lenguaje
de especificaciones de algoritmos.

Más contenido relacionado

La actualidad más candente

Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
neyvajms
 

La actualidad más candente (20)

Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Modelo de desarrollo concurrente
Modelo de desarrollo concurrenteModelo de desarrollo concurrente
Modelo de desarrollo concurrente
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Diapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacionDiapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacion
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
Diagramas de flujo y algoritmos
Diagramas de flujo y algoritmosDiagramas de flujo y algoritmos
Diagramas de flujo y algoritmos
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y Soluciones
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Programacion informatica 2
Programacion informatica 2Programacion informatica 2
Programacion informatica 2
 
Reporte de codigo productos medios
Reporte de codigo productos mediosReporte de codigo productos medios
Reporte de codigo productos medios
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 

Destacado

Destacado (12)

Un lenguaje de bases de datos relacionales
Un lenguaje de bases de datos relacionalesUn lenguaje de bases de datos relacionales
Un lenguaje de bases de datos relacionales
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Aplicaciones basadas en la web
Aplicaciones basadas en la webAplicaciones basadas en la web
Aplicaciones basadas en la web
 
Fórmulas y funciones excel
Fórmulas y funciones excelFórmulas y funciones excel
Fórmulas y funciones excel
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Conceptos de corel_draw
Conceptos de corel_drawConceptos de corel_draw
Conceptos de corel_draw
 
Sistema1unidad1
Sistema1unidad1Sistema1unidad1
Sistema1unidad1
 
Informática 2
Informática 2Informática 2
Informática 2
 
Sistemas1 4 unidades
Sistemas1 4 unidadesSistemas1 4 unidades
Sistemas1 4 unidades
 
Ventajas y objetivos de una presentacion electronica
Ventajas y objetivos de una presentacion electronicaVentajas y objetivos de una presentacion electronica
Ventajas y objetivos de una presentacion electronica
 

Similar a Algoritmo

Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
rulo182
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
Jose Gonzalez
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
cognos_uie
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
casdilacol
 
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdfPRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
pitechu
 
Unidad1 130504121721-phpapp02
Unidad1 130504121721-phpapp02Unidad1 130504121721-phpapp02
Unidad1 130504121721-phpapp02
Maryfer' Ortega
 

Similar a Algoritmo (20)

(Fases)
(Fases)(Fases)
(Fases)
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 
Presentación Luis Barreto
Presentación Luis BarretoPresentación Luis Barreto
Presentación Luis Barreto
 
El algoritmo como estrategia y herramienta para la solución de problemas
El algoritmo como estrategia y herramienta para la solución de problemasEl algoritmo como estrategia y herramienta para la solución de problemas
El algoritmo como estrategia y herramienta para la solución de problemas
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
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
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
MP.pptx
MP.pptxMP.pptx
MP.pptx
 
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdfPRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
 
Java y conceptos de apoyo
Java y conceptos de apoyoJava y conceptos de apoyo
Java y conceptos de apoyo
 
Presentación de slideshare
Presentación de slidesharePresentación de slideshare
Presentación de slideshare
 
Presentación de slideshare
Presentación de slidesharePresentación de slideshare
Presentación de slideshare
 
Unidad1 130504121721-phpapp02
Unidad1 130504121721-phpapp02Unidad1 130504121721-phpapp02
Unidad1 130504121721-phpapp02
 
ALGORITMOS bachillerato investigación y información
ALGORITMOS bachillerato investigación y informaciónALGORITMOS bachillerato investigación y información
ALGORITMOS bachillerato investigación y información
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
ALGORITMOS
ALGORITMOS ALGORITMOS
ALGORITMOS
 

Más de Jennifer Montano

Más de Jennifer Montano (20)

Mkt digital
Mkt digitalMkt digital
Mkt digital
 
Mkt
MktMkt
Mkt
 
Hp Introducción
Hp IntroducciónHp Introducción
Hp Introducción
 
1ero guía para el primer examen semestral
1ero guía para el primer examen semestral1ero guía para el primer examen semestral
1ero guía para el primer examen semestral
 
3ero guía para el primer examen semestral
3ero guía para el primer examen semestral3ero guía para el primer examen semestral
3ero guía para el primer examen semestral
 
Ejemplo algoritmos
Ejemplo algoritmosEjemplo algoritmos
Ejemplo algoritmos
 
Examen de computación1 2do periodo agosto diciembre de 2016
Examen de computación1  2do periodo agosto   diciembre de 2016Examen de computación1  2do periodo agosto   diciembre de 2016
Examen de computación1 2do periodo agosto diciembre de 2016
 
Respuestas del examen de diagnóstico de computación
Respuestas del examen de diagnóstico de computaciónRespuestas del examen de diagnóstico de computación
Respuestas del examen de diagnóstico de computación
 
Respuestas del 3ºdiagnóstico
Respuestas del 3ºdiagnósticoRespuestas del 3ºdiagnóstico
Respuestas del 3ºdiagnóstico
 
3ºdiagnóstico
3ºdiagnóstico3ºdiagnóstico
3ºdiagnóstico
 
Patrón de Diapositiva
Patrón de DiapositivaPatrón de Diapositiva
Patrón de Diapositiva
 
Guía habilidades de pensamiento 1º secundaria
Guía habilidades de pensamiento 1º secundariaGuía habilidades de pensamiento 1º secundaria
Guía habilidades de pensamiento 1º secundaria
 
Analogías del El Principito
Analogías del El PrincipitoAnalogías del El Principito
Analogías del El Principito
 
Base de datos
Base de datosBase de datos
Base de datos
 
Sentido de vida y autocuidado
Sentido de vida y autocuidadoSentido de vida y autocuidado
Sentido de vida y autocuidado
 
Adicciones sin drogas
Adicciones sin drogasAdicciones sin drogas
Adicciones sin drogas
 
El amor no debe doler
El amor no debe dolerEl amor no debe doler
El amor no debe doler
 
Programa analítico 1er.secundaria bimestre 1
Programa analítico 1er.secundaria bimestre 1Programa analítico 1er.secundaria bimestre 1
Programa analítico 1er.secundaria bimestre 1
 
Programa analítico 2 do.secundaria bimestre 1
Programa analítico 2 do.secundaria bimestre 1Programa analítico 2 do.secundaria bimestre 1
Programa analítico 2 do.secundaria bimestre 1
 
PNI
PNIPNI
PNI
 

Último

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
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
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 

Algoritmo

  • 2. Algoritmo La palabra ALGORITMO se deriva de la traducción al latín de la palabra árabe Alkhôwarîzmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
  • 3. Algoritmo Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definido y finitos.
  • 4. Método Algorítmico Un algoritmo debe de producir un resultado en un tiempo finito. Los métodos que utilizan algoritmos se denominan métodos algorítmicos, en oposición a los métodos que implican algún juicio o interpretación que se denominan métodos heurísticos. Los métodos algorítmicos se pueden implementar en computadoras; sin embargo, los procesos heurísticos no han sido convertidos fácilmente en las computadoras. En los últimos años las técnicas de Inteligencia Artificial han hecho posible la implementación del proceso heurístico en computadoras.
  • 5. Características de un Algoritmo • Preciso: indicar el orden de realización en cada paso. • Definido: si se sigue dos veces, obtiene el mismo resultado cada vez. • Finito: Tiene fin, un número determinado de pasos.
  • 6. Análisis del Problema La primera dase de la resolución de problemas con computadoras es el análisis del problema. Esta fase requiere una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o la solución deseada.
  • 7. Análisis del Problema Dado que se busca una solución por computadora, se precisan especificaciones detalladas de entrada y salida. Para poder definir bien un problema es conveniente responder a las siguientes preguntas: • ¿Qué entradas se requieren (tipo y cantidad)? • ¿Cuál es la salida deseada (tipo y cantidad)? • ¿Qué método produce la salida deseada? En la etapa de análisis del proceso de programación se determina qué hace el programa.
  • 8. Diseño del Algoritmo En la etapa de Diseño se denomina cómo hace el programa la tarea solicitada. Los métodos más eficaces para el proceso de diseño se basan en el conocido por divide y vencerás. Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemasy a continuación dividir estos subproblemas en otros de nivel más bajo, hasta que pueda ser implementada una solución en la computadora. Este método se conoce técnicamente como diseño descendente (top-down) o modular. El proceso de romper el problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento sucesivo.
  • 9. Diseño del Algoritmo Cada subproblema es resuelto mediante un módulo (subprograma) que tiene un solo punto de entrada y un solo punto de salida.
  • 10. Diseño de Algoritmo Cualquier programa bien diseñado consta de un programa principal (el módulo de nivel más alto) que llama a subprogramas (módulos de nivel más bajo) que a su vez pueden llamar a otros subprogramas. Los programas estructurados de esta forma se dice que tienen un diseño modular y el método de romper el programa en módulos más pequeños se llama programación modular.
  • 11. Diseño de Algoritmo Los módulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuación combinarlos entre sí.
  • 12. Diseño de Algoritmo El proceso implica la ejecución de los siguientes pasos hasta que el programa se termina: 1. Programar un módulo 2. Comprobar el módulo 3. Si es necesario, depurar el módulo 4. Combinar el módulo con los módulos anteriores.
  • 13. Diseño de Algoritmo El proceso que convierte los resultados del análisis del problema en un diseño modular con refinamientos sucesivos que permitan una posterior traducción a un lenguaje se denomina diseño del algoritmo.
  • 14. Diseño de Algoritmo El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente.
  • 15. HERRAMIENTAS DE PROGRAMACIÓN Las dos herramientas de programación más utilizadas comúnmente para diseñar algoritmos son: • Diagramas de Flujo • Pseudocódigo
  • 16. Diagramas de Flujo Un diagrama de flujo (flowchart) es una representación gráfica de un algoritmo. Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización (ANSI).
  • 17. Pseudocódigo Es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos.