SlideShare una empresa de Scribd logo
1 de 27
ALGORITMOS
ALGORITMOS
Es un conjunto finito de instrucciones que
especifican una secuencia de operaciones a realizar
en orden para resolver un problema específico. En
otras palabras, un algoritmo es un método para la
solución de problemas.
PROPIEDADES DE UN ALGORITMO
Secuencialidad
Ausencia de Ambigüedades
Generalidad
Limitaciones
SECUENCIALIDAD
Se debe especificar sin lugar a dudas la secuencia a
utilizar.
Un algoritmo debe tener una instrucción inicial
única y un sucesor único en cada secuencia.
Las instrucciones son llevadas a cabo de arriba
hacia abajo a menos que las mismas especifiquen
lo contrario.
Las entradas son las partidas de datos presentadas
al algoritmo.
Las salidas son partidas de datos procesados que
son el resultado de la ejecución un programa
basado en el algoritmo.
AUSENCIA DE AMBIGÜEDAD
En algoritmo debe ser defino, claro, preciso y no ambiguo.
La representación de cada paso de un algoritmo debe dar
lugar a una sola interpretación posible.
Esta condición significa que cada vez que se presente para
su ejecución u algoritmo con los mismos datos de entrada,
se obtendrán los mismos resultados.
Las instrucciones de un algoritmo debe ordenar a la
computadora que solo lleve a cabo tareas que sea capaz de
hacer. Una computadora no puede efectuar una instrucción
si tiene información insuficiente o si el comando no está
definido.
GENERALIDAD
Un algoritmo se puede realizar para varios
problemas que se relacionan entre sí.
Un algoritmo se aplica a un problema o clase de
problemas específicos; el rango de las entradas o
dominios se tiene que definir previamente, ya que
está determinado el alcance o la generalidad del
algoritmo.
LIMITACIÓN
Un algoritmo es finito en tamaño y tiempo.
La ejecución de un algoritmo programado debe
finalizar después de que se haya llevado a cabo una
cantidad finita de operaciones.
DOMINIO DE UN ALGORITMO
La clase o el conjunto de datos y condiciones para
las cuales un algoritmo trabaja concretamente se
llama dominio.
Cuando se trata de resolver cualquier problema es
necesario definir el dominio del algoritmo y
después verificar que trabaja para todos los casos
que se encuentran dentro del dominio.
Es necesario incluir en el dominio todas las
situaciones similares, pero los casos remotos o
poco probables se permiten omitir.
ERRORES EN LA CONTRUCCIÓN DEL
DOMINIO.
 Errores del dominio:
se presentan cuando se no han
especificado todas las situaciones que se pueden
presentar en la práctica o se han descuidado la
apreciación de su importancia.
A medida que se presenta el problema, se tiene que clasificar
y hay tres opciones:
1. Ignorarlo porque es improbable y quizás nunca ocurra.
2. Restringir el dominio del algoritmo para excluirlo.
3. Corregir el algoritmo.
ERRORES DE LÓGICA:
 Son aquellos errores que se detectan, después que se ha
definido en forma adecuada el dominio de un algoritmo,
en la etapa de prueba o verificación.
 se deben principalmente a las siguientes causas:
1. Etapas incorrectas.
2. Secuencia incorrecta de etapas
3. El criterio de elección de un algoritmo debe hacerse en
base a criterios tales como:
a) Que el algoritmo sea simple, es decir, fácil de entender y
de escribir.
b) Que el algoritmo sea eficiente.
MÉTODO HEURÍSTICO
La heurística proporciona un esquema o plan para
abordar los problemas poco conocidos, mejora la
capacidad de crear soluciones y asegura que el
método que se va a usar sea eficiente.
En la etapa de planificación es donde se tiene la
oportunidad de comparar métodos y seleccionar el
más adecuado.
Surge la pregunta:
¿ Cómo se pueden resolver los problemas para los
que no hay un método establecido o para los cuales
conocemos un algoritmo?.
DISEÑO DE UN ALGORITMO
Un método heurística para diseñar algoritmo es el
denominado DIVIDE AND CONQUER, el cual es
una técnica TOP-DOWN.
Este método permite implementar la
segmentación, descomposición de un problema
largo y complejo en problemas independientes más
pequeños y fáciles de resolver que el problema de
partida.
La técnica consiste en varias etapas.
DESCOMPOSICIÓN DEL PROBLEMA DE PARTIDA EN
SUBPROBLEMAS INDEPENDIENTES Y DETERMINACIÓN DE LAS
RELACIONES ENTRE ELLOS.
P
P1 P2 P3
RESOLUCIÓN DE CADA
SUBPROBLEMA
Si un sub-problema es
grande, por
descomposición y
continuando hasta que
resulten de la
descomposición sub
-problemas fácilmente
resolubles.
P1
P1.1 P1.2 P1.3
Composición de las soluciones de los sub-
problemas para lograr la solución final
El diseño del algoritmo que resuelve un problema,
realizado con esta técnica recibe el nombre de DISEÑO
DESCENDENTE y resulta en algoritmo muy legibles,
claros, fáciles de entender, seguir y corregir.
El diseño de un algoritmo no se hace de una sola vez, sino
que se va resolviendo en una secuencia de pasos ( llamados
PASOS DE REFINAMIENTO).
En cada paso el problema es refinado agregando detalles
significativos, por lo que el método se conoce como:
MÉTODO DE LOS REFINAMIENTOS SUCESIVOS.
UN INGENIERO ES CONVOCADO PARA
CONSTRUIR UN EDIFICIO
CONSTRUCCIÓN
DEL
EDIFICIO
CONFECCICÓN
DE LOS
PLANOS
CONTRATACIÓN
DEL
PERSONAL
COMPRA DE
MATERIALES
DIRECCIÓN
DE LA
OBRA
UN SUB- PROBLEMA
CONFECCIÓN
DE LOS
PLANOS
DISEÑO DEL
ANTEPROYECTO
APROBACIÓN
DEL
ANTEPROYECTO
ELABORACIÓN
DE LOS
PLANOS
APROBACIÓN
DE LOS
PLANOS
OTRO SUB- PROBLEMA
CONTRATACIÓN
DEL
PERSONAL
PEDIDO DE
CURRICULUM
VITAE
ANÁLISIS
DE LOS
CURRÍCULUM
VITAE
ENTREVISTAS
PERSONALES
REDACCIÓN
DE LOS
CONTRATOS
OTRO SUB- PROBLEMA
COMPRA
DE
MATERIALES
CÁLCULO
DE
MATERIALES
PEDIDO
DE
PRECIOS
SELECCIÓN
DE
PROVEEDORES
Al utilizar el refinamiento por pasos el diseñador
de un algoritmo debe saber donde detenerse, es
decir, debe saber cuando un paso específico del
algoritmo es lo suficientemente claro para no
necesitar más refinamiento.
Se necesita CONOCER LAS CAPACIDADES DE
UN PROCESADOR no sólo para terminar los
refinamientos, sino para dirigir la forma en que el
refinamiento avanza.
Una computadora puede interpretar cualquier cosa
expresadas de manera adecuada en un lenguaje de
programación. Así el diseñador de un algoritmo de
computadora puede orientar los pasos y la
terminación del refinamiento hacia el tipo de
lenguaje que se trate.
Programación estructurada
Los principios metodológicos básicos de la
programación estructurada son los de subdividir el
problema inicial o de partida en partes manejables
para su análisis y hacer de esta manera que se agilice
el proceso de entender el problema y la solución.
Básicamente, estas subdivisiones deseadas( llamadas
módulos) deben satisfacer los siguientes requisitos:
1. Los módulos deben estas jerarquizados.
2. Deben ser pequeños y sencillos.
3. Se deberán utilizar tantos módulos de menor jerarquía
como sea necesario para cumplir con la restricción de ser
pequeños y sencillos.
4. Se deberán usar las estructuras de control y datos
adecuadas para cumplir con el requisito de pequeños y
sencillos.
5. Los módulos deben ser legibles para cualquier persona
aunque tenga solamente conocimientos elementales de
progrmación.
LENGUAJE DE DISEÑO DE PROGRAMAS
Como la meta es escribir algoritmos que sean
procesados en una computadora, se va a producir un
lenguaje de diseño adecuado.
Se llamará LENGUAJE DE DESCRIPCIÓN DE
PROGRAMAS a la herramienta que permitirá
diseñar programas de codificación.
Este pseudo- lenguaje tiene las siguientes características:
1. Permite expresar de manera informal las estructuras de
2. Permite expresar las ideas en frases del lenguaje propio o natural.
3. Es similar al lenguaje de programación pero no está ligado a
ninguna regla formal de sintaxis como aquellos.
4. No es un lenguaje compilable
5. Por convención se hace un sangrado en el texto que ayuda a la
percepción visual de la lógica del diseño.
6. Permite expresar diseños de fácil comprensión que podrá
convertirse sin dificultad a código en el lenguaje de implementación.
7. El pseudo- código generado es más fácil de cambiar y corregir que el
código del programa.
DIAGRAMA DE FLUJO
Un diagrama de flujo es otra técnica de diseño de
algoritmos. Consiste en una serie de símbolos que
denotan acciones, decisiones o procedimientos que
se unen mediante flechas y conectores.
Esta representación nos ayudará a conocer la
información que tenemos, donde la tenemos, que
debemos hacer con ella y como presentarla.
Debe tener las cualidades de sencillez, claridad y
normalización en su diseño.

Más contenido relacionado

La actualidad más candente

Pasos Para Resolver Un Problema Utilizando Un Pc
Pasos  Para Resolver Un Problema  Utilizando Un PcPasos  Para Resolver Un Problema  Utilizando Un Pc
Pasos Para Resolver Un Problema Utilizando Un Pcguest965b17
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoJohanCaro5
 
desarrollo lógico de problemas de computadoras
desarrollo lógico de problemas de computadorasdesarrollo lógico de problemas de computadoras
desarrollo lógico de problemas de computadorasyanethcandanedo
 
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaAlgoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaJesus Freites
 
Pasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorPasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorROBINSON AUGUSTO AVILA OLIVEROS
 
Pseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujoPseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujoJuan Pablo Tello Zapata
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacionadrianfazio
 
Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1Alma Lopez
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR DarkStarPlay
 
Fases de resolucion de problemas
Fases de resolucion de problemasFases de resolucion de problemas
Fases de resolucion de problemasncrmax
 
Resolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computadorResolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computadorVictor Alfonzo Marquina
 

La actualidad más candente (19)

Pasos Para Resolver Un Problema Utilizando Un Pc
Pasos  Para Resolver Un Problema  Utilizando Un PcPasos  Para Resolver Un Problema  Utilizando Un Pc
Pasos Para Resolver Un Problema Utilizando Un Pc
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
desarrollo lógico de problemas de computadoras
desarrollo lógico de problemas de computadorasdesarrollo lógico de problemas de computadoras
desarrollo lógico de problemas de computadoras
 
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaAlgoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
 
Los algoritmos
Los    algoritmosLos    algoritmos
Los algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Pasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorPasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computador
 
Pseudocodigo - Algoritmos - Diagramas de flujo
Pseudocodigo - Algoritmos - Diagramas de flujoPseudocodigo - Algoritmos - Diagramas de flujo
Pseudocodigo - Algoritmos - Diagramas de flujo
 
Pseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujoPseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujo
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacion
 
Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
 
Fases de resolucion de problemas
Fases de resolucion de problemasFases de resolucion de problemas
Fases de resolucion de problemas
 
Resolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computadorResolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computador
 
Unidad 1 margie
Unidad 1 margieUnidad 1 margie
Unidad 1 margie
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Destacado

Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosVando Junqueira
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudJefferson Cuaspud
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosMairaM
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2César Augusto Pessôa
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4César Augusto Pessôa
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPSedu
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...Professor Samuel Ribeiro
 
Gerenciamento de projetos de engenharia
Gerenciamento de projetos de engenhariaGerenciamento de projetos de engenharia
Gerenciamento de projetos de engenhariaWladmir Araujo
 
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)Luis Henrique Nunes Quezado
 
Presentación evaluacion y cierre de curso virtual
Presentación  evaluacion y cierre de curso virtualPresentación  evaluacion y cierre de curso virtual
Presentación evaluacion y cierre de curso virtualJose iGNACIO Jimenez
 
Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)maryvascon
 

Destacado (20)

Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmos
 
PyFuncemeClimateTools
PyFuncemeClimateToolsPyFuncemeClimateTools
PyFuncemeClimateTools
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson Cuaspud
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de Projetos
 
Algoritmos conceitos
Algoritmos conceitosAlgoritmos conceitos
Algoritmos conceitos
 
Aula 15 minutos
Aula 15 minutosAula 15 minutos
Aula 15 minutos
 
Operadores booleanos
Operadores booleanosOperadores booleanos
Operadores booleanos
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2
 
LÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVELLÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVEL
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
 
Operadores
OperadoresOperadores
Operadores
 
Algoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetiçãoAlgoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetição
 
Gerenciamento de projetos de engenharia
Gerenciamento de projetos de engenhariaGerenciamento de projetos de engenharia
Gerenciamento de projetos de engenharia
 
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
 
Presentación evaluacion y cierre de curso virtual
Presentación  evaluacion y cierre de curso virtualPresentación  evaluacion y cierre de curso virtual
Presentación evaluacion y cierre de curso virtual
 
Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)
 

Similar a Algoritmos: conceptos y propiedades

PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdfPRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdfpitechu
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La ProgramacionMary Sanchez
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxTIRZOANTONIOMEDINACA1
 
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
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacionrulo182
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacionbrayan_2012
 
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ónQuirogaSharon
 
Algoritmos libro 6
Algoritmos  libro 6Algoritmos  libro 6
Algoritmos libro 6desi2907
 

Similar a Algoritmos: conceptos y propiedades (20)

PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdfPRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
 
Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3
 
01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
ALGORITMOS
ALGORITMOS ALGORITMOS
ALGORITMOS
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
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
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Programación
ProgramaciónProgramación
Programación
 
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 libro 6
Algoritmos  libro 6Algoritmos  libro 6
Algoritmos libro 6
 
Metodologia
MetodologiaMetodologia
Metodologia
 
ALGORITMOS y ejemplo en java.pptx
ALGORITMOS  y ejemplo en java.pptxALGORITMOS  y ejemplo en java.pptx
ALGORITMOS y ejemplo en java.pptx
 
Algoritmica terminado
Algoritmica terminadoAlgoritmica terminado
Algoritmica terminado
 

Último

LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
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
 
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
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 

Último (20)

LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
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...
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
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
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 

Algoritmos: conceptos y propiedades

  • 2. ALGORITMOS Es un conjunto finito de instrucciones que especifican una secuencia de operaciones a realizar en orden para resolver un problema específico. En otras palabras, un algoritmo es un método para la solución de problemas.
  • 3. PROPIEDADES DE UN ALGORITMO Secuencialidad Ausencia de Ambigüedades Generalidad Limitaciones
  • 4. SECUENCIALIDAD Se debe especificar sin lugar a dudas la secuencia a utilizar. Un algoritmo debe tener una instrucción inicial única y un sucesor único en cada secuencia. Las instrucciones son llevadas a cabo de arriba hacia abajo a menos que las mismas especifiquen lo contrario. Las entradas son las partidas de datos presentadas al algoritmo. Las salidas son partidas de datos procesados que son el resultado de la ejecución un programa basado en el algoritmo.
  • 5. AUSENCIA DE AMBIGÜEDAD En algoritmo debe ser defino, claro, preciso y no ambiguo. La representación de cada paso de un algoritmo debe dar lugar a una sola interpretación posible. Esta condición significa que cada vez que se presente para su ejecución u algoritmo con los mismos datos de entrada, se obtendrán los mismos resultados. Las instrucciones de un algoritmo debe ordenar a la computadora que solo lleve a cabo tareas que sea capaz de hacer. Una computadora no puede efectuar una instrucción si tiene información insuficiente o si el comando no está definido.
  • 6. GENERALIDAD Un algoritmo se puede realizar para varios problemas que se relacionan entre sí. Un algoritmo se aplica a un problema o clase de problemas específicos; el rango de las entradas o dominios se tiene que definir previamente, ya que está determinado el alcance o la generalidad del algoritmo.
  • 7. LIMITACIÓN Un algoritmo es finito en tamaño y tiempo. La ejecución de un algoritmo programado debe finalizar después de que se haya llevado a cabo una cantidad finita de operaciones.
  • 8. DOMINIO DE UN ALGORITMO La clase o el conjunto de datos y condiciones para las cuales un algoritmo trabaja concretamente se llama dominio. Cuando se trata de resolver cualquier problema es necesario definir el dominio del algoritmo y después verificar que trabaja para todos los casos que se encuentran dentro del dominio. Es necesario incluir en el dominio todas las situaciones similares, pero los casos remotos o poco probables se permiten omitir.
  • 9. ERRORES EN LA CONTRUCCIÓN DEL DOMINIO.  Errores del dominio: se presentan cuando se no han especificado todas las situaciones que se pueden presentar en la práctica o se han descuidado la apreciación de su importancia. A medida que se presenta el problema, se tiene que clasificar y hay tres opciones: 1. Ignorarlo porque es improbable y quizás nunca ocurra. 2. Restringir el dominio del algoritmo para excluirlo. 3. Corregir el algoritmo.
  • 10. ERRORES DE LÓGICA:  Son aquellos errores que se detectan, después que se ha definido en forma adecuada el dominio de un algoritmo, en la etapa de prueba o verificación.  se deben principalmente a las siguientes causas: 1. Etapas incorrectas. 2. Secuencia incorrecta de etapas 3. El criterio de elección de un algoritmo debe hacerse en base a criterios tales como: a) Que el algoritmo sea simple, es decir, fácil de entender y de escribir. b) Que el algoritmo sea eficiente.
  • 11. MÉTODO HEURÍSTICO La heurística proporciona un esquema o plan para abordar los problemas poco conocidos, mejora la capacidad de crear soluciones y asegura que el método que se va a usar sea eficiente. En la etapa de planificación es donde se tiene la oportunidad de comparar métodos y seleccionar el más adecuado.
  • 12. Surge la pregunta: ¿ Cómo se pueden resolver los problemas para los que no hay un método establecido o para los cuales conocemos un algoritmo?.
  • 13. DISEÑO DE UN ALGORITMO Un método heurística para diseñar algoritmo es el denominado DIVIDE AND CONQUER, el cual es una técnica TOP-DOWN. Este método permite implementar la segmentación, descomposición de un problema largo y complejo en problemas independientes más pequeños y fáciles de resolver que el problema de partida. La técnica consiste en varias etapas.
  • 14. DESCOMPOSICIÓN DEL PROBLEMA DE PARTIDA EN SUBPROBLEMAS INDEPENDIENTES Y DETERMINACIÓN DE LAS RELACIONES ENTRE ELLOS. P P1 P2 P3
  • 15. RESOLUCIÓN DE CADA SUBPROBLEMA Si un sub-problema es grande, por descomposición y continuando hasta que resulten de la descomposición sub -problemas fácilmente resolubles. P1 P1.1 P1.2 P1.3
  • 16. Composición de las soluciones de los sub- problemas para lograr la solución final El diseño del algoritmo que resuelve un problema, realizado con esta técnica recibe el nombre de DISEÑO DESCENDENTE y resulta en algoritmo muy legibles, claros, fáciles de entender, seguir y corregir. El diseño de un algoritmo no se hace de una sola vez, sino que se va resolviendo en una secuencia de pasos ( llamados PASOS DE REFINAMIENTO). En cada paso el problema es refinado agregando detalles significativos, por lo que el método se conoce como: MÉTODO DE LOS REFINAMIENTOS SUCESIVOS.
  • 17. UN INGENIERO ES CONVOCADO PARA CONSTRUIR UN EDIFICIO CONSTRUCCIÓN DEL EDIFICIO CONFECCICÓN DE LOS PLANOS CONTRATACIÓN DEL PERSONAL COMPRA DE MATERIALES DIRECCIÓN DE LA OBRA
  • 18. UN SUB- PROBLEMA CONFECCIÓN DE LOS PLANOS DISEÑO DEL ANTEPROYECTO APROBACIÓN DEL ANTEPROYECTO ELABORACIÓN DE LOS PLANOS APROBACIÓN DE LOS PLANOS
  • 19. OTRO SUB- PROBLEMA CONTRATACIÓN DEL PERSONAL PEDIDO DE CURRICULUM VITAE ANÁLISIS DE LOS CURRÍCULUM VITAE ENTREVISTAS PERSONALES REDACCIÓN DE LOS CONTRATOS
  • 21. Al utilizar el refinamiento por pasos el diseñador de un algoritmo debe saber donde detenerse, es decir, debe saber cuando un paso específico del algoritmo es lo suficientemente claro para no necesitar más refinamiento. Se necesita CONOCER LAS CAPACIDADES DE UN PROCESADOR no sólo para terminar los refinamientos, sino para dirigir la forma en que el refinamiento avanza.
  • 22. Una computadora puede interpretar cualquier cosa expresadas de manera adecuada en un lenguaje de programación. Así el diseñador de un algoritmo de computadora puede orientar los pasos y la terminación del refinamiento hacia el tipo de lenguaje que se trate.
  • 23. Programación estructurada Los principios metodológicos básicos de la programación estructurada son los de subdividir el problema inicial o de partida en partes manejables para su análisis y hacer de esta manera que se agilice el proceso de entender el problema y la solución.
  • 24. Básicamente, estas subdivisiones deseadas( llamadas módulos) deben satisfacer los siguientes requisitos: 1. Los módulos deben estas jerarquizados. 2. Deben ser pequeños y sencillos. 3. Se deberán utilizar tantos módulos de menor jerarquía como sea necesario para cumplir con la restricción de ser pequeños y sencillos. 4. Se deberán usar las estructuras de control y datos adecuadas para cumplir con el requisito de pequeños y sencillos. 5. Los módulos deben ser legibles para cualquier persona aunque tenga solamente conocimientos elementales de progrmación.
  • 25. LENGUAJE DE DISEÑO DE PROGRAMAS Como la meta es escribir algoritmos que sean procesados en una computadora, se va a producir un lenguaje de diseño adecuado. Se llamará LENGUAJE DE DESCRIPCIÓN DE PROGRAMAS a la herramienta que permitirá diseñar programas de codificación.
  • 26. Este pseudo- lenguaje tiene las siguientes características: 1. Permite expresar de manera informal las estructuras de 2. Permite expresar las ideas en frases del lenguaje propio o natural. 3. Es similar al lenguaje de programación pero no está ligado a ninguna regla formal de sintaxis como aquellos. 4. No es un lenguaje compilable 5. Por convención se hace un sangrado en el texto que ayuda a la percepción visual de la lógica del diseño. 6. Permite expresar diseños de fácil comprensión que podrá convertirse sin dificultad a código en el lenguaje de implementación. 7. El pseudo- código generado es más fácil de cambiar y corregir que el código del programa.
  • 27. DIAGRAMA DE FLUJO Un diagrama de flujo es otra técnica de diseño de algoritmos. Consiste en una serie de símbolos que denotan acciones, decisiones o procedimientos que se unen mediante flechas y conectores. Esta representación nos ayudará a conocer la información que tenemos, donde la tenemos, que debemos hacer con ella y como presentarla. Debe tener las cualidades de sencillez, claridad y normalización en su diseño.