SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Algoritmos. Definición
Un algoritmo se puede definir como una secuencia de instrucciones que
representan un modelo de solución para determinado tipo de problemas. O
bien como un conjunto de instrucciones que realizadas en orden conducen a
obtener la solución de un problema.
Para realizar un programa es conveniente el diseño o definición previa del
algoritmo. El diseño de algoritmos requiere creatividad y conocimientos
profundos de la técnica de programación. Luis Joyanes, programador experto y
autor de muchos libros acerca de lógica y programación nos dice “en la ciencia
de la computación y en la programación, los algoritmos son más importantes
que los lenguajes de programación o las computadoras. Un lenguaje de
programación es sólo un medio para expresar un algoritmo y una computadora
es sólo un procesador para ejecutarlo”.
Loa algoritmos son independientes de los lenguajes de programación. En cada
problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje
diferente de programación. El algoritmo es la infraestructura de cualquier
solución, escrita luego en cualquier lenguaje de programación.
Características de los algoritmos
• Preciso. Definirse de manera rigurosa, sin dar lugar a ambigüedades.
• Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo
resultado.
• Finito. Debe terminar en algún momento.
• Puede tener cero o más elementos de entrada.
• Debe producir un resultado. Los datos de salida serán los resultados de
efectuar las instrucciones.
Se concluye que un algoritmo debe ser suficiente para resolver el problema.
Entre dos algoritmos que lleven a un mismo objetivo, siempre será
preferible el más corto (se deberá analizar la optimización de tiempos y / o
recursos).
Etapas para la solución de un problema por medio del computador
1. Análisis del problema, definición y delimitación (macroalgoritmo).
Considerar los datos de entrada, el proceso que debe realizar el
computador y los datos de salida.
2. Diseño y desarrollo del algoritmo (se utiliza pseudocódigo, escritura
natural del algoritmo, diagramas de flujo, etc. )
3. Prueba de escritorio. Seguimiento manual de los pasos descritos en el
algoritmo. Se hace con valores bajos y tiene como fin detectar errores.
4. Codificación. Selección de un lenguaje de programación y digitación del
pseudocódigo haciendo uso de la sintaxis y estructura gramatical del
lenguaje seleccionado.
5. Compilación o interpretación del programa. El software elegido convierte
las instrucciones escritas en el lenguaje a las comprendidas por el
computador.
6. Ejecución. El programa es ejecutado por la máquina para llegar a los
resultados esperados.
7. Depuración (debug). Operación de detectar, localizar y eliminar errores
de mal funcionamiento del programa.
8. Evaluación de resultados. Obtenidos los resultados se los evalúa para
verificar si son correctos. (Un programa puede arrojar resultados
incorrectos aún cuando su ejecución no muestra erorres).
Algoritmos cualitativos y algoritmos cuantitativos
Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están
involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo,
para desarrollar una actividad física o encontrar un tesoro, son ejemplos de
algoritmos cualitativos.
Trate de diseñar el algoritmo para estos casos
• Tomar mate
• Utilizar una guía telefónica
• Cocinar siguiendo una receta
• Cambiar una llanta de automóvil
• Buscar una palabra en el diccionario
Los algoritmos cuantitativos involucran cálculos numéricos.
Ejemplos:
• Solución de un factorial
• Solución de una ecuación de segundo grado
• Encontrar el mínimo común multiplicador.
Técnicas de representación
Para la representación de un algoritmo, antes de ser convertido a lenguaje de
programación, se utilizan algunos métodos de representación escrita, gráfica o
matemática. Los métodos más conocidos son:
• Diagramación libre (Diagramas de flujo)
• Diagramas Nassi-Shneiderman
• Pseudocódigo
• Lenguaje natural (español, inglés, etc.)
• Fórmulas matemáticas
El lenguaje natural puede no ser suficientemente preciso, permitiendo
ambigüedades, obteniendo una descripción no del todo satisfactoria. Las
fórmulas, propias del lenguaje matemático, son un buen sistema de
representación, pero no suelen ser fáciles de convertir en programas. Por lo
tanto, trataremos en este curso los tres primeros modelos.
Diagramas de flujo.
Es quizás la forma de representación más antigua. Algunos autores suelen
llamarlos también como diagramas de lógica o flujogramas.
Un diagrama de flujo utiliza cajas estándar tales como las que se muestran en
las figuras 1, 2 y 3:
Diagramas Nassi-Schneiderman o Chapin
También conocidos como Diagramas de Chapin, corresponden a uno de los
tipos de diagramación estructurada. Las acciones se escriben en rectángulos o
cajas sucesivas. Se pueden escribir diferentes acciones en una caja. La
simbología utilizada es como vemos en las figuras siguientes.
Pseudocódigo
Es la técnica que permite expresar la solución de un problema mediante un
algoritmo escrito en palabras normales de un idioma (por ejemplo, el español),
utilizando palabras imperativas. Es común encontrar en pseudocódigo palabras
como: Inicie, lea, imprima, sume, divida, calcule, finalice. No hay un léxico
obligado para el pseudocódigo, pero con el uso frecuente se han establecido
algunos estándares. Este es un ejemplo de un programa escrito en
pseudocódigo:
Inicie
{Calcule el salario neto y deducción de 6%} {Esto es un comentario}
Lea nombre, horas, valor_hora
Salario_bruto=horas*valor_hora
Deduccion=Salario_bruto*6%
Salario_neto=Salario_bruto – Deduccion
Imprima nombre, Salario_bruto, Deduccion, Salario_neto
Finalice
Técnicas de diagramación
En nuestra asignatura, por su facilidad y adecuada representación de los
problemas a resolver, utilizaremos para represetar los algoritmos, a la técnica
de diagramas de flujo.
A su vez, para un mejor ordenamiento en la realización de esos diagramas, se
han elaborado técnicas de diseño de los mismos.
Nosotros utilizaremos las denominadas top-down y estructrurada.
La primera de ellas, la top-down, persigue la descomposición de un problema
en partes, tomando en primer lugar la dimensión total, para luego ir
identificando sus partes componentes e ir tratándolas en forma particular y con
mayor grado de detalle cada vez, hasta llegar a una expresión final de
resolución simple, trivial o ya conocida.
La diagramación estructurada no indica la forma en que se pueden utilizar y
vincular los símbolos gráficos entre sí.
De esta manera se distinguen la siguientes estructuras elementales, que luego
al combinarse entre sí, dan lugar al diagrama total.
Estructuras:
Secuencia
Decisión simple
Decisión múltiple
Repetición con condición inicial
Repetición con condición final

Weitere ähnliche Inhalte

Was ist angesagt?

Icfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesiónIcfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesiónYuseff Bladeshark
 
Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1LisbleinArismendi
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvezDaniel Gelvez
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informaticakassvarg
 
Unidad1
Unidad1Unidad1
Unidad1Yaaree
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3Elba Sepúlveda
 
Trabajo de thali infor
Trabajo de thali inforTrabajo de thali infor
Trabajo de thali inforThalia Diaz
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónEdison Morales
 
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje deConceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de'Felipe Lozada
 
Axel compu inf2
Axel compu inf2Axel compu inf2
Axel compu inf2gabuslacra
 
Unidad 02 -_metodologia_para_solucionar_un_problema
Unidad 02 -_metodologia_para_solucionar_un_problemaUnidad 02 -_metodologia_para_solucionar_un_problema
Unidad 02 -_metodologia_para_solucionar_un_problemaIdealab
 

Was ist angesagt? (16)

Icfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesiónIcfe sahuayo clase informatica 2 primera sesión
Icfe sahuayo clase informatica 2 primera sesión
 
Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1
 
10 Tips para desarrollar tu lógica de programación
10 Tips para desarrollar tu lógica de programación10 Tips para desarrollar tu lógica de programación
10 Tips para desarrollar tu lógica de programación
 
algoritmos
 algoritmos  algoritmos
algoritmos
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvez
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Algoritmica terminado
Algoritmica terminadoAlgoritmica terminado
Algoritmica terminado
 
Unidad1
Unidad1Unidad1
Unidad1
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
 
Trabajo de thali infor
Trabajo de thali inforTrabajo de thali infor
Trabajo de thali infor
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje deConceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Axel compu inf2
Axel compu inf2Axel compu inf2
Axel compu inf2
 
Unidad 02 -_metodologia_para_solucionar_un_problema
Unidad 02 -_metodologia_para_solucionar_un_problemaUnidad 02 -_metodologia_para_solucionar_un_problema
Unidad 02 -_metodologia_para_solucionar_un_problema
 

Andere mochten auch

Andere mochten auch (20)

Partes de una computadora
Partes de una computadoraPartes de una computadora
Partes de una computadora
 
Hipertensión arterial
Hipertensión arterialHipertensión arterial
Hipertensión arterial
 
Ct av emrc_1ceb
Ct av emrc_1cebCt av emrc_1ceb
Ct av emrc_1ceb
 
?????? ??? ???? ???????? ??? ?????
?????? ??? ???? ???????? ??? ??????????? ??? ???? ???????? ??? ?????
?????? ??? ???? ???????? ??? ?????
 
Istu leaflet-nop 2012
Istu leaflet-nop 2012Istu leaflet-nop 2012
Istu leaflet-nop 2012
 
MagisterDegree
MagisterDegreeMagisterDegree
MagisterDegree
 
doc04149420150124133456
doc04149420150124133456doc04149420150124133456
doc04149420150124133456
 
Motor Bikes
Motor BikesMotor Bikes
Motor Bikes
 
Someone Update Flow Chart
Someone Update Flow ChartSomeone Update Flow Chart
Someone Update Flow Chart
 
Auto time keeping for your business.
Auto time keeping for your business.Auto time keeping for your business.
Auto time keeping for your business.
 
Estudo Sistematizado da Mediunidade
Estudo Sistematizado da Mediunidade Estudo Sistematizado da Mediunidade
Estudo Sistematizado da Mediunidade
 
05 administracion-y-gestion-educativa
05 administracion-y-gestion-educativa05 administracion-y-gestion-educativa
05 administracion-y-gestion-educativa
 
Obecidad
Obecidad Obecidad
Obecidad
 
Turisme i oci
Turisme i ociTurisme i oci
Turisme i oci
 
Presentation1
Presentation1Presentation1
Presentation1
 
Las vocales
Las vocalesLas vocales
Las vocales
 
Estelita
EstelitaEstelita
Estelita
 
Lei ordinaria n 10686 2010
Lei ordinaria n 10686 2010Lei ordinaria n 10686 2010
Lei ordinaria n 10686 2010
 
Digital marketing
Digital marketingDigital marketing
Digital marketing
 
Fundamentos para análisis de resultados de una investigación
Fundamentos para análisis de resultados de una investigaciónFundamentos para análisis de resultados de una investigación
Fundamentos para análisis de resultados de una investigación
 

Ähnlich wie Alg diag

Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraFaridCastillo2
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraJulioVizcarra5
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoLeidiCaro1
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvezDaniel Gelvez
 
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
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientococomarin2
 
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptxDAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptxDavidMontalvo37
 

Ähnlich wie Alg diag (20)

Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvez
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Conceptos basicos algoritmos
Conceptos basicos algoritmosConceptos basicos algoritmos
Conceptos basicos algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Clase 5
Clase 5Clase 5
Clase 5
 
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
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptxDAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
 

Kürzlich hochgeladen

Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfVictoria867681
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4Andrea11166
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxAdriannDiaz
 
manual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighgmanual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighgTareghKarami
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...dnmxd1213
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMaraMilagrosBarrosMa
 
Elementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principalElementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principaljflores44
 
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdfIntroducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdfMIGUELANGEL2672
 
la modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticola modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticofabianamarcano1
 
estamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacnaestamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacnaluischoquecota1
 
Biografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventosBiografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventoslilianacajamarca3
 
AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...
AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...
AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...jhonydavid194
 
Primo de Rivera presentacion 2 bachillerato selectividad
Primo de Rivera  presentacion 2 bachillerato selectividadPrimo de Rivera  presentacion 2 bachillerato selectividad
Primo de Rivera presentacion 2 bachillerato selectividaddk7nvvt85n
 
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfuiEVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfuireyesandre407
 
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZHISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZAnthonellaQuispe
 
Nuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfNuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfmalvarado8
 
Dibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorearDibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorearKarenValdesCordova
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaccastilloojeda12
 
Signos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.docSignos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.docCesarCastillo170650
 
apendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptxapendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptxsalazarsilverio074
 

Kürzlich hochgeladen (20)

Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdf
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
 
manual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighgmanual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighg
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
 
Elementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principalElementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principal
 
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdfIntroducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdf
 
la modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticola modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didactico
 
estamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacnaestamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacna
 
Biografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventosBiografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventos
 
AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...
AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...
AGENDA DE LA REUNIÓN CON PADRES DE FAMILIA DE LA INSTITUCIÓN EDUCATIVA GENIUS...
 
Primo de Rivera presentacion 2 bachillerato selectividad
Primo de Rivera  presentacion 2 bachillerato selectividadPrimo de Rivera  presentacion 2 bachillerato selectividad
Primo de Rivera presentacion 2 bachillerato selectividad
 
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfuiEVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
 
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZHISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
 
Nuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfNuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdf
 
Dibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorearDibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorear
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitectura
 
Signos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.docSignos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.doc
 
apendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptxapendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptx
 

Alg diag

  • 1. Algoritmos. Definición Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Para realizar un programa es conveniente el diseño o definición previa del algoritmo. El diseño de algoritmos requiere creatividad y conocimientos profundos de la técnica de programación. Luis Joyanes, programador experto y autor de muchos libros acerca de lógica y programación nos dice “en la ciencia de la computación y en la programación, los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo”. Loa algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación. Características de los algoritmos • Preciso. Definirse de manera rigurosa, sin dar lugar a ambigüedades. • Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado. • Finito. Debe terminar en algún momento. • Puede tener cero o más elementos de entrada. • Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones. Se concluye que un algoritmo debe ser suficiente para resolver el problema. Entre dos algoritmos que lleven a un mismo objetivo, siempre será preferible el más corto (se deberá analizar la optimización de tiempos y / o recursos). Etapas para la solución de un problema por medio del computador 1. Análisis del problema, definición y delimitación (macroalgoritmo). Considerar los datos de entrada, el proceso que debe realizar el computador y los datos de salida. 2. Diseño y desarrollo del algoritmo (se utiliza pseudocódigo, escritura natural del algoritmo, diagramas de flujo, etc. ) 3. Prueba de escritorio. Seguimiento manual de los pasos descritos en el algoritmo. Se hace con valores bajos y tiene como fin detectar errores. 4. Codificación. Selección de un lenguaje de programación y digitación del pseudocódigo haciendo uso de la sintaxis y estructura gramatical del lenguaje seleccionado.
  • 2. 5. Compilación o interpretación del programa. El software elegido convierte las instrucciones escritas en el lenguaje a las comprendidas por el computador. 6. Ejecución. El programa es ejecutado por la máquina para llegar a los resultados esperados. 7. Depuración (debug). Operación de detectar, localizar y eliminar errores de mal funcionamiento del programa. 8. Evaluación de resultados. Obtenidos los resultados se los evalúa para verificar si son correctos. (Un programa puede arrojar resultados incorrectos aún cuando su ejecución no muestra erorres). Algoritmos cualitativos y algoritmos cuantitativos Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo, para desarrollar una actividad física o encontrar un tesoro, son ejemplos de algoritmos cualitativos. Trate de diseñar el algoritmo para estos casos • Tomar mate • Utilizar una guía telefónica • Cocinar siguiendo una receta • Cambiar una llanta de automóvil • Buscar una palabra en el diccionario Los algoritmos cuantitativos involucran cálculos numéricos. Ejemplos: • Solución de un factorial • Solución de una ecuación de segundo grado • Encontrar el mínimo común multiplicador. Técnicas de representación Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son: • Diagramación libre (Diagramas de flujo) • Diagramas Nassi-Shneiderman • Pseudocódigo • Lenguaje natural (español, inglés, etc.) • Fórmulas matemáticas El lenguaje natural puede no ser suficientemente preciso, permitiendo ambigüedades, obteniendo una descripción no del todo satisfactoria. Las fórmulas, propias del lenguaje matemático, son un buen sistema de
  • 3. representación, pero no suelen ser fáciles de convertir en programas. Por lo tanto, trataremos en este curso los tres primeros modelos. Diagramas de flujo. Es quizás la forma de representación más antigua. Algunos autores suelen llamarlos también como diagramas de lógica o flujogramas. Un diagrama de flujo utiliza cajas estándar tales como las que se muestran en las figuras 1, 2 y 3:
  • 4. Diagramas Nassi-Schneiderman o Chapin También conocidos como Diagramas de Chapin, corresponden a uno de los tipos de diagramación estructurada. Las acciones se escriben en rectángulos o cajas sucesivas. Se pueden escribir diferentes acciones en una caja. La simbología utilizada es como vemos en las figuras siguientes.
  • 5. Pseudocódigo Es la técnica que permite expresar la solución de un problema mediante un algoritmo escrito en palabras normales de un idioma (por ejemplo, el español), utilizando palabras imperativas. Es común encontrar en pseudocódigo palabras como: Inicie, lea, imprima, sume, divida, calcule, finalice. No hay un léxico obligado para el pseudocódigo, pero con el uso frecuente se han establecido algunos estándares. Este es un ejemplo de un programa escrito en pseudocódigo: Inicie {Calcule el salario neto y deducción de 6%} {Esto es un comentario} Lea nombre, horas, valor_hora Salario_bruto=horas*valor_hora Deduccion=Salario_bruto*6% Salario_neto=Salario_bruto – Deduccion Imprima nombre, Salario_bruto, Deduccion, Salario_neto Finalice Técnicas de diagramación En nuestra asignatura, por su facilidad y adecuada representación de los problemas a resolver, utilizaremos para represetar los algoritmos, a la técnica de diagramas de flujo.
  • 6. A su vez, para un mejor ordenamiento en la realización de esos diagramas, se han elaborado técnicas de diseño de los mismos. Nosotros utilizaremos las denominadas top-down y estructrurada. La primera de ellas, la top-down, persigue la descomposición de un problema en partes, tomando en primer lugar la dimensión total, para luego ir identificando sus partes componentes e ir tratándolas en forma particular y con mayor grado de detalle cada vez, hasta llegar a una expresión final de resolución simple, trivial o ya conocida. La diagramación estructurada no indica la forma en que se pueden utilizar y vincular los símbolos gráficos entre sí. De esta manera se distinguen la siguientes estructuras elementales, que luego al combinarse entre sí, dan lugar al diagrama total. Estructuras: Secuencia Decisión simple Decisión múltiple Repetición con condición inicial Repetición con condición final