SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Anexo 1
                                       DIAGRAMAS DE FLUJO


A.1. ¿Qué es un Algoritmo?

       Describe el método para realizar una tarea.
   q


       Es una secuencia de instrucciones que, ejecutadas adecuadamente, dan lugar al resultado de-
   q
       seado.

       Ejemplos de algoritmos no informáticos:
   q
       ♦ Receta de cocina
       ♦ Una partitura musical
       ♦ Los planos con las instrucciones para construir una casa, ...


A.2. Propiedades de un Algoritmo

       Finitud:
   q
               Número finito de pasos
       Definibilidad:
   q
               Cada paso definido de un modo preciso
       Conjunto de Entradas:
   q
               Datos iniciales del algoritmo
       Conjunto de Salidas:
   q
               Respuesta que obtenemos del algoritmo
       Efectividad:
   q
               Las operaciones a realizar deben ser básicas, para que el procesador pueda realizarlas
               de modo exacto y en tiempo finito.
Apuntes de Informática


A.3. Símbolos en los Organigramas



                                          Comienzo y Fin




                                           Proceso general




                                         Toma de decisiones




                                    Entrada de datos por teclado

                                     Salida de datos por pantalla



                                    Salida de datos por impresora




                                        Almacenamiento en
                                         disco magnético




                                      Conector fuera de página


                                        Líneas de conexión y
                                         dirección del flujo




   2
ANEXO 1 – Diagramas de Flujo



A.4. Reglas Básicas

   1.   Todos los símbolos han de estar conectados
   2.   A un símbolo de proceso pueden llegarle varias líneas
   3.   A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos.
   4.   A un símbolo de inicio nunca le llegan líneas.
   5.   De un símbolo de fin no parte ninguna línea.


A.5. Organigrama Genérico


                                       Inicio


                                      Entrada
                                      de datos



                                      Proceso



                                       Salida
                                      de datos



                                        Fin


A.6. Variables y Operaciones

        Variables:
   q
        ♦ Numéricas:
           ⇒ Enteros
           ⇒ Punto Flotante
        ♦ Alfanuméricas:
           ⇒ Carácter
           ⇒ Cadena de caracteres


        Operaciones:
   q
        ♦ Asignación:
               =
        ♦ Comparación:
               ¿=?
        ♦ Aritméticas:
               +, -, *, /, ** (potenciación)
        ♦ Lógicas:
               >, <, =, ≥ , ≤ , ≠




                                                                                                 3
Apuntes de Informática


EJERCICIOS DE DIAGRAMAS DE FLUJO

1. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resul-
   tado.

2. Modificar el anterior pero para sumar 100 números leídos por teclado.

3. Modificar el anterior para que permita sumar N números. El valor de N se debe leer pre-
   viamente por teclado.

4. Hacer un diagrama de flujo que permita escribir los 100 primeros pares.

5. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno que
   haga lo mismo con los pares y, otro, con los múltiplos de 3.

6. La sucesión de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 para
   n>2, es decir los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores,
   los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el N-
   ésimo término de la sucesión.

7. Hacer un diagrama de flujo que simule un reloj.

8. Realizar el diagrama de flujo para resolver una ecuación de segundo grado, teniendo en
   cuenta las soluciones complejas.

9. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas
   importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el
   16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo.

   Finalmente hay que realizar un descuento, en función de la suma de los importes, dicho
   descuento es del 0% si es menor que 1000, es del 5% si es mayor o igual que 1000 y me-
   nor que 10000 y es de un 10% si es mayor o igual que 10000. El descuento se debe aplicar
   a la suma de los importes y a la suma de los ivas.

   Para acabar se debe imprimir el importe y el iva resultantes (total menos descuento) y la
   suma de ambos.

10. Hacer un organigrama que lea N números, calcule y escriba la suma de los pares y el pro-
    ducto de los impares.

11. Hacer un diagrama de flujo para calcular el máximo común divisor de dos números ente-
    ros positivos N y M siguiendo el algoritmo de Euclídes, que es el siguiente:

   1. Se divide N por M, sea R el resto.
   2. Si R=0, el máximo común divisor es M y se acaba.
   3. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.

    ¿Por qué el método anterior acaba alguna vez? ¿por qué calcula el máximo común divisor de N y
    M?



   4
ANEXO 1 – Diagramas de Flujo


12. Calcular los números primos hasta el N, según la Criba de Eratóstenes, que consiste en
    poner todos los números del 2 al N en una tabla e ir tachando los múltiplos de cada núme-
    ro, detalladamente es como sigue:

   1.   Escribir los números del 2 al N.
   2.   Hacer I igual a 2
   3.   Mirar el número I de la tabla.
   4.   Si esta tachado ir al paso 6.
   5.   Si no lo esta tachar los múltiplos de I en la tabla.
   6.   Incrementar I.
   7.   Si I es menor o igual que N ir al paso 3.
   8.   En otro caso finalizar.

        El punto 5 también requiere un algoritmo, que es el siguiente:

        5.1   Hacer J igual al doble de I (primer múltiplo de I).
        5.2   Si J es mayor que N finalizar (el apartado 5).
        5.3   En otro caso tachar el elemento J.
        5.4   Incrementar J en I (para pasar al siguiente múltiplo de I).
        5.5   Volver a 5.2.

      Para realizarlo se simulará la tabla con números tachados mediante un array P, y el
   elemento I estará sin tachar cuando P(I) sea 1 y tachado cuando sea 0.

13. Hacer el diagrama de flujo para calcular el factorial de N (N!=1·2·3·...·N).

14. Hacer un diagrama de flujo para sumar los N primeros términos de una progresión geo-
    métrica de primer término A y razón R (dados por teclado). Se debe realizar la suma sin
    emplear la fórmula que existe para ello.

15. Hacer un diagrama de flujo para convertir un número decimal N dado por teclado a bina-
    rio.

16. Hacer un diagrama de flujo para calcular AB, siendo B un entero, nótese que B puede ser 0
    o negativo. No se pueden emplear logaritmos.

17. Hacer un diagrama de flujo para calcular el máximo de N números leídos por teclado, se
    debe realizar de dos formas, una almacenando previamente los números dados por teclado
    en un array y la otra calculando el máximo directamente según se leen los números del te-
    clado.

18. Hacer un diagrama de flujo para ordenar N números leídos por teclado y almacenados en
    un array A. El algoritmo es el siguiente:

   1. Se lee N y después los N números al array A.
   2. Se busca el máximo de los elementos del 1 al N y su índice J.
   3. Se intercambian los elementos A(J) y A(N).
   4. Se decrementa N en 1.
   5. Se compara N con 1, si es mayor se vuelve a 2.
   6. Si es menor o igual se termina.


                                                                                               5
Apuntes de Informática



19. Hacer el organigrama de un programa que dado un array A ordenado de N elementos,
    encuentre la posición de uno B leído por teclado. El algoritmo a emplear es el siguiente:

   1. Se fijan los extremos de la porción a buscar: I=1, J=N.
   2. Se calcula el índice del elemento medio K=(I+J)/2.
   3. Se compara B con el elemento medio A(K).
   4. Si es igual se escribe K y se termina.
   5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve a 2.
   6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a 2.

    Pensar después que habrá que modificar para que busque también valores de B que no estén en el
   array A, si se da ese caso y no lo encuentra debe poner un mensaje diciendo que no esta.

20. Hacer un organigrama de un programa que adivine el número entre 1 y 1000 pensado por
    un humano. El programa debe ir diciendo números y el humano responderá con los sím-
    bolos '<', '>' o '=', según el número pensado sea menor, mayor o igual que el dicho por el
    ordenador. Cuando lo adivine deberá poner un mensaje especificando cuantas preguntas
    ha necesitado y finalizar. No debe realizar más de 10 preguntas y debe detectar si el hu-
    mano le engaña diciéndole cosas imposibles, por ejemplo es mayor que 4 y menor que 5.
    Si en lugar de estar el número de partida entre 1 y 1000 estuviera entre 1 y 1000000,
    ¿cuantas preguntas serían necesarias?

21. Realizar el organigrama de un programa que permita calcular ceros de funciones em-
    pleando el Teorema de Bolzano (si una función continua, definida en un intervalo cerrado
    [a,b], toma valores de signos opuestos en los extremos, existe un punto c en [a,b] tal que
    f(c)=0). Los datos de partida son los extremos del intervalo a y b y E que nos dice el má-
    ximo error tolerado en el resultado. El programa deberá poner un mensaje de error si la
    función tiene igual signo en los extremos del intervalo, en otro caso debe escribir un valor
    C, que diste del c del Teorema en menos de E.

22. Dados dos números enteros positivos N y D, se dice que D es un divisor de N si el resto
    de dividir N entre D es 0. Se dice que un número N es perfecto si la suma de sus divisores
    (excluido el propio N) es N. Por ejemplo 28 es perfecto, pues sus divisores (excluido el
    28) son: 1, 2, 4, 7 y 14 y su suma es 1+2+4+7+14=28. Hacer un organigrama que dado un
    número N nos diga si es o no perfecto.

23. Un año es bisiesto si es múltiplo de 4, exceptuando los múltiplos de 100, que sólo son
    bisiestos cuando son múltiplos además de 400, por ejemplo el año 1900 no fue bisiesto,
    pero el año 2000 si lo será. Hacer un organigrama que dado un año A nos diga si es o no
    bisiesto.

24. Hacer un organigrama que dados un día D, un mes M y un año A, calcule cual es el día
    siguiente. Se debe tener en cuenta que en los años bisiestos Febrero tiene 29 días y en los
    no bisiestos 28.

25. El Miércoles de Ceniza es 46 días antes que el Domingo de Resurrección. Hacer un orga-
    nigrama para que dados el día D, el mes M y el año A del Domingo de Resurrección cal-
    cule la fecha del Miércoles de Ceniza en ese año. Se debe tener en cuenta si el año es o no
    bisiesto.


   6
ANEXO 1 – Diagramas de Flujo



26. Hacer un organigrama que lea un número N y obtenga las ternas pitagóricas (A, B, C) en
    las que A, B y C son todos enteros positivos y menores que N. Para que una terna (A, B,
    C) sea pitagórica debe cumplir que A2+B 2=C 2.

27. Una empresa paga a sus 100 operarios semanalmente, de acuerdo con el número de horas
    trabajadas, a razón de P pesetas por hora y de 1.5·P pesetas por cada hora extra. Las horas
    extras son las que exceden de 40h. Hacer el organigrama que dado el número de horas tra-
    bajadas y el valor de P calcule el salario que le corresponde.

28. Disponemos de una máquina que puede dar vueltas con 5 tipos de monedas distintas: 100,
    50, 25, 5 y 1 pts. Realizar el organigrama de un programa que dados el precio del artículo
    y la cantidad entregada por el consumidor nos indique la vuelta a entregar empleando el
    menor número posible de monedas.

29. Plantear el organigrama de un programa que sea capaz de calcular el impuesto sobre la
    renta el número de veces que sea necesario y lo escriba por impresora. El impuesto de la
    renta es el 15% del salario anual de cada persona, al que previamente se debe realizar una
    deducción en función del número de hijos, que es del 0% si tiene 0, del 5% si tiene 1 o 2 y
    del 15% si tiene más de 2.

30. Realizar un organigrama para leer por teclado las notas de N alumnos que están matricu-
    lados en M asignaturas, si un alumno no esta matriculado de una asignatura o no se pre-
    senta al examen se debe introducir como nota -1. El programa debe calcular y escribir el
    número de alumnos presentados a cada asignatura, la nota media, el número de suspensos,
    el número de aprobados, el número de notables y el número de sobresalientes.

31. Hacer el organigrama para resolver el siguiente problema: Un hombre, un lobo, una cabra
    y un repollo deben pasar un río, para ello se dispone de una barca con capacidad para dos
    ocupantes, el hombre (único que sabe remar) y otro. Si en una orilla se quedan solos el lo-
    bo y la cabra, el lobo se come a la cabra. Si en una orilla se quedan solos la cabra y el re-
    pollo, la cabra se come el repollo.




                                                                                               7
Apuntes de Informática


                SOLUCIONES A LOS EJERCICIOS DE DIAGRAMAS DE FLUJO

1. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resul-
   tado.

          Inicio


                          à Leemos el primer número y lo dejamos en A
         Leer A


                          à Leemos el segundo número y lo dejamos en B
         Leer B


                          à Sumamos A y B, y dejamos el resultado en C
         C=A+B


                          à Escribimos C
        Escribir C


          Fin




2. Modificar el anterior pero para sumar 100 números leídos por teclado.


                                          Inicio


                                 (1)     I=100


                                          S=0
                                 (2)


                                 (3)     Leer A


                                 (4)     S=S+A


                                 (5)      I=I-1

                                                     (6)
                                   NO
                                           I=0

                                             SI
                                 (7)    Escribir S


                                          Fin



-   En I contamos los números que quedan por sumar.
-   En S calculamos la suma.
-   A se emplea para leer temporalmente cada número.


    8
ANEXO 1 – Diagramas de Flujo


   Vamos a ver paso a paso como funciona. Supongamos que los datos son: 7, -1, 8, 5, ...

       (1)    I=100          (números a sumar)
       (2)    S=0            (suma, inicialmente 0)
       (3)    Leer A. El primero es 7, luego A=7
       (4)    S=S+A=0+7=7
       (5)    I=I-1=100-1=99
              ¿I=0? → NO
       (6)
       (3)    Leer A, ahora A=-1
       (4)    S=S+A=7-1=6
       (5)    I=I-1=99-1=98
              ¿I=0? → NO
       (6)

              Cuando I=0 habremos sumado los 100 números y pasaremos a:

       (7)    Escribir S que será la suma


3. Modificar el anterior para que permita sumar N números. El valor de N se debe leer pre-
   viamente por teclado.


                                                   Inicio


                                                  Leer N


                                                   S=0


                                                  Leer A


                                                  S=S+A


                                                   N=N-1


                                            NO
                                                   N=0

                                                      SI
                                                 Escribir S


                                                    Fin




                                                                                           9
Apuntes de Informática


4. Hacer un diagrama de flujo que permita escribir los 100 primeros pares.

                                               Inicio


                                              I=100


                                               P=0


                                             Escribir P


                                              P=P+2


                                               I=I-1


                                        NO
                                                I=0

                                                  SI
                                                Fin



   P: Variable para contener el siguiente par que se debe escribir.
   I: Contador de pares que quedan por escribir.

       El proceso es similar al anterior. Necesitamos un bucle para contar 100 veces y den-
   tro de él escribimos el par e incrementamos para obtener el siguiente.


5. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno que haga lo
   mismo con los pares y otro con los múltiplos de 3.

                                               Inicio


                                               Leer N


                                                I=1


                                                S=0


                                               S=S+I


                                               I=I+2


                                               N=N-1


                                        NO
                                                N=0

                                                   SI
                                             Escribir S


                                                Fin




   10
ANEXO 1 – Diagramas de Flujo


6. La sucesión de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 para
   n>2, es decir, los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores,
   los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el N-
   ésimo término de la sucesión.


                                                    Inicio


                                       (1)          Leer N


                                   SI                             NO
                                                    N<=2
                                              (2)
                                                                                   (3)
                                                                       A=1


                                                                       B=1         (4)


                                                                                   (5)
                                                                    C=A+B


                                                                                   (6)
                                                                       A=B


                                                                       B=C         (7)


                                                                    N=N-1          (8)

                                                                             (9)
                                                             SI        N=2
                                                                                    NO
                          Escribir 1                Escribir B
                   (11)                                           (10)



                                             Fin



    Dado N, el proceso es el siguiente:

-   si N≤2 se escribe directamente 1 y se acaba.
-   en otro caso se guardan en A y B los 2 últimos (al principio 1) y se suman, pasando des-
    pués a llamar A al antiguo B, y B a la suma. Se decrementa N y cuando valga 2, en B te-
    nemos lo que queremos.

    Vamos a ver como funciona paso a paso. Para ello vamos a numerar cada uno de los pa-
sos y ver como se van realizando.

       (1)     Leemos N, supongamos N=4.
               ¿N≤2? → NO
       (2)
       (3)     A=1
       (4)     B=1
       (5)     C=A+B=1+1=2
       (6)     A=B=1
       (7)     B=C=2
       (8)     N=N-1=4-1=3
               ¿N=2? → NO
       (9)
       (5)     C=A+B=1+2=3

                                                                                                                  11
Apuntes de Informática


        (6)    A=B=2
        (7)    B=C=3
        (8)    N=N-1=3-1=2
               ¿N=2? → SI
        (9)
        (10)   Escribimos B, es decir 3.


7. Hacer un diagrama de flujo que simule un reloj.


                                                    Inicio


                                                    H=0


                                                    M=0


                                                    S=0


                                            Escribir H:M:S


                                                   S=S+1


                                           NO
                                                    S=60

                                                       SI
                                                    S=0


                                                   M=M+1


                                           NO
                                                   M=60

                                                       SI
                                                    M=0


                                                   H=H+1


                                           NO
                                                    H=24

                                                       SI
                                                    H=0


                                                Esperar 1 seg.




   12
ANEXO 1 – Diagramas de Flujo


9. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas
   importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el
   16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo. Final-
   mente hay que realizar un descuento, en función de la suma de los importes, dicho descuento
   es del 0% si es menor que 1000, es del 5% si es mayor o igual que 1000 y menor que 10000
   y es de un 10% si es mayor o igual que 10000. El descuento se debe aplicar a la suma de los
   importes y a la suma de los ivas. Para acabar se debe imprimir el importe y el iva resultantes
   (total menos descuento) y la suma de ambos.




                    Inicio


                  SIMP=0


                  SIVA=0


                leer IMP,IVA


                                SI
                   IMP=0

                                                                                  NO
                                                               SI
                       NO                                             SIMP<1000
                                SI
                   IVA=4                                                    SI
                                                            D=0                   SIMP<10000
                       NO
                                                                                        NO
                                                                         D=5
                                SI
                   IVA=7                                                            D=10
                       NO
                                SI
                   IVA=16
                                                                               SIMP·D
                                                              SIMP=SIMP-
                                                                                 100
                       NO
                  Escribir
                                                                               SIVA·D
               IVA incorrecto                                 SIVA=SIVA-         100


                             SIMP=SIMP+IMP                        TOT=SIMP+SIVA


                                     IMP·IVA
                                                             Escribir SIMP,SIVA,TOT
                     SIVA=SIVA+        100

                                                                         Fin




                                                                                               13
Apuntes de Informática


10. Hacer un organigrama que lea N números, calcule y escriba la suma de los pares y el
    producto de los impares.

                                             Inicio


                                             Leer N


                                             SP=0


                                              PI=1


                                             Leer A


                                     SI                    NO
                                           A MOD 2=0

                                SP=SP+A                     PI=PI·A



                                             N=N-1


                                     NO       N=0

                                                 SI
                                          Escribir SP,PI


                                              Fin



11.                                            13.
                      Inicio                                            Inicio


                   Leer N,M                                           Leer N


                  R=N MOD M                                             P=1


                                SI                                                 NO
                      R=0                                               N>1

                         NO                                                SI
                      N=M                                              P=P·N


                      M=R                                              N=N-1




                   Escribir M                                         Escribir P


                      Fin                                                Fin




      14
ANEXO 1 – Diagramas de Flujo


12.
                                     Inicio


                                    Leer N


                                      I=2


                                     P(I)=1


                                     I=I+1


                              SI
                                     I<=N

                                         NO
                                      I=2


                                                     NO
                                     P(I)=1

                                         SI
                                   Escribir I


                                     J=2·I


                                                NO
                                     J<=N

                                         SI
                                                          I=I+1
                                    P(J)=0

                                                                       SI
                                                           I<=N
                                     J=J+I

                                                             NO
                                                           Fin




      14.                                     15.
                                                                            Inicio
                   Inicio


                                                                            Leer N
                  Leer A


                                                                             I=1
                  Leer R


                                                                       R(I)=N MOD 2
                  Leer N


                   S=0                                                  N=N DIV 2


                  S=S+A                                                     I=I+1


                  A=A·R                                           SI
                                                                             N>0

                                                                               NO
                  N=N-1
                                                                            I=I-1
            SI
                    N>0
                                                                                        NO
                                                                             I>0
                      NO
                 Escribir S                                                    SI            Fin
                                                                        Escribir R(I)
                   Fin




                                                                                                       15
Apuntes de Informática


   16.                                                           18.
                                Inicio                                                      Inicio


                                                                                            Leer N
                               Leer A
                                                                                             I=1

                               Leer B
                                                                                         Leer A(I)


                                                                                             I=I+1
                                P=1

                                                                                    SI
                                                                                             I<=N
                         NO                    SI
                                 B=0                                                           NO
                                                                                            M=A(1)
              NO               SI
                    B>0
                                                                                              J=1

           A=1/A
                                                                                             I=2


            B=-B                                                                                     SI
                                                                                         A(I)>M

                                                                                               NO         M=A(I)


                   P=P·A                                                                                   J=I



                   B=B-1                                                                     I=I+1


                                                                                    SI
                                                                                             I<=N
              NO
                    B=0
                                                                                               NO
                      SI                                                                 A(J)=A(N)


                                                                                            A(N)=M
                              Escribir P

                                                                                            N=N-1
                                 Fin
                                                                                    SI
                                                                                             N>1

                                                                                               NO
                                                                                             Fin




   19.
                                                    Inicio


                                                    Leer B


                                                     I=1


                                                     J=N


                                               K=(I+J) DIV 2


                                          SI                   NO
                                                 B=A(K)

                                                                     SI            NO
                                                                          B>A(K)

                                                             I=K+1                  J=K-1



                               Escribir K


                                    Fin



   16
ANEXO 1 – Diagramas de Flujo


17. Calcular el máximo de N números leídos desde teclado.


                                        Inicio


                                                    (1)
                                       Leer N


                                                    (2)
                                       Leer M


                                        I=N-1       (3)


                                                    (4)
                                       Leer A


                                                    SI
                               (5)      A>M

                                                               (6)
                                                      M=A
                                      NO



                                                    (7)
                                        I=I-1


                             NO                     (8)
                                         I=0

                                           SI
                                                    (9)
                                      Escribir M


                                         Fin



    Vamos a almacenar en M el máximo de los números que se hayan leído, el primero va di-
rectamente a M y los N-1 restantes los leemos en A, comparamos con M y si son mayores
cambiamos el máximo temporal. Al final se escribe el resultado.

   Vamos a ejecutarlo paso a paso para N=4, empleando como datos: 2, 3, -1, 7.

              Leer N → N=4
       (1)
              Leer M → M=2
       (2)
       (3)    I=N-1=3
              Leer A → A=3
       (4)
              ¿A>M? → SI
       (5)
       (6)    M=A=3
       (7)    I=I-1=3-I=2
              ¿I=0? → NO
       (8)
              Leer A → A=-1
       (4)

                                                                                      17
Apuntes de Informática


               ¿A>M? → NO
         (5)
         (7)   I=I-1=2-1=1
               ¿I=0? → NO
         (8)
         (4)   Leer A, A=7
               ¿A>M? → SI
         (5)
         (6)   M=A=7
         (7)   I=I-1=1-1=0
               ¿I=0? → SI
         (8)
         (9)   Escribir M, es decir 7



   22.

                                              Inicio


                                             Leer N


                                              S=0


                                              D=1


                                     SI                  NO
                                            N MOD D=0


                             S=S+D



                                             D=D+1


                                                        SI
                                              D<N

                                                 NO
                                     NO                  SI
                                              S=N

                              Escribir                        Escribir
                         N no es perfecto               N es perfecto



                                              Fin




   18
ANEXO 1 – Diagramas de Flujo


23.
                                                  Inicio


                                                 Leer A


                                   SI                                NO
                                                A MOD 4=0

                NO                          SI
                       A MOD 100=0

                                   SI                                NO
                                            A MOD 400=0


         Escribir                                                        Escribir
      A es bisiesto                                                A no es bisiesto



                                                   Fin




24.
                                                      Inicio


                                                    Leer B


                                                  DIAS (1)=31


                                                  DIAS (2)=28


                                                  DIAS (3)=31
                                                       .
                                                       .
                                                       .
                                                 DIAS (12)=31


                                           SI                       NO
                                                   A es bisiesto


                                 DIAS (2) = 29



                                                     D=D+1


                                           SI     D>DIAS (M)


                                     D=1                  NO


                                    M=M+1


                            SI
                                    M>12

                      M=1


                      A=A+1



                                                 Escribir D,M,A


                                                       Fin




                                                                                                   19
Apuntes de Informática


   26.                                                  27.
                            Inicio
                                                                          Inicio

                           Leer N

                                                                         Leer P
                            A=1


                                                                         Leer H
                            B=1


                            C=1
                                                                           E=0
                                         SI
                         A·A+B·B=C·C
                                                                 SI                  NO
                                                                          H>40
                               NO
                           C=C+1
                                       Escribir A,B,C
                                                              E=H-40
                  SI
                            C<N

                          NO
                                                              H=40
                           B=B+1


                  SI
                            B<N
                                                                       S=P·H+1,5·P·E
                               NO
                           A=A+1

                                                                        Escribir S
                  SI
                            A<N

                               NO
                                                                           Fin
                            Fin




   20
ANEXO 1 – Diagramas de Flujo


28.                                                     29.
                                    Inicio
                                                                            Inicio

                               MON(1)=1
                                                                       Leer SAL
                               MON(2)=5

                                                                        Leer H
                               MON(3)=25

                                                                SI                      NO
                                                                            H=0
                               MON(4)=50

                                                                                SI                 NO
                                                              D=0                            H<3
                              MON(5)=100


                                                                            D=5                    D=15
                                Leer PRE


                                Leer ENT

                                                                                     D·SAL
                                                                SAL=SAL-              100
                              DIF=ENT-PRE


                                      I=5                                      SAL·15
                                                                     IMP=
                                                                                100
                       SI                    NO
                               DIF>MON(I)

                                                                      Escribir IMP
      CAM(I)=DIF DIV MON(I)
                                             CAM(I)=0
                                                                             Fin
       DIF=DIF MOD MON(I)




                   Escribir CAM(I) de MON(I)


                              I=I-1


                  SI
                              I>0

                                NO
                              Fin




                                                                                                          21

Mais conteúdo relacionado

Mais procurados

Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorLuis Zurita
 
Articulo ieee proyecto de grado
Articulo ieee proyecto de gradoArticulo ieee proyecto de grado
Articulo ieee proyecto de gradoJoc Dueñas
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boolenurueta
 
Rotación matricial
Rotación matricialRotación matricial
Rotación matricialCamilo Silva
 
Diseño electronico
Diseño electronicoDiseño electronico
Diseño electronicotobar_juan
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flopsJimmy Osores
 
compuertas logicas
compuertas logicascompuertas logicas
compuertas logicasbamz19
 
Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...Miguel Brunings
 
Ejercicos y problemas de interpolacion de lagrange.
Ejercicos y problemas de interpolacion de lagrange.Ejercicos y problemas de interpolacion de lagrange.
Ejercicos y problemas de interpolacion de lagrange.Sergio Riveros
 
54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flopsSENA-CIMI-GIRON
 
La circunferencia en geometria analitica
La circunferencia en geometria analiticaLa circunferencia en geometria analitica
La circunferencia en geometria analiticaLarry Lituma
 
Propiedad de linealidad - Principio de Superposición
Propiedad de linealidad - Principio de SuperposiciónPropiedad de linealidad - Principio de Superposición
Propiedad de linealidad - Principio de SuperposiciónJohan Jair Porras Huamán
 
Perpendicular a una recta por un punto exterior
Perpendicular a una recta por un punto exteriorPerpendicular a una recta por un punto exterior
Perpendicular a una recta por un punto exteriorAntonio García
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresDaniel Huerta Cruz
 

Mais procurados (20)

Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensamblador
 
Articulo ieee proyecto de grado
Articulo ieee proyecto de gradoArticulo ieee proyecto de grado
Articulo ieee proyecto de grado
 
Memoria sram
Memoria sramMemoria sram
Memoria sram
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Ejemplos de diagrama de flujo
Ejemplos de diagrama de flujoEjemplos de diagrama de flujo
Ejemplos de diagrama de flujo
 
Rotación matricial
Rotación matricialRotación matricial
Rotación matricial
 
Grupo6 monografía
Grupo6 monografíaGrupo6 monografía
Grupo6 monografía
 
Diseño electronico
Diseño electronicoDiseño electronico
Diseño electronico
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flops
 
compuertas logicas
compuertas logicascompuertas logicas
compuertas logicas
 
Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...Características de sumadores, codificadores, decodificadores, multiplexores y...
Características de sumadores, codificadores, decodificadores, multiplexores y...
 
Ejercicos y problemas de interpolacion de lagrange.
Ejercicos y problemas de interpolacion de lagrange.Ejercicos y problemas de interpolacion de lagrange.
Ejercicos y problemas de interpolacion de lagrange.
 
54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops
 
Densidad de corriente eléctrica
Densidad de corriente eléctricaDensidad de corriente eléctrica
Densidad de corriente eléctrica
 
Tema 2: Campos Electrostáticos
Tema 2: Campos ElectrostáticosTema 2: Campos Electrostáticos
Tema 2: Campos Electrostáticos
 
Campos Electromagneticos - Tema 5
Campos Electromagneticos - Tema 5Campos Electromagneticos - Tema 5
Campos Electromagneticos - Tema 5
 
La circunferencia en geometria analitica
La circunferencia en geometria analiticaLa circunferencia en geometria analitica
La circunferencia en geometria analitica
 
Propiedad de linealidad - Principio de Superposición
Propiedad de linealidad - Principio de SuperposiciónPropiedad de linealidad - Principio de Superposición
Propiedad de linealidad - Principio de Superposición
 
Perpendicular a una recta por un punto exterior
Perpendicular a una recta por un punto exteriorPerpendicular a una recta por un punto exterior
Perpendicular a una recta por un punto exterior
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 

Semelhante a Diagramas de flujo y algoritmos

Semelhante a Diagramas de flujo y algoritmos (20)

Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Ejemplos sobre diagramas de flujo
Ejemplos sobre  diagramas de flujoEjemplos sobre  diagramas de flujo
Ejemplos sobre diagramas de flujo
 
Anexo 1 diagramas de flujo
Anexo 1   diagramas de flujoAnexo 1   diagramas de flujo
Anexo 1 diagramas de flujo
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Ejemplos de diagramas de flujo
Ejemplos de diagramas de flujoEjemplos de diagramas de flujo
Ejemplos de diagramas de flujo
 
Anexo1 diagramasdeflujo-090415113702-phpapp01
Anexo1 diagramasdeflujo-090415113702-phpapp01Anexo1 diagramasdeflujo-090415113702-phpapp01
Anexo1 diagramasdeflujo-090415113702-phpapp01
 
Anexo 1 diagramas de flujo
Anexo 1   diagramas de flujoAnexo 1   diagramas de flujo
Anexo 1 diagramas de flujo
 
Anexo 1 -_diagramas_de_flujo
Anexo 1 -_diagramas_de_flujoAnexo 1 -_diagramas_de_flujo
Anexo 1 -_diagramas_de_flujo
 
Anexo 1 diagramas de flujo
Anexo 1   diagramas de flujoAnexo 1   diagramas de flujo
Anexo 1 diagramas de flujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
1 diagramas de flujo
1 diagramas de flujo1 diagramas de flujo
1 diagramas de flujo
 
ejercicios-resueltos.pdf
ejercicios-resueltos.pdfejercicios-resueltos.pdf
ejercicios-resueltos.pdf
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
ejercicios-resueltos (1).pdf
ejercicios-resueltos (1).pdfejercicios-resueltos (1).pdf
ejercicios-resueltos (1).pdf
 
Ejercicios resueltos2
Ejercicios resueltos2Ejercicios resueltos2
Ejercicios resueltos2
 
15diagramas de flujo
15diagramas de flujo15diagramas de flujo
15diagramas de flujo
 
Basica noveno
Basica novenoBasica noveno
Basica noveno
 
Cuestionario video
Cuestionario videoCuestionario video
Cuestionario video
 

Mais de Fabio Valencia

Simulacion de instalacion hardware
Simulacion de instalacion hardwareSimulacion de instalacion hardware
Simulacion de instalacion hardwareFabio Valencia
 
Interconexion de sistemas abiertos
Interconexion de sistemas abiertosInterconexion de sistemas abiertos
Interconexion de sistemas abiertosFabio Valencia
 
Las principales herramientas para mantenimiento fisico de computadores
Las principales herramientas para mantenimiento fisico de computadoresLas principales herramientas para mantenimiento fisico de computadores
Las principales herramientas para mantenimiento fisico de computadoresFabio Valencia
 
Como Hacer Una Encuesta
Como Hacer Una EncuestaComo Hacer Una Encuesta
Como Hacer Una EncuestaFabio Valencia
 
Metodologia para el Desarrollo del Software
Metodologia para el Desarrollo del SoftwareMetodologia para el Desarrollo del Software
Metodologia para el Desarrollo del SoftwareFabio Valencia
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoFabio Valencia
 

Mais de Fabio Valencia (6)

Simulacion de instalacion hardware
Simulacion de instalacion hardwareSimulacion de instalacion hardware
Simulacion de instalacion hardware
 
Interconexion de sistemas abiertos
Interconexion de sistemas abiertosInterconexion de sistemas abiertos
Interconexion de sistemas abiertos
 
Las principales herramientas para mantenimiento fisico de computadores
Las principales herramientas para mantenimiento fisico de computadoresLas principales herramientas para mantenimiento fisico de computadores
Las principales herramientas para mantenimiento fisico de computadores
 
Como Hacer Una Encuesta
Como Hacer Una EncuestaComo Hacer Una Encuesta
Como Hacer Una Encuesta
 
Metodologia para el Desarrollo del Software
Metodologia para el Desarrollo del SoftwareMetodologia para el Desarrollo del Software
Metodologia para el Desarrollo del Software
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De Flujo
 

Último

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Último (20)

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Diagramas de flujo y algoritmos

  • 1. Anexo 1 DIAGRAMAS DE FLUJO A.1. ¿Qué es un Algoritmo? Describe el método para realizar una tarea. q Es una secuencia de instrucciones que, ejecutadas adecuadamente, dan lugar al resultado de- q seado. Ejemplos de algoritmos no informáticos: q ♦ Receta de cocina ♦ Una partitura musical ♦ Los planos con las instrucciones para construir una casa, ... A.2. Propiedades de un Algoritmo Finitud: q Número finito de pasos Definibilidad: q Cada paso definido de un modo preciso Conjunto de Entradas: q Datos iniciales del algoritmo Conjunto de Salidas: q Respuesta que obtenemos del algoritmo Efectividad: q Las operaciones a realizar deben ser básicas, para que el procesador pueda realizarlas de modo exacto y en tiempo finito.
  • 2. Apuntes de Informática A.3. Símbolos en los Organigramas Comienzo y Fin Proceso general Toma de decisiones Entrada de datos por teclado Salida de datos por pantalla Salida de datos por impresora Almacenamiento en disco magnético Conector fuera de página Líneas de conexión y dirección del flujo 2
  • 3. ANEXO 1 – Diagramas de Flujo A.4. Reglas Básicas 1. Todos los símbolos han de estar conectados 2. A un símbolo de proceso pueden llegarle varias líneas 3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos. 4. A un símbolo de inicio nunca le llegan líneas. 5. De un símbolo de fin no parte ninguna línea. A.5. Organigrama Genérico Inicio Entrada de datos Proceso Salida de datos Fin A.6. Variables y Operaciones Variables: q ♦ Numéricas: ⇒ Enteros ⇒ Punto Flotante ♦ Alfanuméricas: ⇒ Carácter ⇒ Cadena de caracteres Operaciones: q ♦ Asignación: = ♦ Comparación: ¿=? ♦ Aritméticas: +, -, *, /, ** (potenciación) ♦ Lógicas: >, <, =, ≥ , ≤ , ≠ 3
  • 4. Apuntes de Informática EJERCICIOS DE DIAGRAMAS DE FLUJO 1. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resul- tado. 2. Modificar el anterior pero para sumar 100 números leídos por teclado. 3. Modificar el anterior para que permita sumar N números. El valor de N se debe leer pre- viamente por teclado. 4. Hacer un diagrama de flujo que permita escribir los 100 primeros pares. 5. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno que haga lo mismo con los pares y, otro, con los múltiplos de 3. 6. La sucesión de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 para n>2, es decir los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el N- ésimo término de la sucesión. 7. Hacer un diagrama de flujo que simule un reloj. 8. Realizar el diagrama de flujo para resolver una ecuación de segundo grado, teniendo en cuenta las soluciones complejas. 9. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el 16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo. Finalmente hay que realizar un descuento, en función de la suma de los importes, dicho descuento es del 0% si es menor que 1000, es del 5% si es mayor o igual que 1000 y me- nor que 10000 y es de un 10% si es mayor o igual que 10000. El descuento se debe aplicar a la suma de los importes y a la suma de los ivas. Para acabar se debe imprimir el importe y el iva resultantes (total menos descuento) y la suma de ambos. 10. Hacer un organigrama que lea N números, calcule y escriba la suma de los pares y el pro- ducto de los impares. 11. Hacer un diagrama de flujo para calcular el máximo común divisor de dos números ente- ros positivos N y M siguiendo el algoritmo de Euclídes, que es el siguiente: 1. Se divide N por M, sea R el resto. 2. Si R=0, el máximo común divisor es M y se acaba. 3. Se asigna a N el valor de M y a M el valor de R y volver al paso 1. ¿Por qué el método anterior acaba alguna vez? ¿por qué calcula el máximo común divisor de N y M? 4
  • 5. ANEXO 1 – Diagramas de Flujo 12. Calcular los números primos hasta el N, según la Criba de Eratóstenes, que consiste en poner todos los números del 2 al N en una tabla e ir tachando los múltiplos de cada núme- ro, detalladamente es como sigue: 1. Escribir los números del 2 al N. 2. Hacer I igual a 2 3. Mirar el número I de la tabla. 4. Si esta tachado ir al paso 6. 5. Si no lo esta tachar los múltiplos de I en la tabla. 6. Incrementar I. 7. Si I es menor o igual que N ir al paso 3. 8. En otro caso finalizar. El punto 5 también requiere un algoritmo, que es el siguiente: 5.1 Hacer J igual al doble de I (primer múltiplo de I). 5.2 Si J es mayor que N finalizar (el apartado 5). 5.3 En otro caso tachar el elemento J. 5.4 Incrementar J en I (para pasar al siguiente múltiplo de I). 5.5 Volver a 5.2. Para realizarlo se simulará la tabla con números tachados mediante un array P, y el elemento I estará sin tachar cuando P(I) sea 1 y tachado cuando sea 0. 13. Hacer el diagrama de flujo para calcular el factorial de N (N!=1·2·3·...·N). 14. Hacer un diagrama de flujo para sumar los N primeros términos de una progresión geo- métrica de primer término A y razón R (dados por teclado). Se debe realizar la suma sin emplear la fórmula que existe para ello. 15. Hacer un diagrama de flujo para convertir un número decimal N dado por teclado a bina- rio. 16. Hacer un diagrama de flujo para calcular AB, siendo B un entero, nótese que B puede ser 0 o negativo. No se pueden emplear logaritmos. 17. Hacer un diagrama de flujo para calcular el máximo de N números leídos por teclado, se debe realizar de dos formas, una almacenando previamente los números dados por teclado en un array y la otra calculando el máximo directamente según se leen los números del te- clado. 18. Hacer un diagrama de flujo para ordenar N números leídos por teclado y almacenados en un array A. El algoritmo es el siguiente: 1. Se lee N y después los N números al array A. 2. Se busca el máximo de los elementos del 1 al N y su índice J. 3. Se intercambian los elementos A(J) y A(N). 4. Se decrementa N en 1. 5. Se compara N con 1, si es mayor se vuelve a 2. 6. Si es menor o igual se termina. 5
  • 6. Apuntes de Informática 19. Hacer el organigrama de un programa que dado un array A ordenado de N elementos, encuentre la posición de uno B leído por teclado. El algoritmo a emplear es el siguiente: 1. Se fijan los extremos de la porción a buscar: I=1, J=N. 2. Se calcula el índice del elemento medio K=(I+J)/2. 3. Se compara B con el elemento medio A(K). 4. Si es igual se escribe K y se termina. 5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve a 2. 6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a 2. Pensar después que habrá que modificar para que busque también valores de B que no estén en el array A, si se da ese caso y no lo encuentra debe poner un mensaje diciendo que no esta. 20. Hacer un organigrama de un programa que adivine el número entre 1 y 1000 pensado por un humano. El programa debe ir diciendo números y el humano responderá con los sím- bolos '<', '>' o '=', según el número pensado sea menor, mayor o igual que el dicho por el ordenador. Cuando lo adivine deberá poner un mensaje especificando cuantas preguntas ha necesitado y finalizar. No debe realizar más de 10 preguntas y debe detectar si el hu- mano le engaña diciéndole cosas imposibles, por ejemplo es mayor que 4 y menor que 5. Si en lugar de estar el número de partida entre 1 y 1000 estuviera entre 1 y 1000000, ¿cuantas preguntas serían necesarias? 21. Realizar el organigrama de un programa que permita calcular ceros de funciones em- pleando el Teorema de Bolzano (si una función continua, definida en un intervalo cerrado [a,b], toma valores de signos opuestos en los extremos, existe un punto c en [a,b] tal que f(c)=0). Los datos de partida son los extremos del intervalo a y b y E que nos dice el má- ximo error tolerado en el resultado. El programa deberá poner un mensaje de error si la función tiene igual signo en los extremos del intervalo, en otro caso debe escribir un valor C, que diste del c del Teorema en menos de E. 22. Dados dos números enteros positivos N y D, se dice que D es un divisor de N si el resto de dividir N entre D es 0. Se dice que un número N es perfecto si la suma de sus divisores (excluido el propio N) es N. Por ejemplo 28 es perfecto, pues sus divisores (excluido el 28) son: 1, 2, 4, 7 y 14 y su suma es 1+2+4+7+14=28. Hacer un organigrama que dado un número N nos diga si es o no perfecto. 23. Un año es bisiesto si es múltiplo de 4, exceptuando los múltiplos de 100, que sólo son bisiestos cuando son múltiplos además de 400, por ejemplo el año 1900 no fue bisiesto, pero el año 2000 si lo será. Hacer un organigrama que dado un año A nos diga si es o no bisiesto. 24. Hacer un organigrama que dados un día D, un mes M y un año A, calcule cual es el día siguiente. Se debe tener en cuenta que en los años bisiestos Febrero tiene 29 días y en los no bisiestos 28. 25. El Miércoles de Ceniza es 46 días antes que el Domingo de Resurrección. Hacer un orga- nigrama para que dados el día D, el mes M y el año A del Domingo de Resurrección cal- cule la fecha del Miércoles de Ceniza en ese año. Se debe tener en cuenta si el año es o no bisiesto. 6
  • 7. ANEXO 1 – Diagramas de Flujo 26. Hacer un organigrama que lea un número N y obtenga las ternas pitagóricas (A, B, C) en las que A, B y C son todos enteros positivos y menores que N. Para que una terna (A, B, C) sea pitagórica debe cumplir que A2+B 2=C 2. 27. Una empresa paga a sus 100 operarios semanalmente, de acuerdo con el número de horas trabajadas, a razón de P pesetas por hora y de 1.5·P pesetas por cada hora extra. Las horas extras son las que exceden de 40h. Hacer el organigrama que dado el número de horas tra- bajadas y el valor de P calcule el salario que le corresponde. 28. Disponemos de una máquina que puede dar vueltas con 5 tipos de monedas distintas: 100, 50, 25, 5 y 1 pts. Realizar el organigrama de un programa que dados el precio del artículo y la cantidad entregada por el consumidor nos indique la vuelta a entregar empleando el menor número posible de monedas. 29. Plantear el organigrama de un programa que sea capaz de calcular el impuesto sobre la renta el número de veces que sea necesario y lo escriba por impresora. El impuesto de la renta es el 15% del salario anual de cada persona, al que previamente se debe realizar una deducción en función del número de hijos, que es del 0% si tiene 0, del 5% si tiene 1 o 2 y del 15% si tiene más de 2. 30. Realizar un organigrama para leer por teclado las notas de N alumnos que están matricu- lados en M asignaturas, si un alumno no esta matriculado de una asignatura o no se pre- senta al examen se debe introducir como nota -1. El programa debe calcular y escribir el número de alumnos presentados a cada asignatura, la nota media, el número de suspensos, el número de aprobados, el número de notables y el número de sobresalientes. 31. Hacer el organigrama para resolver el siguiente problema: Un hombre, un lobo, una cabra y un repollo deben pasar un río, para ello se dispone de una barca con capacidad para dos ocupantes, el hombre (único que sabe remar) y otro. Si en una orilla se quedan solos el lo- bo y la cabra, el lobo se come a la cabra. Si en una orilla se quedan solos la cabra y el re- pollo, la cabra se come el repollo. 7
  • 8. Apuntes de Informática SOLUCIONES A LOS EJERCICIOS DE DIAGRAMAS DE FLUJO 1. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resul- tado. Inicio à Leemos el primer número y lo dejamos en A Leer A à Leemos el segundo número y lo dejamos en B Leer B à Sumamos A y B, y dejamos el resultado en C C=A+B à Escribimos C Escribir C Fin 2. Modificar el anterior pero para sumar 100 números leídos por teclado. Inicio (1) I=100 S=0 (2) (3) Leer A (4) S=S+A (5) I=I-1 (6) NO I=0 SI (7) Escribir S Fin - En I contamos los números que quedan por sumar. - En S calculamos la suma. - A se emplea para leer temporalmente cada número. 8
  • 9. ANEXO 1 – Diagramas de Flujo Vamos a ver paso a paso como funciona. Supongamos que los datos son: 7, -1, 8, 5, ... (1) I=100 (números a sumar) (2) S=0 (suma, inicialmente 0) (3) Leer A. El primero es 7, luego A=7 (4) S=S+A=0+7=7 (5) I=I-1=100-1=99 ¿I=0? → NO (6) (3) Leer A, ahora A=-1 (4) S=S+A=7-1=6 (5) I=I-1=99-1=98 ¿I=0? → NO (6) Cuando I=0 habremos sumado los 100 números y pasaremos a: (7) Escribir S que será la suma 3. Modificar el anterior para que permita sumar N números. El valor de N se debe leer pre- viamente por teclado. Inicio Leer N S=0 Leer A S=S+A N=N-1 NO N=0 SI Escribir S Fin 9
  • 10. Apuntes de Informática 4. Hacer un diagrama de flujo que permita escribir los 100 primeros pares. Inicio I=100 P=0 Escribir P P=P+2 I=I-1 NO I=0 SI Fin P: Variable para contener el siguiente par que se debe escribir. I: Contador de pares que quedan por escribir. El proceso es similar al anterior. Necesitamos un bucle para contar 100 veces y den- tro de él escribimos el par e incrementamos para obtener el siguiente. 5. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno que haga lo mismo con los pares y otro con los múltiplos de 3. Inicio Leer N I=1 S=0 S=S+I I=I+2 N=N-1 NO N=0 SI Escribir S Fin 10
  • 11. ANEXO 1 – Diagramas de Flujo 6. La sucesión de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 para n>2, es decir, los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el N- ésimo término de la sucesión. Inicio (1) Leer N SI NO N<=2 (2) (3) A=1 B=1 (4) (5) C=A+B (6) A=B B=C (7) N=N-1 (8) (9) SI N=2 NO Escribir 1 Escribir B (11) (10) Fin Dado N, el proceso es el siguiente: - si N≤2 se escribe directamente 1 y se acaba. - en otro caso se guardan en A y B los 2 últimos (al principio 1) y se suman, pasando des- pués a llamar A al antiguo B, y B a la suma. Se decrementa N y cuando valga 2, en B te- nemos lo que queremos. Vamos a ver como funciona paso a paso. Para ello vamos a numerar cada uno de los pa- sos y ver como se van realizando. (1) Leemos N, supongamos N=4. ¿N≤2? → NO (2) (3) A=1 (4) B=1 (5) C=A+B=1+1=2 (6) A=B=1 (7) B=C=2 (8) N=N-1=4-1=3 ¿N=2? → NO (9) (5) C=A+B=1+2=3 11
  • 12. Apuntes de Informática (6) A=B=2 (7) B=C=3 (8) N=N-1=3-1=2 ¿N=2? → SI (9) (10) Escribimos B, es decir 3. 7. Hacer un diagrama de flujo que simule un reloj. Inicio H=0 M=0 S=0 Escribir H:M:S S=S+1 NO S=60 SI S=0 M=M+1 NO M=60 SI M=0 H=H+1 NO H=24 SI H=0 Esperar 1 seg. 12
  • 13. ANEXO 1 – Diagramas de Flujo 9. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el 16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo. Final- mente hay que realizar un descuento, en función de la suma de los importes, dicho descuento es del 0% si es menor que 1000, es del 5% si es mayor o igual que 1000 y menor que 10000 y es de un 10% si es mayor o igual que 10000. El descuento se debe aplicar a la suma de los importes y a la suma de los ivas. Para acabar se debe imprimir el importe y el iva resultantes (total menos descuento) y la suma de ambos. Inicio SIMP=0 SIVA=0 leer IMP,IVA SI IMP=0 NO SI NO SIMP<1000 SI IVA=4 SI D=0 SIMP<10000 NO NO D=5 SI IVA=7 D=10 NO SI IVA=16 SIMP·D SIMP=SIMP- 100 NO Escribir SIVA·D IVA incorrecto SIVA=SIVA- 100 SIMP=SIMP+IMP TOT=SIMP+SIVA IMP·IVA Escribir SIMP,SIVA,TOT SIVA=SIVA+ 100 Fin 13
  • 14. Apuntes de Informática 10. Hacer un organigrama que lea N números, calcule y escriba la suma de los pares y el producto de los impares. Inicio Leer N SP=0 PI=1 Leer A SI NO A MOD 2=0 SP=SP+A PI=PI·A N=N-1 NO N=0 SI Escribir SP,PI Fin 11. 13. Inicio Inicio Leer N,M Leer N R=N MOD M P=1 SI NO R=0 N>1 NO SI N=M P=P·N M=R N=N-1 Escribir M Escribir P Fin Fin 14
  • 15. ANEXO 1 – Diagramas de Flujo 12. Inicio Leer N I=2 P(I)=1 I=I+1 SI I<=N NO I=2 NO P(I)=1 SI Escribir I J=2·I NO J<=N SI I=I+1 P(J)=0 SI I<=N J=J+I NO Fin 14. 15. Inicio Inicio Leer N Leer A I=1 Leer R R(I)=N MOD 2 Leer N S=0 N=N DIV 2 S=S+A I=I+1 A=A·R SI N>0 NO N=N-1 I=I-1 SI N>0 NO I>0 NO Escribir S SI Fin Escribir R(I) Fin 15
  • 16. Apuntes de Informática 16. 18. Inicio Inicio Leer N Leer A I=1 Leer B Leer A(I) I=I+1 P=1 SI I<=N NO SI B=0 NO M=A(1) NO SI B>0 J=1 A=1/A I=2 B=-B SI A(I)>M NO M=A(I) P=P·A J=I B=B-1 I=I+1 SI I<=N NO B=0 NO SI A(J)=A(N) A(N)=M Escribir P N=N-1 Fin SI N>1 NO Fin 19. Inicio Leer B I=1 J=N K=(I+J) DIV 2 SI NO B=A(K) SI NO B>A(K) I=K+1 J=K-1 Escribir K Fin 16
  • 17. ANEXO 1 – Diagramas de Flujo 17. Calcular el máximo de N números leídos desde teclado. Inicio (1) Leer N (2) Leer M I=N-1 (3) (4) Leer A SI (5) A>M (6) M=A NO (7) I=I-1 NO (8) I=0 SI (9) Escribir M Fin Vamos a almacenar en M el máximo de los números que se hayan leído, el primero va di- rectamente a M y los N-1 restantes los leemos en A, comparamos con M y si son mayores cambiamos el máximo temporal. Al final se escribe el resultado. Vamos a ejecutarlo paso a paso para N=4, empleando como datos: 2, 3, -1, 7. Leer N → N=4 (1) Leer M → M=2 (2) (3) I=N-1=3 Leer A → A=3 (4) ¿A>M? → SI (5) (6) M=A=3 (7) I=I-1=3-I=2 ¿I=0? → NO (8) Leer A → A=-1 (4) 17
  • 18. Apuntes de Informática ¿A>M? → NO (5) (7) I=I-1=2-1=1 ¿I=0? → NO (8) (4) Leer A, A=7 ¿A>M? → SI (5) (6) M=A=7 (7) I=I-1=1-1=0 ¿I=0? → SI (8) (9) Escribir M, es decir 7 22. Inicio Leer N S=0 D=1 SI NO N MOD D=0 S=S+D D=D+1 SI D<N NO NO SI S=N Escribir Escribir N no es perfecto N es perfecto Fin 18
  • 19. ANEXO 1 – Diagramas de Flujo 23. Inicio Leer A SI NO A MOD 4=0 NO SI A MOD 100=0 SI NO A MOD 400=0 Escribir Escribir A es bisiesto A no es bisiesto Fin 24. Inicio Leer B DIAS (1)=31 DIAS (2)=28 DIAS (3)=31 . . . DIAS (12)=31 SI NO A es bisiesto DIAS (2) = 29 D=D+1 SI D>DIAS (M) D=1 NO M=M+1 SI M>12 M=1 A=A+1 Escribir D,M,A Fin 19
  • 20. Apuntes de Informática 26. 27. Inicio Inicio Leer N Leer P A=1 Leer H B=1 C=1 E=0 SI A·A+B·B=C·C SI NO H>40 NO C=C+1 Escribir A,B,C E=H-40 SI C<N NO H=40 B=B+1 SI B<N S=P·H+1,5·P·E NO A=A+1 Escribir S SI A<N NO Fin Fin 20
  • 21. ANEXO 1 – Diagramas de Flujo 28. 29. Inicio Inicio MON(1)=1 Leer SAL MON(2)=5 Leer H MON(3)=25 SI NO H=0 MON(4)=50 SI NO D=0 H<3 MON(5)=100 D=5 D=15 Leer PRE Leer ENT D·SAL SAL=SAL- 100 DIF=ENT-PRE I=5 SAL·15 IMP= 100 SI NO DIF>MON(I) Escribir IMP CAM(I)=DIF DIV MON(I) CAM(I)=0 Fin DIF=DIF MOD MON(I) Escribir CAM(I) de MON(I) I=I-1 SI I>0 NO Fin 21