SlideShare uma empresa Scribd logo
1 de 42
Cognos Informática Educativa
   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.



                                  Cognos Informática Educativa
   Secuencialidad
   Ausencia de Ambigüedades
   Generalidad
   Limitaciones




                               Cognos Informática Educativa
   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.
                                      Cognos Informática Educativa
   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.
                                              Cognos Informática Educativa
   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.



                                   Cognos Informática Educativa
   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.




                                   Cognos Informática Educativa
   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.
                                      Cognos Informática Educativa
    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.
                                        Cognos Informática Educativa
    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.
                                          Cognos Informática Educativa
   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.

                                     Cognos Informática Educativa
   ¿ Cómo se pueden resolver los problemas para
    los que no hay un método establecido o para
    los cuales conocemos un algoritmo?.




                                    Cognos Informática Educativa
   Un método heurística para diseñar algoritmo es
    el denominado DIVIDE AND CONQUER(Divide y
    Venceras), el cual es una técnica TOP-
    DOWN(Arriba-Abajo).
   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.
                                     Cognos Informática Educativa
P




P1   P2            P3



          Cognos Informática Educativa
   Si un sub-problema es
    grande, por
                                   P1
    descomposición y
    continuando hasta que
    resulten de la
    descomposición sub
    -problemas fácilmente
    resolubles.
                            P1.1   P1.2              P1.3




                                     Cognos Informática Educativa
 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.
                                          Cognos Informática Educativa
CONSTRUCCIÓN
                           DEL
                         EDIFICIO




CONFECCICÓN   CONTRATACIÓN                          DIRECCIÓN
                               COMPRA DE
   DE LOS          DEL                                DE LA
                               MATERIALES
  PLANOS        PERSONAL                               OBRA




                                            Cognos Informática Educativa
CONFECCIÓN
                          DE LOS
                          PLANOS




                APROBACIÓN     ELABORACIÓN         APROBACIÓN
  DISEÑO DEL
                    DEL           DE LOS             DE LOS
ANTEPROYECTO
               ANTEPROYECTO       PLANOS             PLANOS




                                             Cognos Informática Educativa
CONTRATACIÓN
                        DEL
                      PERSONAL




               ANÁLISIS
 PEDIDO DE                                        REDACCIÓN
                DE LOS       ENTREVISTAS
CURRICULUM                                          DE LOS
             CURRÍCULUM      PERSONALES
   VITAE                                          CONTRATOS
                 VITAE



                                           Cognos Informática Educativa
COMPRA
                DE
             MATERIALES




 CÁLCULO      PEDIDO       SELECCIÓN
    DE          DE             DE
MATERIALES    PRECIOS     PROVEEDORES


                           Cognos Informática Educativa
   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.
                                       Cognos Informática Educativa
   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.




                                    Cognos Informática Educativa
   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.




                                     Cognos Informática Educativa
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 programación.
                                         Cognos Informática Educativa
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.




                                Cognos Informática Educativa
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.
                                                Cognos Informática Educativa
   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.



                                        Cognos Informática Educativa
•   Un diagrama de flujo representa la esquematización
    gráfica de un algoritmo.
•   En realidad muestra gráficamente los pasos o procesos
    a seguir para alcanzar la solución de un problema.
•   Su correcta construcción es sumamente importante
    porque, a partir del mismo se escribe un programa en
    algún lenguaje de programación.
•   Si el diagrama de flujo está completo y correcto, el paso
    del mismo a un lenguaje de programación es
    relativamente simple y directo.
•   A continuación, presentamos los símbolos que
    utilizaremos y una explicación de los mismos. Estos
    satisfacen las recomendaciones de la ISO y la ANSI.
                                               Cognos Informática Educativa
Símbolo utilizado para marcar el inicio y el fin del diagrama flujo.

Símbolo utilizado para introducir los datos de entrada. Expresa
lectura.
Símbolo utilizado para representar un proceso. En su interior se
expresan asignaciones, operaciones aritméticas, cambios de valor
de celdas en memoria, etc.

Símbolo utilizado para representar una decisión. En su interior se
almacena una condición y dependiendo del resultado de la
evaluación de la misma se sigue por una de las ramas o caminos
alternativos: verdadero o falso.



                                                Cognos Informática Educativa
Símbolo utilizado para representar la impresión de un
resultado. Expresa escritura.

Símbolo utilizado para expresar conexión dentro de una misma
página.
Símbolos utilizados para expresar la dirección del flujo del
diagrama

Símbolo utilizado para expresar conexión entre páginas diferentes.



                                                Cognos Informática Educativa
•   Debemos recordar que un diagrama de flujo debe
    ilustrar gráficamente los pasos o procesos a seguir
    para alcanzar la solución de un problema.
•   Los símbolos colocados adecuadamente, permiten
    crear una estructura gráfica flexible que ilustra los
    pasos a seguir para alcanzar un resultado
    específico.
•   El diagrama de flujo facilitará más tarde la escritura
    del programa en algún lenguaje de programación.

                                            Cognos Informática Educativa
1.   Todo diagrama de flujo debe tener un inicio y
     un fin.
2.   Las líneas utilizadas para indicar la dirección
     del flujo del diagrama deben ser rectas,
     verticales y horizontales.
3.   Todas las líneas utilizadas para indicar la
     dirección del flujo del diagrama deben estar
     conectadas. La conexión puede ser a un
     símbolo que exprese lectura, proceso, decisión,
     impresión, conexión o fin de diagrama.

                                       Cognos Informática Educativa
2.   El diagrama de flujo debe ser construido de arriba
     hacia abajo (top-down) y de izquierda a derecha (right
     to left).
3.   La notación utilizada en el diagrama de flujo debe ser
     independiente del lenguaje de programación.
4.   Es conveniente cuando realizamos una tarea compleja
     poner comentarios que expresen o ayuden a entender
     lo que hicimos.
7.   Si el diagrama de flujo requiere más de una hoja para
     su construcción, debemos utilizar los conectores
     adecuados y enumerar las páginas convenientemente.
8.   No puede llegar más de una línea a un símbolo.
                                             Cognos Informática Educativa
inicio


  Lectura de
    Datos


Procesamiento de
      Datos

  Impresión de
   Resultados


      fin

                   Cognos Informática Educativa
Diseñar un algoritmo correspondiente que dado como dato la
   calificación de un alumno en un examen escriba “Aprobado”
   si su calificación es mayor que 8 y “Reprobado” en caso
   contrario.              inicio


                         CAL



                         CAL >8


             Aprobado             Reprobado


                         fin
                                              Cognos Informática Educativa
Las estructuras lógicas básicas necesarias para
  confeccionar un programa se reduce en tres:
  SECUENCIALES, SELECTIVAS Y REPETITIVAS.
1. Estructuras secuenciales
   Estructura DO - END ( INICIO - FIN)

                     DO
                     acción A
                     acción B
                     acción C
                     END



                                         Cognos Informática Educativa
2. Estructuras selectivas
Las estructuras algorítmicas selectivas que se utilizan para la
   toma de decisiones lógicas las podemos clasificar de la
   siguiente manera:
SI ENTONCES que es una estructura selectiva simple.
SI ENTONCES / SINO que es una estructura selectiva doble
SI MÚLTIPLE que es una estructura selectiva múltiple.

                            Aquí      podemos      observar           una
                            estructura
                            SI ENTONCES/SINO la cual permite
                            que el flujo del diagrama se bifurque
                            por dos ramas diferentes en el punto
                            de la toma de decisiones.Cognos Informática Educativa
A continuación se muestran las otras estructuras
  selectivas




                                        Cognos Informática Educativa
Estructuras repetitivas
Estructura repetitiva DOWHILE (mientras - hacer)

                           DOWHILE condición
                           acción1
                           acción2
                           .........
                           END DO




                                         Cognos Informática Educativa
   Estructura REPETIR
               La estructura REPETIR es la estructura algorítmica
               adecuada para utilizar en un ciclo que se ejecutará
               un número definido de veces.
               Por ejemplo cuando calculamos las nóminas de
               una empresa, tenemos que sumar los sueldos de
               N empleados de la misma. Podemos calcular
               el promedio de calificaciones de un grupo de
               alumnos sumando todas las calificaciones y
               dividir entre el número de alumnos o también
               sacar el promedio de cada alumno según sus
               calificaciones mensuales. En todos los caso
               sabemos de antemano cuántas veces tenemos
               que repetir una determinada operación.
                                                 Cognos Informática Educativa
Calcular los promedios de un numero X de alumnos, cada uno con 3
    notas, se debe mostrar por pantalla si esta aprobado o reprobado
    (usaremos la escala que se usa en Chile, del 1 al 7,  de un 4 para
    arriba esta aprobado):
1.- Vemos que procesos se deben realizar:
   a) Declarar (“nombrar”) variables a utilizar:
    Nota1,Nota2,Nota3,Suma,Promedio
    b) Ingresar notas
    c) Sumar las notas
    d) El resultado de la suma, dividirlo por 3
    e) Ver si este nuevo resultado es mayor o igual a 4
    f) Si es mayor, mostrar aprobado, de lo contrario mostrar reprobado
    e) Pregunta si se quieren ingresar las notas de otro alumno
    g) Si la respuesta es si, volver al paso “b” (no es necesario volver al
    a, ya que las variables están declaradas).
                                                        Cognos Informática Educativa
Proceso Promedio
   NOTA1<-0;
   NOTA2<-0;
   NOTA3<-0;
   PROMEDIO<-0;
   SUMA<-0;
   Leer NOTA1;
   Leer NOTA2;
   Leer NOTA3;
   SUMA<-
NOTA1+NOTA2+NOTA3;
   PROMEDIO<-SUMA/3;
   Si PROMEDIO>=4 Entonces
      Escribir 'APROBADO';
   Sino
      Escribir 'REPROBADO';
   FinSi
FinProceso                    Cognos Informática Educativa

Mais conteúdo relacionado

Mais procurados

Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosomarzon
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkLaurence HR
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Programacion logica 1
Programacion logica 1Programacion logica 1
Programacion logica 1profedelvalle
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacionMichele André
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREPedro Alvarez
 
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
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónJeckson Loza
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programaciónMilton Escobar
 
Logica de programacion de algoritmos
Logica de programacion de algoritmosLogica de programacion de algoritmos
Logica de programacion de algoritmosDavid Ramos
 

Mais procurados (20)

Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Logica algoritmos
Logica algoritmosLogica algoritmos
Logica algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tk
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
Programacion logica 1
Programacion logica 1Programacion logica 1
Programacion logica 1
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacion
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
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
 
Conceptos basicos algoritmos
Conceptos basicos algoritmosConceptos basicos algoritmos
Conceptos basicos algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Clase de programacion
Clase  de  programacionClase  de  programacion
Clase de programacion
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
 
Logica de programacion de algoritmos
Logica de programacion de algoritmosLogica de programacion de algoritmos
Logica de programacion de algoritmos
 

Destaque

Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Arturo Perez Murrieta
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujolisvancelis
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)irvingsalazar2
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujoKvinzuco
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramasluis840
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
Algoritmo del cuadrado de un binomio
Algoritmo del cuadrado de un binomioAlgoritmo del cuadrado de un binomio
Algoritmo del cuadrado de un binomioCriss Russo
 
Evaluación lógica de programación
Evaluación lógica de programaciónEvaluación lógica de programación
Evaluación lógica de programaciónJudith Poma
 
Divulgacion proceso sst
Divulgacion proceso sstDivulgacion proceso sst
Divulgacion proceso sstRecursosh127
 
Programa de Seguridad y Salud del trabajo
Programa de Seguridad y Salud del trabajoPrograma de Seguridad y Salud del trabajo
Programa de Seguridad y Salud del trabajoCristi Salaya Chan
 
Ejemplos sobre diagramas de flujo
Ejemplos sobre  diagramas de flujoEjemplos sobre  diagramas de flujo
Ejemplos sobre diagramas de flujoIsaura Nina
 

Destaque (20)

Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujo
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramas
 
Algoritmos ejemplos
Algoritmos ejemplosAlgoritmos ejemplos
Algoritmos ejemplos
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Algoritmos 50 ejemplos
Algoritmos 50 ejemplosAlgoritmos 50 ejemplos
Algoritmos 50 ejemplos
 
APRENDE GIMNASIA CON MAYRA
APRENDE GIMNASIA CON MAYRAAPRENDE GIMNASIA CON MAYRA
APRENDE GIMNASIA CON MAYRA
 
algoritmos
algoritmosalgoritmos
algoritmos
 
Algoritmo del cuadrado de un binomio
Algoritmo del cuadrado de un binomioAlgoritmo del cuadrado de un binomio
Algoritmo del cuadrado de un binomio
 
Analisis disenoalgorit
Analisis disenoalgoritAnalisis disenoalgorit
Analisis disenoalgorit
 
Evaluación lógica de programación
Evaluación lógica de programaciónEvaluación lógica de programación
Evaluación lógica de programación
 
Divulgacion proceso sst
Divulgacion proceso sstDivulgacion proceso sst
Divulgacion proceso sst
 
Programa de Seguridad y Salud del trabajo
Programa de Seguridad y Salud del trabajoPrograma de Seguridad y Salud del trabajo
Programa de Seguridad y Salud del trabajo
 
Ejemplos ejercicos
Ejemplos ejercicosEjemplos ejercicos
Ejemplos ejercicos
 
Ejemplos sobre diagramas de flujo
Ejemplos sobre  diagramas de flujoEjemplos sobre  diagramas de flujo
Ejemplos sobre diagramas de flujo
 

Semelhante a Algoritmos diagrama-de-flujo

Semelhante a Algoritmos diagrama-de-flujo (20)

Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdfPRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3
 
Presentación lenguaje programación
Presentación lenguaje programaciónPresentación lenguaje programación
Presentación lenguaje programación
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
ALGORITMOS
ALGORITMOS ALGORITMOS
ALGORITMOS
 
Introduccion a las técnicas de programación
Introduccion a las técnicas de programaciónIntroduccion a las técnicas de programación
Introduccion a las técnicas de programación
 
Las fases de la programación
Las fases de la programaciónLas fases de la programación
Las fases de la programación
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
Algoritmos.
Algoritmos.Algoritmos.
Algoritmos.
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Fp03
Fp03Fp03
Fp03
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Presentacion 5
Presentacion 5Presentacion 5
Presentacion 5
 
Presentacion 5
Presentacion 5Presentacion 5
Presentacion 5
 
Tarea 4-prelógica
Tarea 4-prelógicaTarea 4-prelógica
Tarea 4-prelógica
 
Tarea 4-Prelógica
Tarea 4-PrelógicaTarea 4-Prelógica
Tarea 4-Prelógica
 

Algoritmos diagrama-de-flujo

  • 2. 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. Cognos Informática Educativa
  • 3. Secuencialidad  Ausencia de Ambigüedades  Generalidad  Limitaciones Cognos Informática Educativa
  • 4. 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. Cognos Informática Educativa
  • 5. 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. Cognos Informática Educativa
  • 6. 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. Cognos Informática Educativa
  • 7. 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. Cognos Informática Educativa
  • 8. 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. Cognos Informática Educativa
  • 9. 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. Cognos Informática Educativa
  • 10. 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. Cognos Informática Educativa
  • 11. 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. Cognos Informática Educativa
  • 12. ¿ Cómo se pueden resolver los problemas para los que no hay un método establecido o para los cuales conocemos un algoritmo?. Cognos Informática Educativa
  • 13. Un método heurística para diseñar algoritmo es el denominado DIVIDE AND CONQUER(Divide y Venceras), el cual es una técnica TOP- DOWN(Arriba-Abajo).  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. Cognos Informática Educativa
  • 14. P P1 P2 P3 Cognos Informática Educativa
  • 15. Si un sub-problema es grande, por P1 descomposición y continuando hasta que resulten de la descomposición sub -problemas fácilmente resolubles. P1.1 P1.2 P1.3 Cognos Informática Educativa
  • 16.  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. Cognos Informática Educativa
  • 17. CONSTRUCCIÓN DEL EDIFICIO CONFECCICÓN CONTRATACIÓN DIRECCIÓN COMPRA DE DE LOS DEL DE LA MATERIALES PLANOS PERSONAL OBRA Cognos Informática Educativa
  • 18. CONFECCIÓN DE LOS PLANOS APROBACIÓN ELABORACIÓN APROBACIÓN DISEÑO DEL DEL DE LOS DE LOS ANTEPROYECTO ANTEPROYECTO PLANOS PLANOS Cognos Informática Educativa
  • 19. CONTRATACIÓN DEL PERSONAL ANÁLISIS PEDIDO DE REDACCIÓN DE LOS ENTREVISTAS CURRICULUM DE LOS CURRÍCULUM PERSONALES VITAE CONTRATOS VITAE Cognos Informática Educativa
  • 20. COMPRA DE MATERIALES CÁLCULO PEDIDO SELECCIÓN DE DE DE MATERIALES PRECIOS PROVEEDORES Cognos Informática Educativa
  • 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. Cognos Informática Educativa
  • 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. Cognos Informática Educativa
  • 23. 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. Cognos Informática Educativa
  • 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 programación. Cognos Informática Educativa
  • 25. 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. Cognos Informática Educativa
  • 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. Cognos Informática Educativa
  • 27. 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. Cognos Informática Educativa
  • 28. Un diagrama de flujo representa la esquematización gráfica de un algoritmo. • En realidad muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. • Su correcta construcción es sumamente importante porque, a partir del mismo se escribe un programa en algún lenguaje de programación. • Si el diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de programación es relativamente simple y directo. • A continuación, presentamos los símbolos que utilizaremos y una explicación de los mismos. Estos satisfacen las recomendaciones de la ISO y la ANSI. Cognos Informática Educativa
  • 29. Símbolo utilizado para marcar el inicio y el fin del diagrama flujo. Símbolo utilizado para introducir los datos de entrada. Expresa lectura. Símbolo utilizado para representar un proceso. En su interior se expresan asignaciones, operaciones aritméticas, cambios de valor de celdas en memoria, etc. Símbolo utilizado para representar una decisión. En su interior se almacena una condición y dependiendo del resultado de la evaluación de la misma se sigue por una de las ramas o caminos alternativos: verdadero o falso. Cognos Informática Educativa
  • 30. Símbolo utilizado para representar la impresión de un resultado. Expresa escritura. Símbolo utilizado para expresar conexión dentro de una misma página. Símbolos utilizados para expresar la dirección del flujo del diagrama Símbolo utilizado para expresar conexión entre páginas diferentes. Cognos Informática Educativa
  • 31. Debemos recordar que un diagrama de flujo debe ilustrar gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. • Los símbolos colocados adecuadamente, permiten crear una estructura gráfica flexible que ilustra los pasos a seguir para alcanzar un resultado específico. • El diagrama de flujo facilitará más tarde la escritura del programa en algún lenguaje de programación. Cognos Informática Educativa
  • 32. 1. Todo diagrama de flujo debe tener un inicio y un fin. 2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas, verticales y horizontales. 3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas. La conexión puede ser a un símbolo que exprese lectura, proceso, decisión, impresión, conexión o fin de diagrama. Cognos Informática Educativa
  • 33. 2. El diagrama de flujo debe ser construido de arriba hacia abajo (top-down) y de izquierda a derecha (right to left). 3. La notación utilizada en el diagrama de flujo debe ser independiente del lenguaje de programación. 4. Es conveniente cuando realizamos una tarea compleja poner comentarios que expresen o ayuden a entender lo que hicimos. 7. Si el diagrama de flujo requiere más de una hoja para su construcción, debemos utilizar los conectores adecuados y enumerar las páginas convenientemente. 8. No puede llegar más de una línea a un símbolo. Cognos Informática Educativa
  • 34. inicio Lectura de Datos Procesamiento de Datos Impresión de Resultados fin Cognos Informática Educativa
  • 35. Diseñar un algoritmo correspondiente que dado como dato la calificación de un alumno en un examen escriba “Aprobado” si su calificación es mayor que 8 y “Reprobado” en caso contrario. inicio CAL CAL >8 Aprobado Reprobado fin Cognos Informática Educativa
  • 36. Las estructuras lógicas básicas necesarias para confeccionar un programa se reduce en tres: SECUENCIALES, SELECTIVAS Y REPETITIVAS. 1. Estructuras secuenciales Estructura DO - END ( INICIO - FIN) DO acción A acción B acción C END Cognos Informática Educativa
  • 37. 2. Estructuras selectivas Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas las podemos clasificar de la siguiente manera: SI ENTONCES que es una estructura selectiva simple. SI ENTONCES / SINO que es una estructura selectiva doble SI MÚLTIPLE que es una estructura selectiva múltiple. Aquí podemos observar una estructura SI ENTONCES/SINO la cual permite que el flujo del diagrama se bifurque por dos ramas diferentes en el punto de la toma de decisiones.Cognos Informática Educativa
  • 38. A continuación se muestran las otras estructuras selectivas Cognos Informática Educativa
  • 39. Estructuras repetitivas Estructura repetitiva DOWHILE (mientras - hacer) DOWHILE condición acción1 acción2 ......... END DO Cognos Informática Educativa
  • 40. Estructura REPETIR La estructura REPETIR es la estructura algorítmica adecuada para utilizar en un ciclo que se ejecutará un número definido de veces. Por ejemplo cuando calculamos las nóminas de una empresa, tenemos que sumar los sueldos de N empleados de la misma. Podemos calcular el promedio de calificaciones de un grupo de alumnos sumando todas las calificaciones y dividir entre el número de alumnos o también sacar el promedio de cada alumno según sus calificaciones mensuales. En todos los caso sabemos de antemano cuántas veces tenemos que repetir una determinada operación. Cognos Informática Educativa
  • 41. Calcular los promedios de un numero X de alumnos, cada uno con 3 notas, se debe mostrar por pantalla si esta aprobado o reprobado (usaremos la escala que se usa en Chile, del 1 al 7,  de un 4 para arriba esta aprobado): 1.- Vemos que procesos se deben realizar: a) Declarar (“nombrar”) variables a utilizar: Nota1,Nota2,Nota3,Suma,Promedio b) Ingresar notas c) Sumar las notas d) El resultado de la suma, dividirlo por 3 e) Ver si este nuevo resultado es mayor o igual a 4 f) Si es mayor, mostrar aprobado, de lo contrario mostrar reprobado e) Pregunta si se quieren ingresar las notas de otro alumno g) Si la respuesta es si, volver al paso “b” (no es necesario volver al a, ya que las variables están declaradas). Cognos Informática Educativa
  • 42. Proceso Promedio NOTA1<-0; NOTA2<-0; NOTA3<-0; PROMEDIO<-0; SUMA<-0; Leer NOTA1; Leer NOTA2; Leer NOTA3; SUMA<- NOTA1+NOTA2+NOTA3; PROMEDIO<-SUMA/3; Si PROMEDIO>=4 Entonces Escribir 'APROBADO'; Sino Escribir 'REPROBADO'; FinSi FinProceso Cognos Informática Educativa