SlideShare una empresa de Scribd logo
Realizado por


          JAIRO HERNANDO RAMÍREZ MARÍN
Docente de Lógica de Programación, Algoritmos y Lenguaje de Programación




       Institución Universitaria Salazar y Herrera
                 Lógica de Programación
Estructuras repetitivas

Ciclo PARA

Ciclo MIENTRAS

Ciclo REPITA

Variables que se combinan con los ciclos

  Acumulador, contador, promedio y porcentaje

  Switche o bandera

Ciclos anidados

Estructuras repetitivas y estructuras de decisión
ESTRUCTURAS REPETITIVAS

Las estructuras repetitivas son conocidas como
CICLOS, y se usan dentro de Algoritmos para
realizar procesos que se deben REPETIR un
determinado número de veces. los ciclos
permiten ahorrar tiempo en el momento de
realizar instrucciones dentro de un algoritmo.
Por ejemplo si se pide hacer un algoritmo que lea
1 número y calcule su cuadrado, sería un
proceso muy sencillo:
INICIO
      LEA num
      Cuad = num ^ 2
      IMPRIMIR Cuad
FIN


Este es un proceso sencillo de realizar; pero si en
lugar de un número fueran 10, 20 o 500, no se
podrían leer 10, 20 o 500 variables. Lo mejor sería
usar una estructura REPETITIVA. Por ejemplo:
INICIO

      PARA X=1, 20, 1
         LEA num
         Cuad = num ^ 2
         IMPRIMIR Cuad

      FIN PARA
FIN
Este es un ejemplo de un ciclo PARA, que toma las
instrucciones que hay dentro de él, y las repite 20
veces. En este caso leería 20 números y calcularía su
cuadrado.
TIPOS DE ESTRUCTURAS REPETITIVAS

En Algoritmos existen los siguientes tipos de
estructuras repetitivas y sus respectivas
divisiones:


   •Ciclo PARA
   •Ciclo MIENTRAS
      •Registro CENTINELA (Cualitativo)
      •Registro IDENTIFICADOR (Cuantitativo)
   •Ciclo REPITA -   HASTA
CICLO PARA
El ciclo PARA se usa cuando se conoce el número de veces
que se va a repetir el ciclo o cuando éste se hace N veces.
La SINTAXIS es la siguiente


PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO]
      Instrucciones
FIN PARA
***Si el FIN no se conoce, se lee antes del ciclo
EXPLICACIÓN:
PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO]


X: Una variable cualquiera (Controladora del ciclo).
INICIO: Valor en el que empieza la variable controladora
(Normalmente es 1).
FIN: Valor en el que termina la variable controladora (Este
es el número de veces que se repite el ciclo).
INCREMENTO o DECREMENTO: Valor que incrementa o
decrementa la variable controladora (Normalmente es 1).
Dependiendo el ejercicio se pone el incremento o el
decremento.
Ejemplo: Se pide realizar un algoritmo que imprima
los números del 1 hasta el 100.
El mismo enunciado está indicando el número de veces que
se va a realizar el CICLO (100 veces), por tal motivo los
valores para el CICLO son (INICIO=1, FIN=100,
INCREMENTO=1; este último se usa para que la variable
pase de 1 a 2, de 2 a 3, y así sucesivamente hasta 100).


PARA NUM = 1, 100, 1
     IMPRIMIR NUM
FIN PARA
Explicación:
En este ejemplo la variable controladora del ciclo es
la misma que se puede imprimir.


                          INICIO    FIN     INCREMENTO
              VARIABLE


  CICLO      PARA NUM = 1, 100, 1
                   IMPRIMA NUM
             FIN PARA                     INSTRUCCIONES

                    FIN DEL CICLO



Pero en la mayoría de los casos no es así. Ejemplo:
Desarrolle un algoritmo que lea el nombre y la edad
de una persona e imprima su nombre y un mensaje
que diga si es mayor o menor de edad.
                      Observe que la variable controladora
                     del ciclo (X) es diferente a las otras dos
                               variables: NOM y ED.
 INICIO
 PARA X = 1, 25,1
 LEA NOM, ED
 SI (ED >= 18) ENT
   IMPRIMIR NOM, “MAYOR DE EDAD”                  ESTO SE REPITIRÁ
 SINO                                                25 VECES

   IMPRIMIR NOM, “MENOR DE EDAD”
 FINSI

 FIN PARA
 FIN
Calcular el salario neto de N trabajadores, sabiendo que se
le hace una retención del 5% de su básico. Lea el número
de horas trabajadas y el valor por hora.
  INICIO
                       Este ciclo va desde 1 hasta N empleados; pero
  LEA N               como no se conoce su valor (N), antes del ciclo se
                                 tiene que leer esta variable.
  PARA K = 1, N, 1
        LEA NHORAS, VLRHORA    Lo demás es igual al tipo de ciclo
        BAS = NHORAS * VLRHORA   PARA en el que se conoce el
                                número de veces que se repite.
        RET = BAS * 0.05        (Como en el ejercicio anterior)
        NETO = BAS - RET
        IMPRIMIR NETO        Pero no siempre el ciclo tendrá incrementos
                                 de 1. Existen algoritmos donde se
  FIN PARA                         coloquen incrementos de 2 o 3,
                                        dependiendo el caso.
  FIN
Desarrolle un algoritmo que imprima los números
múltiplos de 5 comprendidos entre 100 y 200.
INICIO
                                                                              NUM
PARA NUM = 100, 200, 5
                                                                              100
      IMPRIMIR NUM                       Observe que la variable llegó
                                       hasta 205; ya que siempre se tiene     105
                                          que pasar del final, para que
FIN PARA                                      termine el ciclo. (Ver
                                        Funcionamiento del ciclo PARA).
                                                                              110
FIN                                                                           115
En este ejemplo se muestra el inicio y el fin de la variable del ciclo (100
    y 200 respectivamente); pero si ponemos incrementos de 1, se
                                                                              120
  mostrarán los números entre 100 y 200 (100, 101, 102, 103...200) y no
los múltiplos de 5 como lo pide el ejercicio; por eso el incremento tiene     ...
que ser de 5. Los valores que tomará la variables serán los siguientes:
                                                                              200
                                                                              205
FUNCIONAMIENTO DE UN CICLO PARA
Imprimir sólo los números positivos de un grupo de 5.
INICIO                                      PRUEBA DE ESCRITORIO
PARA J = 1, 5, 1
                                               J        NUM           IMPRIMA
       LEA NUM
                                                1          4                4
       SI (NUM > 0) ENT                         2         -3
         IMPRIMIR NUM                           3          0
       FINSI                                    4          10              10
FIN PARA                                        5          -8
FIN                                                    TERMINA
                                                6
Cuandoprueba, la se inicializa en 1 y evalúa si se pasó variable del ciclo y va hasta la
  En la llega a J línea del FINPARA, se incrementa la del final que es (5), como es
 primer línea del ciclo y evalúa al ciclose ejecuta las instrucciones. falso (J vale 2),
                  falso ingresa si la J y pasó del final (5); como es
    continua leyendo, un númerollegue a 6. Si leemos los (por ejemplo el 4). y –8
         Luego se lee hasta que cualquiera en esta línea números –3, 0, 10
mostrará sólo los positivos: 4 y 10. En los demás casos sólo se lee el número; pero
           Luego imprime el número porque 4 es positivo (en esta línea).
                                     no se imprime.
Hacer un algoritmo que lea 6 números e imprimir su cubo.

                  K inicia en 1 y evalúa si se pasó del final (o cual es
                                  FALSO; porque 1<=6).
INICIO                   Como K no se pasó del
                          FIN, sigue leyendo.  PRUEBA DE ESCRITORIO
PARA K    = 1, 6, 1
                                                    K      NUM CUB IMP
      LEA NUM                     Se lee NUM
                                                    1       3   27 27
      CUB = NUM ^ 3           Se calcula CUB
                                                    2       8  512 512
      IMPRIMIR CUB           Se imprime CUB         3       4   64 64
FIN PARA                                            4       5  125 125
                Al llegar al FINPARA incrementa
FIN             la variable y regresa a la primer
                                                    5       2    8   8
                línea del CICLO y evalúa si K se    6       9   729 729
                 pasó del final. Si es Verdadero
                  sigue después del FIN PARA,       7
                      sino continua leyendo.
Hacer un algoritmo que lea 6 números e imprimir su cubo.



INICIO                                          PRUEBA DE ESCRITORIO

PARA K     = 1, 6, 1                             K   NUM CUB IMP
                           COMO K YA SE PASÓ
      LEA NUM             DEL FIN. VA DESPUÉS    1    3    27    27
                             DEL FIN PARA.       2    8   512   512
      CUB = NUM ^ 3
                                                 3    4    64    64
      IMPRIMIR CUB                               4    5   125   125
FIN PARA                                         5    2    8      8
FIN                                              6    9   729   729
         Y TERMINA EL ALGORITMO. LEYENDO 6
             NÚMEROS E IMPRIMIENDO SUS
                                                 7
                 RESPECTIVOS CUBOS
CICLO HAGA MIENTRAS
(Registro Identificador - Cuantitativo)
El ciclo MIENTRAS con registro identificador se usa cuando el
ciclo se hace N veces (es similar al Ciclo Para hasta N).
La SINTAXIS es la siguiente:
Lea N
X = INICIO
MIENTRAS (X <= N)
        Instrucciones
        X = X + [INCREMENTO o DECREMENTO]
FIN MIENTRAS
EXPLICACIÓN:
     Lea N
     X = INICIO
     MIENTRAS (X <= N)
      X = X + [INCREMENTO o DECREMENTO]
     FINMIENTRAS
N: Final del ciclo (que se debe leer porque se desconoce)
X: Una variable cualquiera (Controladora del ciclo).
INICIO: Valor en el que empieza la variable controladora
(Normalmente es 1).
INCREMENTO o DECREMENTO: Valor que incrementa la
variable controladora (Normalmente es 1)
Ejemplo: Se pide realizar un algoritmo que imprima
    los números de 1 hasta N.

El enunciado indica que el ciclo se hará N veces (como no se
sabe su valor de debe leer antes del ciclo). Por tal motivo los
valores para el CICLO son (INICIO=1, FIN=N, INCREMENTO=1).
Lea N
NUM=1
MIENTRAS (NUM<=N)
        IMPRIMIR NUM
        NUM=NUM+1
FIN MIENTRAS                            Explicación:
Mientras que el ciclo PARA hace todo en una sola línea (inicio, fin
e incremento), el ciclo MIENTRAS toma cada una de esas partes
y las divide en varias líneas, que se distribuyen de la siguiente
forma:
                             FIN


  VARIABLE    LEA N
                             INICIO     FIN
              NUM = 1
                                               INSTRUCCIONES
 CICLO        MIENTRAS (NUM <= N)
                  IMPRIMA NUM
                     NUM = NUM + 1              INCREMENTO
 FIN DEL
  CICLO       FIN MIENTRAS

Observe que el orden del INICIO, del FIN y del INCREMENTO
cambian de lugar; pero su funcionamiento es el mismo.
Es muy fácil convertir un CICLO PARA hasta N en un CICLO
MIENTRAS con REGISTRO IDENTIFICADOR:


                                LEA N
LEA N                           NUM = 1
PARA NUM = 1, N, 1              MIENTRAS (NUM <= N)
     IMPRIMIR NUM                   IMPRIMIR NUM
                                    NUM = NUM + 1
FIN PARA
                                  FIN MIENTRAS

Observe lo fácil que es pasar un CICLO PARA a CICLO
MIENTRAS. Se lee el final (igual), se cambia PARA por
MIENTRAS, las instrucciones van en medio y finalmente se
divide las instrucciones del PARA en el mientras: INICIO antes
del ciclo, FIN en la condición del ciclo y el incremento antes de
cerrar el CICLO. Y se cambia FIN PARA por FIN MIENTRAS.
Calcular el salario neto de N trabajadores, sabiendo que
se le hace una retención del 5% de su básico. Lea el
número de horas trabajadas y el valor por hora.

LEA N
K=1
MIENTRAS (K <= N)
      LEA NHORAS, VLRHORA      Este ciclo va desde 1 hasta N
                               empleados; pero como no se
      BAS = NHORAS * VLRHORA   conoce su valor se tiene que
                                 leer antes del ciclo esta
      RET = BAS * 0.05                    variable.
      NETO = BAS - RET
      IMPRIMIR NETO
      K=K+1
FIN MIENTRAS
Desarrolle un algoritmo que imprima los números
       múltiplos de 5 comprendidos entre 100 y N.


INICIO
                                   En este ejemplo se tiene
LEA N                   NUM        que poner un incremento
                                   de 5 para que se muestre
NUM = 100               100        los múltiplos de 5, como
                                    lo pide el ejercicio. Los
MIENTRAS (NUM <= N)     105          valores que tomará la
                                       variables serán los
      IMPRIMIR NUM       110               siguientes:

      NUM = NUM + 5      ...
                        N+5
FIN MIENTRAS
FIN
FUNCIONAMIENTO DEL REGISTRO IDENTIFICADOR
Hacer un algoritmo que lea N números e imprima sólo los positivos.

                                           PRUEBA DE ESCRITORIO
INICIO        Aquí evalúa si J es <=
              N (2 es <=3), entonces
LEA N            continúa leyendo
                                          N       J     NUM            IMPRIMA
J=1                                       3       1      15              15
                                                  2
MIENTRAS (J < = N)
      LEA NUM                    En esta línea se LEE N (en este caso 3) y se empieza
                                           J en 1 (Ver Prueba de Escritorio).
      SI (NUM > 0) ENT
                                       Evalua si J<=N. Como es Verdadero continua.
         IMPRIMA NUM
                                   Aquí se lee un # cualquiera (positivo o negativo).
      FINSI
                                   Aquí pregunta si el # es positivo (que lo imprima)
      J=J+1
                       Aquí incrementa la J en 1. Y al llegar al FIN MIENTRAS regresa
FIN MIENTRAS            a la primera línea del CICLO para volver a evaluar si J llegó al
FIN                                              final que es N.
FUNCIONAMIENTO DEL REGISTRO IDENTIFICADOR
Hacer un algoritmo que lea N números e imprima sólo los positivos.

                                        PRUEBA DE ESCRITORIO
INICIO AlAl evaluar la condiciónya
         evaluar la condición
       es FALSA porque 4 no es
            ésta es Verdadera
         (3<=3). Sigue leyendo
LEA N <=3. Por lo tanto termina
                                       N       J      NUM           IMPRIMA
                 el ciclo              3       1       15             15
J=1
                                               2       -8
MIENTRAS (J < = N)                             3        7                  7
      LEA NUM
                                               4
                                       Aquí lee un número cualquiera (positivo o
      SI (NUM > 0) ENT                                negativo).
          IMP NUM                       Aquí pregunta si el # es positivo (que lo
      FINSI                                            imprima)

      J=J+1           Aquí incrementa la J en 1. Y SEllegar al FIN MIENTRASen N se
                      NOTE QUE EL ALGORITMO al HIZO HASTA 3 porque regresa
                       a la primera línea del CICLO paraleer cualquier valor.J Aquí se
                       leyó ese número; pero se puede volver a evaluar si llegó al
FIN MIENTRAS               leyeron 3 números yfinal que es N. sólo los positivos.
                                                se imprimieron

FIN
CICLO HAGA MIENTRAS
  (Registro Centinela - Cualitativo)
El ciclo MIENTRAS con Registro Centinela se usa cuando
no se sabe el número de veces que se va a hacer el ciclo
(no se da un número fijo o no se habla de la variable N).
La SINTAXIS es la siguiente:
LEER VAR
MIENTRAS (CONDICIÓN)
     Instrucciones
     LEER VAR
FIN MIENTRAS
EXPLICACIÓN:
LEER VAR
MIENTRAS (CONDICIÓN)
VAR: Variable que va a controlar el ciclo (se recomienda que
sea una de las variables trabajadas en el algoritmo). Muy
diferente en los otros ciclos que se crea una variable
controladora del ciclo.
CONDICIÓN: Permite terminar el ciclo. Se usa la variable que
se leyó y se le puede dar un valor que la variable nunca tome.

Nota: Tenga en cuenta que este ciclo no tiene INCREMENTO,
INICIO o FIN; lo único que permite terminar este ciclo es que la
variable tome un valorX. La característica de este ciclo es que se
lee la Variable controladora, antes del ciclo y antes del fin del ciclo.
Para entender mejor el tema mire los ejemplos:
Ejemplo: Se pide realizar un algoritmo que lea varios
  números positivos e imprima su raíz cuadrada.
El enunciado indica que se deben leer varios números, pero no
dicen cuantos ni tampoco que son N. Por tal motivo se tiene que
usar un ciclo Mientras con Registro Centinela. Se lee la variable
antes del ciclo y antes del fin del ciclo y se pone una condición
apropiada (si son números positivos ninguno puede ser menor
igual a cero):
LEER NUM
MIENTRAS (NUM > 0)
      RAIZ = NUM ^ (1/2)
      IMPRIMIR RAIZ
      LEER NUM
FIN MIENTRAS                             Explicación:
Mientras que los ciclos anteriores requieren de un inicio, un fin y
un incremento; estos ciclos NO. Sólo necesitan tomar
cualquiera de las variables y ponerle una condición correcta
(algunos algoritmos dirán cual es la condición, otros NO. En
este último caso el programador elige la condición apropiada).

         VARIABLE QUE SE LEE
           ANTES DEL CICLO                 CONDICIÓN DEL
                                              CICLO
                 LEA NUM

    CICLO        MIENTRAS (NUM > 0)
                        RAIZ = NUM ^ (1/2)
  Y ANTES DEL FINAL
      DEL CICLO         IMPRIMIR RAIZ
                                                       INSTRUCCIONES
                        LEA NUM
FIN DEL CICLO
                 FIN MIENTRAS
FUNCIONAMIENTO MIENTRAS (Registro Centinela)
Hacer un algoritmo que lea un grupo de números y calcule su raíz
cuadrada. El ciclo se hará hasta que se lea un número igual a cero.

INICIO         Como 100 es <>       PRUEBA DE ESCRITORIO
                0, continúa.
LEA NUM                             NUM         RAIZ          IMPRIMA
                                     9           3               3
MIENTRAS (NUM <> 0)                 100
      RAIZ = NUM ^ (1/2)        En esta línea se LEE el primer número (vamos
                                      a leer 9) Ver Prueba de Escritorio.
      IMPRIMIR RAIZ
                       En esta línea se evalúa si el # es diferente de 0. Como
      LEA NUM                          es Verdadero continua.

FIN MIENTRAS                    Aquí se calcula e imprime la Raíz Cuadrada
                                                    Aquí se Lee otro número.
FIN
            Al llegar al FINMIENTRAS va a la primera línea de la estructura y
                           evalúa si el número es diferente de 0.
FUNCIONAMIENTO MIENTRAS (Registro Centinela)
 Hacer un algoritmo que lea un grupo de números y calcule su raíz
 cuadrada. El ciclo se hará hasta que se lea un número igual a cero.
                                          PRUEBA DE ESCRITORIO
INICIO
                                         NUM           RAIZ           IMPRIMA
LEA NUM                                   9              3                3
MIENTRAS NUM <> 0                        100            10               10
                                          0
      RAIZ = NUM ^ (1/2)
                                             Nuevamente viene a esta línea, calcula
      IMPRIMIR RAIZ                                  e imprime la raíz.
      LEA NUM                     Este proceso repetirá mientras el número leído
                                sea diferente de 0. Si no se desea continuar se lee
FIN MIENTRAS                                       este número.

FIN       ASÍ SE LEYERON VARIOS NÚMEROS, SE CALCULÓ E IMPRIMIÓ SU
                  Al llegar al fin del ciclo, regresa a la primera línea y evalúa si es
          RAÍZ CUADRADA. TERMINANDO EL es, termina el ciclo y termina el
                     diferente de 0. Como no lo PROCESO CUANDO SE DIGITÓ
                                                 algoritmo.
                                   UN NÚMERO IGUAL A 0.
Calcular el salario neto de varios trabajadores, sabiendo que se le
 hace una retención del 5% de su básico. Lea el número de horas
 trabajadas y el valor por hora. Hacer esto mientras no se digite un
 número de horas negativo o igual a cero.

LEA NHORAS                                Este ciclo se repite varias veces
                                     mientras que no se digite un número de
MIENTRAS NHORAS > 0                   horas negativo (esa es la condición del
                                     ciclo) y la variable contraladora del ciclo
   LEA VLRHORA                                 es el número de horas.

   BAS = NHORAS * VLRHORA
   RET = BAS * 0.05
                          Observe que la variable NHORAS se lee antes
                          del ciclo y antes del fin del ciclo. Como falta
   NETO = BAS - RET
                           leer la variable VLRHORA se lee dentro del
                         ciclo. Y la condición es mientras que NHORAS
   IMPRIMIR NETO
                          sea MAYOR DE 0, lo que significa POSITIVO.
   LEA NHORAS
FIN MIENTRAS
CICLO REPITA HASTA
El ciclo REPITA HASTA se usa de una forma similar al
ciclo MIENTRAS con Registro Centinela; pero la
condición va al final del ciclo y no en su primera línea.
La SINTAXIS es la siguiente:
LEA VAR
REPITA
     Instrucciones
     LEA VAR
HASTA (CONDICIÓN)
EXPLICACIÓN:
     LEER VAR
     REPITA
      Instrucciones
      LEER VAR
     HASTA (CONDICIÓN)
Este ciclo empieza con LEER VAR que controlará el ciclo, luego la
palabra REPITA, se colocan las instrucciones a realizar. Se vuelve
a leer antes del final del ciclo y finalmente se pone HASTA
(CONDICIÓN), ésta última es la que permite terminar al ciclo.

Nota: Este ciclo al no haber condición al inicio ESTÁ OBLIGADO
A HACERSE MÍNIMO UNA VEZ, algo que no pasa con el ciclo
(MIENTRAS). Es usada para validar el ingreso de información.
Ejemplo: Se pide realizar un algoritmo que lea varios números e
imprima su raíz cuadrada hasta que se lea un número negativo.


El enunciado indica que se deben leer varios números y está
dando la condición para terminar el ciclo. Por tal motivo se
tiene que usar un ciclo REPITA HASTA.
LEER NUM
REPITA
      RAIZ = NUM ^ (1/2)
      IMPRIMIR RAIZ
      LEER NUM
HASTA (NUM = 0)
                                 Explicación:
Las consideraciones a tener en cuenta en este ciclo son las
mismas que para el ciclo MIENTRAS con Registro Centinela;
pero la condición no va al inicio del ciclo sino al final.


                             VARIABLE QUE SE LEE ANTES
                                     DEL CICLO


                LEA NUM
  CICLO
                REPITA                       INSTRUCCIONES

                     RAIZ = NUM ^ (1/2)
 Y ANTES DEL FINAL
     DEL CICLO       IMPRIMIR RAIZ
                                              CONDICIÓN DEL
                     LEA NUM                     CICLO
FIN DEL CICLO
                HASTA (NUM = 0)
FUNCIONAMIENTO DE UN CICLO REPITA HASTA
Hacer un algoritmo que lea un grupo de números y calcule su raíz
cuadrada. El ciclo se hará hasta que se lea un número igual a cero.
                               PRUEBA DE ESCRITORIO
INICIO
                              NUM           RAIZ          IMPRIMA
LEA NUM
                               64            8               8
REPITA                         81
  RAIZ = NUM ^ (1/2)
                               En esta línea se LEE el primer número
  IMPRIMIR RAIZ              (vamos a leer 64) Ver Prueba. Y del repita
                             pasa a la línea siguiente (Sin evaluar nada)
  LEA NUM
                            Aquí se calcula e imprime la raíz cuadrada.
HASTA (NUM = 0)                                   Aquí se lee otro número
FIN                       Al llegar al fin del ciclo evalúa: si el número es
                          = 0 termina, de lo contrario va hasta el repita, y
                                       continúa con el proceso.
FUNCIONAMIENTO DE UN CICLO REPITA HASTA
Hacer un algoritmo que lea un grupo de números y calcule su raíz
cuadrada. El ciclo se hará hasta que se lea un número igual a cero.
                                    PRUEBA DE ESCRITORIO
INICIO
                                   NUM          RAIZ         IMPRIMA
LEA NUM
                                    64           8              8
REPITA                              81           9              9
                                    0
 RAIZ = NUM ^ (1/2)
                                     Aquí se calcula e imprime la otra raíz
 IMPRIMIR RAIZ                                    cuadrada.

 LEA NUM                           Aquí se lee otro número (esto se repetirá
                                   hasta que se digite un 0.) Para terminar
HASTA (NUM = 0)                                  haremos eso.

FIN                           Al llegar aquí, evalúa: Como el número es igual
                                           a 0, termina el proceso.

      Se leyeron números, se calculó su raíz cuadrada hasta digitar un cero.
Calcular el salario neto de varios trabajadores, sabiendo que se le
hace una retención del 5% de su básico. Lea el número de horas
trabajadas y el valor por hora. Hacer esto hasta se digite un
número de horas negativo.

LEA NHORAS
                                     El Ciclo Mientras con Registro
REPITA                                  Centinela pone condición
                                    MIENTRAS QUE NO SE CUMPLA
    LEA VLRHORA                     EL FINAL DEL CICLO; mientras
                                      que el Ciclo REPITA se hace
    BAS = NHORAS * VLRHORA
                                      HASTA QUE SE CUMPLA LA
    RET = BAS * 0.05                      CONDICIÓN. Ej: Ciclo
                                      MIENTRAS: Haga Mientras la
    NETO = BAS - RET                 edad sea diferente de 80 años.
                                    El ciclo hasta diría: Repita hasta
    IMPRIMIR NETO                      que la edad sea igual a 80.

    LEA NHORAS
HASTA (NHORAS < 0)
CONTADORES, ACUMULADORES,
 PROMEDIOS Y PORCENTAJES

Son elementos de algoritmos básicos y fundamentales para
determinar cantidades, sumatorias y varios datos estadísticos.

CONTADOR: Como su nombre lo indica, son variables que
sirven para CONTAR dentro de un algoritmo. Se usa para
determinar cantidades (haciendo un conteo de 1 en 1).


La SINTAXIS es la siguiente:


CONTADOR = CONTADOR + 1
ACUMULADOR: Son variables que sirven para SUMAR o
ACUMULAR valores dentro de un algoritmo. Se usa para
determinar totales o todas aquellas operaciones donde se vaya a
incrementar un número no constante (el contador incrementa de
forma constante: de 1 en 1, 2 en 2, etc).


La SINTAXIS es la siguiente:


ACUMULADOR = ACUMULADOR + VARIABLE


VARIABLE, es la variable que se pide acumular o sumar.
PROMEDIO: Son variables que sirven para PROMEDIAR
valores. Para calcularlos se divide un ACUMULADOR por un
CONTADOR (Esto quiere decir, se suman todos los elementos y
se divide por el número de ellos).


La SINTAXIS es la siguiente:


PROMEDIO = ACUMULADOR / CONTADOR


Algunas veces el CONTADOR se puede reemplazar por el número
total de elementos.
PORCENTAJE:       Son variables que sirven calcular datos
estadísticos. Para calcularlos se usan un CONTADOR
PARTICULAR divido un CONTADOR GENERAL multiplicado por
100.


Al multiplicar un contador particular por el contador general,
siempre dará un número entre 0 y 1; por eso se multiplica por 100,
para dar la respuesta en porcentaje: 0.25 = 25%.
La SINTAXIS es la siguiente:


PORCENTAJE = CONT_PARTICULAR / CONT_GRAL*100


Para entender el funcionamiento de contadores, acumuladores,
promedios y porcentajes, observe lo siguiente:
Desarrolle un algoritmo que lea la edad y el sexo de 10 personas;
calcular e imprimir cuantas son mayores de edad y cuantas menores.
Además, la suma de edad de los hombres, la suma de edad de las
mujeres y la suma de todas las personas.


Las consideraciones a tener          en    cuenta   para   los
acumuladores y los contadores:
Para determinar la cantidad de personas mayores de edad y las
menores de edad, se tienen que usar 2 contadores diferentes;
mientras que para la suma de edad de los hombres, de las
mujeres y de todas las personas se necesitan 3 acumuladores.
Las 4 primeras variables son contadores y acumuladores
PARTICULARES (de un caso en especial: mayores o menores
de edad; hombres o mujeres), mientras que el último acumulador
es GENERAL (para todos, el cual va sin pregunta).
CONTMY, CONTMN, SUMEDH, SUMEDM, SUMTED=0       Se inicializan en 0, ANTES del
PARA X=1, 10, 1                                 ciclo. (Todas tienen distinto
                                                           nombre).
LEA SEX, ED
SI (ED>=18) ENT
  CONTMY = CONTMY + 1
                             Se calculan los contadores PARTICULARES
SINO                          (CONTMY significa Contador Mayores de
                                    Edad. Igual con los menores).
  CONTMN = CONTMN + 1
FINSI
                                  Se calculan los Acumuladores
SI (SEX=“MASCULINO”) ENT        PARTICULARES (SUMEDM significa
                              Sumatoria de Edad de las Mujeres. Igual
  SUMEDH = SUMEDH + ED
                                        con los hombres).
SINO
                                Se calcula el Acumulador
 SUMEDM = SUMEDM + ED
                                GENERAL (Sin pregunta)
FINSI
SUMTED = SUMTED + ED                                  Se imprimen
FINPARA                                             FUERA del ciclo.

IMPRIMIR CONTMY, CONTMN, SUMEDH, SUMEDM, SUMTED
Las consideraciones a tener en cuenta para los promedios y
porcentajes: Siempre que se vaya a calcular un promedio se
requiere de un Acumulador y un contador. Para los porcentajes se
necesita un Contador Particular y uno general.

Desarrolle un algoritmo que lea la edad y el sexo de 10 personas;
calcular e imprimir el promedio de edad de los hombres y el de
las mujeres. Además, el porcentaje de personas mayores de edad
y el promedio de edad de todas las personas.

Para determinar el promedio de edad de hombres y mujeres se
necesita de un contador que cuente los hombres y un acumulador
que sume la edad de los hombres (igual para las mujeres). Para
hallar el porcentaje de los mayores de edad se necesita un
contador que cuente cuántos mayores de edad hay (no se necesita
un contador general, porque el total de personas es 10). Para el
promedio de edades de todos se usa un acumulador general
(tampoco se necesita contar porque son 10).
CONTH, CONTM, CONTMY, SUMEDH, SUMEDM, SUMTED=0
PARA X=1, 10, 1
LEA SEX, ED                         Se inicializan en 0, ANTES del ciclo. (Todas
                                               tienen distinto nombre).
SI (SEX=“MASCULINO”) ENT
   SUMEDH = SUMEDH + ED
   CONTH = CONTH + 1                Se calculan los contadores y acumuladores
                                         PARTICULARES para calcular los
SINO
                                    promedios de edad de hombres y mujeres.
   SUMEDM = SUMEDM + ED
   CONTM = CONTM + 1
FINSI                                Se calcula el Contador PARTICULAR para
SI (ED>=18) ENT                      calcular el Porcentaje de los mayores de
                                                       edad.
   CONTMY = CONTMY + 1
FINSI
SUMTED = SUMTED + ED
                                    Se calcula el Acumulador GENERAL para el
                                          promedio de todas las edades.
FINPARA
PROMEDH = SUMEDH / CONTH
                                     Los Promedios y Porcentajes se calcula e
PROMEDM = SUMEDM / CONTM
                                            imprimen FUERA del Ciclo.
PORCMY = CONTMY / 10 * 100
PROMTE = SUMTED / 10
IMPRIMIR PROMEDH, PROMEDM, PORCMY, PROMTE
FUNCIONAMIENTO DE UN CONTADOR
Hacer un algoritmo que lea la EDAD de 6 personas e imprima cuántos
son mayores de edad y cuántos menores.
                                            INICIO
     PRUEBA DE ESCRITORIO                   CMY, CMN = 0
X CMY CMN EDAD           IMPRIMA            PARA X = 1, 6, 1
 1   0      0     17         4                LEA EDAD
 2   1      1     23
                             2                SI (EDAD >= 18)
 3   2      2     18
 4   3            35                              CMY = CMY + 1
 5   4            12                           SINO
 6                21                              CMN = CMN + 1
 7
                                               FINSI
                                            FINPARA
                                            IMPRIMIR CMY, CMN
                                            FIN
FUNCIONAMIENTO DE UN PORCENTAJE
        Hacer un algoritmo que lea la EDAD de 6 personas e imprima el
        porcentaje de mayores de edad y el de menores.
                                                          INICIO
             PRUEBA DE ESCRITORIO
                                                          CMY, CMN = 0
X CMY CMN EDAD           PORCMY PORCMN             IMP
                                                          PARA X = 1, 6, 1
1   0    0       17         66,6%       33,3%     66,6%
                                                           LEA EDAD
2   1    1       23                               33,3%    SI (EDAD >= 18)
3   2    2       18                                             CMY = CMY + 1
4   3            35                                         SINO
5   4            12                                             CMN = CMN + 1
6                21                                         FINSI
7                                                         FINPARA
                                                          PORCMY = CMY / 6 * 100
        EL funcionamiento es igual al de los              PORCMN = CMN / 6 * 100
        contadores; sólo que al terminar el
        ciclo se calculan los porcentajes (Para           IMPRIMIR PORCMY, PORCMN
        calcularlos se tiene que CONTAR).                 FIN
FUNCIONAMIENTO DE UN ACUMULADOR
Hacer un algoritmo que lea la EDAD de 6 personas e imprima la suma
de edad de los mayores de edad y de los menores.
                                          INICIO
    PRUEBA DE ESCRITORIO
                                          SMY, SMN = 0
X SMY SMN EDAD         IMPRIMA
                                          PARA X = 1, 6, 1
1   0      0     17        97
                                           LEA ED
2   23    17     23
                           29              SI (ED >= 18)
3   41    29     18
4   76           35                             SMY = SMY + ED
5   97           12                         SINO
6                21
                                                SMN = SMN + ED
7
                                            FINSI
                                          FINPARA
                                          IMPRIMIR SMY, SMN
                                          FIN
FUNCIONAMIENTO DE UN PROMEDIO
         Hacer un algoritmo que lea la EDAD de 6 personas e imprima el
         porcentaje de mayores de edad y el de menores.
                                                        CMY, CMN, SMY, SMN = 0
           PRUEBA DE ESCRITORIO
                                                        PARA X = 1, 6, 1
X SMY SMN EDAD          PROMMY PROMMN IMP
                                                         LEA EDAD
1   0     0     17        24,2       14,5        24,2
                                                         SI (EDAD >= 18)
2   23   17     23                               14,5        CMY = CMY + 1
3   41   29     18            CMY           CMN              SMY = SMY + ED
4   76          35               0           0            SINO
5   97          12               1           1
                                                             CMN = CMN + 1
6               21               2           2
                                                             SMN = SMN + ED
                                 3
7                                4                        FINSI

         EL funcionamiento es igual al de               FINPARA
         los contadores y acumuladores;
                                                        PROMMY = SMY/ CMY
         sólo que al terminar el ciclo se
         calculan los promedios (Para                   PROMMN = SMN/ CMN
         calcularlos se tiene que CONTAR
         y ACUMULAR).                                   IMPRIMIR PROMMY, PROMMN
SWITCHES O BANDERAS
Son elementos de algoritmos fundamentales para
buscar elementos o para determinadas situaciones en
las cuales se cumpla una condición específica.
Teniendo como principal característica que toma sólo
dos estados o valores (1 o 0, Encendido o Apagado,
Verdadero o False, V o F, entre otros valores).
Esta variable se usa con el nombre SW o BAND. Se
inicializa antes del ciclo con cualquiera de los dos
valores. Y dentro de ciclo cambia al otro valor cuando
cumpla determinada condición. La SINTAXIS es la
siguiente:
SW = 0                         SW = “VERDADERO”
CICLO                          CICLO
     SI CONDICIÓN                    SI CONDICIÓN
         SW = 1                         SW = “FALSO”
     FINSI                           FINSI
FIN SI                         FIN SI
FINCICLO                       FINCICLO

Observe que se puede inicializar en cualquier valor
(normalmente es el negativo: Apagado, F, 0, o Falso).
Después del ciclo se puede preguntar por el estado o el
valor de esa variable e imprimir los mensajes que
correspondan o sean necesarios.
Ejemplo: Se pide realizar un algoritmo que lea 90 números e imprima
si se digita algún número negativo.
El enunciado indica que se debe determinar si se digitó un número negativo
(ESA ES LA CONDICIÓN para cambiar el estado de la variable).
SW = 0
PARA K = 1, 90, 1
         LEER NUM
         SI (NUM < 0) ENTONCES
                 SW = 1
         FINSI
FIN PARA
SI (SW = 1) ENTONCES
         IMPRIMA “SE DIGITÓ UN NÚMERO NEGATIVO”
FINSI                                                     Explicación:
SE INICILIZA EN ALGÚN VALOR LA
                VARIABLE SW ANTES DEL CICLO


SW = 0
PARA K = 1, 90, 1                         SE CAMBIA EL VALOR DE LA
        LEER NUM                            VARIABLE CUANDO LA
                                          CONDICIÓN SEA VERDADERA
        SI (NUM < 0) ENTONCES
                SW = 1
        FINSI                     SE PREGUNTA DESPUÉS DEL CICLO POR
                                     ALGUNO DE LOS VALORES DE LA
FIN PARA                           VARIABLE Y SE IMPRIME EL MENSAJE

SI (SW = 1) ENTONCES
        IMPRIMA “SE DIGITÓ UN NÚMERO NEGATIVO”
FINSI
FUNCIONAMIENTO DE UNA BANDERA
Hacer un algoritmo que lea 90 números. Imprimir si se lee algún
número negativo.
                               PRUEBA DE ESCRITORIO
 SW = 0                        SW     NUM       IMPRIMA
                                0       8        Se digitó un #
 PARA K = 1, 90, 1                                 negativo
       LEER NUM                 1       7
        SI (NUM < 0) ENT                    -2
                SW = 1         En esta línea se INICIALIZA el sw o bandera
                                           en 0, antes del ciclo.
        FINSI
                                 En esta línea se leen números, y sólo
FIN PARA                         cambia el SW a 1, cuando se lea algún
                                            número negativo.
SI (SW = 1) ENTONCES
                                      Si el –2 es el número 80 leído.
   IMPRIMA “SE DIGITÓ UN             Inmediatamente cambia sw a 1
   NÚMERO NEGATIVO”            Aquí se pregunta. Como sw = 1, imprime el
FINSI                                           mensaje
Leer los nombres de 150 personas e imprimir si se leyó algún
nombre igual a Juan o no.
                                    La única aclaración que
BAND = “FALSO”
                                    hay que hacer de este
PARA I = 1, 150, 1                  algoritmo es que la
                                    condición para cambiar el
     LEA NOMBRE
                                    estado de la bandera es
     SI (NOMBRE = “Juan”) Entonces NOMBRE = JUAN. Luego
                                    al finalizar se imprime si se
        BAND = “VERDADERO”
                                    encontró o no un nombre
     FINSI                          JUAN (este ejercicio pide
                                    los dos mensajes, el
FINPARA
                                    ejercicio anterior, sólo pide
SI BAND = “VERDADERO” Entonces      imprimir si se leyó un
                                    número negativo nada
   IMPRIMA “Se leyó un nombre juan”
                                    mas).
SINO
  IMPRIMA “No se leyó un nombre juan”
FINSI

Más contenido relacionado

La actualidad más candente

Método de gauss
Método de gaussMétodo de gauss
Método de gauss
pepemunoz
 
17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
Clara Patricia Avella Ibañez
 
Tipos de algoritmoppt
Tipos de algoritmopptTipos de algoritmoppt
Tipos de algoritmoppt
pedro jimenez
 
Recorrido de anchura
Recorrido de anchuraRecorrido de anchura
Recorrido de anchura
Cristian Hernandez
 
Modelos de gráficas de funciones
Modelos de gráficas de funcionesModelos de gráficas de funciones
Modelos de gráficas de funciones
L2DJ Temas de Matemáticas Inc.
 
Recursividad
RecursividadRecursividad
Recursividad
Lester Sanchez
 
Guia de ejercicios metodos de integracion
Guia de ejercicios metodos de integracionGuia de ejercicios metodos de integracion
Guia de ejercicios metodos de integracion
Antonio Leopardi
 
Progresiones aritméticas y geométricas
Progresiones aritméticas y geométricasProgresiones aritméticas y geométricas
Progresiones aritméticas y geométricas
jcremiro
 
Simulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadraticoSimulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadratico
José Antonio Sandoval Acosta
 
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
Cristian Maza
 
Portafolio uta programación 1
Portafolio uta programación 1Portafolio uta programación 1
Portafolio uta programación 1
Carlos88Ponce
 
Microprocesador y memorias
Microprocesador y memoriasMicroprocesador y memorias
Microprocesador y memoriasAzul Restrepo
 
Limites
LimitesLimites
Limites
Christiam3000
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
José Antonio Sandoval Acosta
 
Metodo de gauss jordan
Metodo de gauss jordanMetodo de gauss jordan
Metodo de gauss jordan
Alejandro Machado Colina
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
Elba Sepúlveda
 
Derivadas de funciones trigonométricas inversas
Derivadas de funciones trigonométricas inversasDerivadas de funciones trigonométricas inversas
Derivadas de funciones trigonométricas inversas
Camilo Andrés Ortiz Daza
 
Funciones Presentacion
Funciones   PresentacionFunciones   Presentacion
Funciones PresentacionSUSANA
 
Simulación de sistemas distribuidos de gran escala
Simulación de sistemas distribuidos de gran escalaSimulación de sistemas distribuidos de gran escala
Simulación de sistemas distribuidos de gran escala
Facultad de Informática UCM
 

La actualidad más candente (20)

Método de gauss
Método de gaussMétodo de gauss
Método de gauss
 
17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
Tipos de algoritmoppt
Tipos de algoritmopptTipos de algoritmoppt
Tipos de algoritmoppt
 
Recorrido de anchura
Recorrido de anchuraRecorrido de anchura
Recorrido de anchura
 
Modelos de gráficas de funciones
Modelos de gráficas de funcionesModelos de gráficas de funciones
Modelos de gráficas de funciones
 
Recursividad
RecursividadRecursividad
Recursividad
 
Guia de ejercicios metodos de integracion
Guia de ejercicios metodos de integracionGuia de ejercicios metodos de integracion
Guia de ejercicios metodos de integracion
 
Dominio y rango
Dominio y rangoDominio y rango
Dominio y rango
 
Progresiones aritméticas y geométricas
Progresiones aritméticas y geométricasProgresiones aritméticas y geométricas
Progresiones aritméticas y geométricas
 
Simulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadraticoSimulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadratico
 
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
 
Portafolio uta programación 1
Portafolio uta programación 1Portafolio uta programación 1
Portafolio uta programación 1
 
Microprocesador y memorias
Microprocesador y memoriasMicroprocesador y memorias
Microprocesador y memorias
 
Limites
LimitesLimites
Limites
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Metodo de gauss jordan
Metodo de gauss jordanMetodo de gauss jordan
Metodo de gauss jordan
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
 
Derivadas de funciones trigonométricas inversas
Derivadas de funciones trigonométricas inversasDerivadas de funciones trigonométricas inversas
Derivadas de funciones trigonométricas inversas
 
Funciones Presentacion
Funciones   PresentacionFunciones   Presentacion
Funciones Presentacion
 
Simulación de sistemas distribuidos de gran escala
Simulación de sistemas distribuidos de gran escalaSimulación de sistemas distribuidos de gran escala
Simulación de sistemas distribuidos de gran escala
 

Destacado

Coagulacion y complemento
Coagulacion y complementoCoagulacion y complemento
Coagulacion y complemento
pacofierro
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltosfermodcor
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 

Destacado (10)

Sistema de la coagulación y de las cininas
Sistema  de la coagulación y de las cininasSistema  de la coagulación y de las cininas
Sistema de la coagulación y de las cininas
 
Coagulacion y complemento
Coagulacion y complementoCoagulacion y complemento
Coagulacion y complemento
 
Hemostasia y coagulación.
Hemostasia y coagulación.Hemostasia y coagulación.
Hemostasia y coagulación.
 
Presentacion mafe
Presentacion mafePresentacion mafe
Presentacion mafe
 
El ozono como eliminador de moho
El ozono como eliminador de mohoEl ozono como eliminador de moho
El ozono como eliminador de moho
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 

Similar a Complemento Ciclos

Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y cicloslincolnschoolgdl
 
Tarea 7
Tarea 7Tarea 7
Tarea 7
GUSTARD
 
T A R E A 7
T A R E A 7T A R E A 7
T A R E A 7
GUSTARD
 
Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1
sena
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.
DENIRAMIREZANDRADE
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.
DENIRAMIREZANDRADE
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.
DENIRAMIREZANDRADE
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
Jessenia Realpe
 
practicas dfd
practicas dfdpracticas dfd
Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.
DENIRAMIREZANDRADE
 
Manual De Pascal
Manual De PascalManual De Pascal
Manual De PascalMANUELRSG
 
Capítulo 3 Qbasic sentencias de control repetitivas
Capítulo 3 Qbasic sentencias de control repetitivasCapítulo 3 Qbasic sentencias de control repetitivas
Capítulo 3 Qbasic sentencias de control repetitivas
Julio Ayala Rolón
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
sena
 
Transformación
TransformaciónTransformación
Transformación
Ronald Bonilla
 
Manual Practico de Pascal
Manual Practico de PascalManual Practico de Pascal
Manual Practico de Pascalapohlo
 

Similar a Complemento Ciclos (20)

Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y ciclos
 
Tarea 7
Tarea 7Tarea 7
Tarea 7
 
T A R E A 7
T A R E A 7T A R E A 7
T A R E A 7
 
Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
 
practicas dfd
practicas dfdpracticas dfd
practicas dfd
 
Modulo2b
Modulo2bModulo2b
Modulo2b
 
Estructuras alg
Estructuras algEstructuras alg
Estructuras alg
 
Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.
 
Tarea 7
Tarea 7Tarea 7
Tarea 7
 
Tarea 7
Tarea 7Tarea 7
Tarea 7
 
Manual De Pascal
Manual De PascalManual De Pascal
Manual De Pascal
 
Capítulo 3 Qbasic sentencias de control repetitivas
Capítulo 3 Qbasic sentencias de control repetitivasCapítulo 3 Qbasic sentencias de control repetitivas
Capítulo 3 Qbasic sentencias de control repetitivas
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Transformación
TransformaciónTransformación
Transformación
 
Manual Practico de Pascal
Manual Practico de PascalManual Practico de Pascal
Manual Practico de Pascal
 
Ciclos
CiclosCiclos
Ciclos
 

Último

Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 

Último (20)

Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 

Complemento Ciclos

  • 1. Realizado por JAIRO HERNANDO RAMÍREZ MARÍN Docente de Lógica de Programación, Algoritmos y Lenguaje de Programación Institución Universitaria Salazar y Herrera Lógica de Programación
  • 2. Estructuras repetitivas Ciclo PARA Ciclo MIENTRAS Ciclo REPITA Variables que se combinan con los ciclos Acumulador, contador, promedio y porcentaje Switche o bandera Ciclos anidados Estructuras repetitivas y estructuras de decisión
  • 3. ESTRUCTURAS REPETITIVAS Las estructuras repetitivas son conocidas como CICLOS, y se usan dentro de Algoritmos para realizar procesos que se deben REPETIR un determinado número de veces. los ciclos permiten ahorrar tiempo en el momento de realizar instrucciones dentro de un algoritmo. Por ejemplo si se pide hacer un algoritmo que lea 1 número y calcule su cuadrado, sería un proceso muy sencillo:
  • 4. INICIO LEA num Cuad = num ^ 2 IMPRIMIR Cuad FIN Este es un proceso sencillo de realizar; pero si en lugar de un número fueran 10, 20 o 500, no se podrían leer 10, 20 o 500 variables. Lo mejor sería usar una estructura REPETITIVA. Por ejemplo:
  • 5. INICIO PARA X=1, 20, 1 LEA num Cuad = num ^ 2 IMPRIMIR Cuad FIN PARA FIN Este es un ejemplo de un ciclo PARA, que toma las instrucciones que hay dentro de él, y las repite 20 veces. En este caso leería 20 números y calcularía su cuadrado.
  • 6. TIPOS DE ESTRUCTURAS REPETITIVAS En Algoritmos existen los siguientes tipos de estructuras repetitivas y sus respectivas divisiones: •Ciclo PARA •Ciclo MIENTRAS •Registro CENTINELA (Cualitativo) •Registro IDENTIFICADOR (Cuantitativo) •Ciclo REPITA - HASTA
  • 7. CICLO PARA El ciclo PARA se usa cuando se conoce el número de veces que se va a repetir el ciclo o cuando éste se hace N veces. La SINTAXIS es la siguiente PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO] Instrucciones FIN PARA ***Si el FIN no se conoce, se lee antes del ciclo
  • 8. EXPLICACIÓN: PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO] X: Una variable cualquiera (Controladora del ciclo). INICIO: Valor en el que empieza la variable controladora (Normalmente es 1). FIN: Valor en el que termina la variable controladora (Este es el número de veces que se repite el ciclo). INCREMENTO o DECREMENTO: Valor que incrementa o decrementa la variable controladora (Normalmente es 1). Dependiendo el ejercicio se pone el incremento o el decremento.
  • 9. Ejemplo: Se pide realizar un algoritmo que imprima los números del 1 hasta el 100. El mismo enunciado está indicando el número de veces que se va a realizar el CICLO (100 veces), por tal motivo los valores para el CICLO son (INICIO=1, FIN=100, INCREMENTO=1; este último se usa para que la variable pase de 1 a 2, de 2 a 3, y así sucesivamente hasta 100). PARA NUM = 1, 100, 1 IMPRIMIR NUM FIN PARA Explicación:
  • 10. En este ejemplo la variable controladora del ciclo es la misma que se puede imprimir. INICIO FIN INCREMENTO VARIABLE CICLO PARA NUM = 1, 100, 1 IMPRIMA NUM FIN PARA INSTRUCCIONES FIN DEL CICLO Pero en la mayoría de los casos no es así. Ejemplo:
  • 11. Desarrolle un algoritmo que lea el nombre y la edad de una persona e imprima su nombre y un mensaje que diga si es mayor o menor de edad. Observe que la variable controladora del ciclo (X) es diferente a las otras dos variables: NOM y ED. INICIO PARA X = 1, 25,1 LEA NOM, ED SI (ED >= 18) ENT IMPRIMIR NOM, “MAYOR DE EDAD” ESTO SE REPITIRÁ SINO 25 VECES IMPRIMIR NOM, “MENOR DE EDAD” FINSI FIN PARA FIN
  • 12. Calcular el salario neto de N trabajadores, sabiendo que se le hace una retención del 5% de su básico. Lea el número de horas trabajadas y el valor por hora. INICIO Este ciclo va desde 1 hasta N empleados; pero LEA N como no se conoce su valor (N), antes del ciclo se tiene que leer esta variable. PARA K = 1, N, 1 LEA NHORAS, VLRHORA Lo demás es igual al tipo de ciclo BAS = NHORAS * VLRHORA PARA en el que se conoce el número de veces que se repite. RET = BAS * 0.05 (Como en el ejercicio anterior) NETO = BAS - RET IMPRIMIR NETO Pero no siempre el ciclo tendrá incrementos de 1. Existen algoritmos donde se FIN PARA coloquen incrementos de 2 o 3, dependiendo el caso. FIN
  • 13. Desarrolle un algoritmo que imprima los números múltiplos de 5 comprendidos entre 100 y 200. INICIO NUM PARA NUM = 100, 200, 5 100 IMPRIMIR NUM Observe que la variable llegó hasta 205; ya que siempre se tiene 105 que pasar del final, para que FIN PARA termine el ciclo. (Ver Funcionamiento del ciclo PARA). 110 FIN 115 En este ejemplo se muestra el inicio y el fin de la variable del ciclo (100 y 200 respectivamente); pero si ponemos incrementos de 1, se 120 mostrarán los números entre 100 y 200 (100, 101, 102, 103...200) y no los múltiplos de 5 como lo pide el ejercicio; por eso el incremento tiene ... que ser de 5. Los valores que tomará la variables serán los siguientes: 200 205
  • 14. FUNCIONAMIENTO DE UN CICLO PARA Imprimir sólo los números positivos de un grupo de 5. INICIO PRUEBA DE ESCRITORIO PARA J = 1, 5, 1 J NUM IMPRIMA LEA NUM 1 4 4 SI (NUM > 0) ENT 2 -3 IMPRIMIR NUM 3 0 FINSI 4 10 10 FIN PARA 5 -8 FIN TERMINA 6 Cuandoprueba, la se inicializa en 1 y evalúa si se pasó variable del ciclo y va hasta la En la llega a J línea del FINPARA, se incrementa la del final que es (5), como es primer línea del ciclo y evalúa al ciclose ejecuta las instrucciones. falso (J vale 2), falso ingresa si la J y pasó del final (5); como es continua leyendo, un númerollegue a 6. Si leemos los (por ejemplo el 4). y –8 Luego se lee hasta que cualquiera en esta línea números –3, 0, 10 mostrará sólo los positivos: 4 y 10. En los demás casos sólo se lee el número; pero Luego imprime el número porque 4 es positivo (en esta línea). no se imprime.
  • 15. Hacer un algoritmo que lea 6 números e imprimir su cubo. K inicia en 1 y evalúa si se pasó del final (o cual es FALSO; porque 1<=6). INICIO Como K no se pasó del FIN, sigue leyendo. PRUEBA DE ESCRITORIO PARA K = 1, 6, 1 K NUM CUB IMP LEA NUM Se lee NUM 1 3 27 27 CUB = NUM ^ 3 Se calcula CUB 2 8 512 512 IMPRIMIR CUB Se imprime CUB 3 4 64 64 FIN PARA 4 5 125 125 Al llegar al FINPARA incrementa FIN la variable y regresa a la primer 5 2 8 8 línea del CICLO y evalúa si K se 6 9 729 729 pasó del final. Si es Verdadero sigue después del FIN PARA, 7 sino continua leyendo.
  • 16. Hacer un algoritmo que lea 6 números e imprimir su cubo. INICIO PRUEBA DE ESCRITORIO PARA K = 1, 6, 1 K NUM CUB IMP COMO K YA SE PASÓ LEA NUM DEL FIN. VA DESPUÉS 1 3 27 27 DEL FIN PARA. 2 8 512 512 CUB = NUM ^ 3 3 4 64 64 IMPRIMIR CUB 4 5 125 125 FIN PARA 5 2 8 8 FIN 6 9 729 729 Y TERMINA EL ALGORITMO. LEYENDO 6 NÚMEROS E IMPRIMIENDO SUS 7 RESPECTIVOS CUBOS
  • 17. CICLO HAGA MIENTRAS (Registro Identificador - Cuantitativo) El ciclo MIENTRAS con registro identificador se usa cuando el ciclo se hace N veces (es similar al Ciclo Para hasta N). La SINTAXIS es la siguiente: Lea N X = INICIO MIENTRAS (X <= N) Instrucciones X = X + [INCREMENTO o DECREMENTO] FIN MIENTRAS
  • 18. EXPLICACIÓN: Lea N X = INICIO MIENTRAS (X <= N) X = X + [INCREMENTO o DECREMENTO] FINMIENTRAS N: Final del ciclo (que se debe leer porque se desconoce) X: Una variable cualquiera (Controladora del ciclo). INICIO: Valor en el que empieza la variable controladora (Normalmente es 1). INCREMENTO o DECREMENTO: Valor que incrementa la variable controladora (Normalmente es 1)
  • 19. Ejemplo: Se pide realizar un algoritmo que imprima los números de 1 hasta N. El enunciado indica que el ciclo se hará N veces (como no se sabe su valor de debe leer antes del ciclo). Por tal motivo los valores para el CICLO son (INICIO=1, FIN=N, INCREMENTO=1). Lea N NUM=1 MIENTRAS (NUM<=N) IMPRIMIR NUM NUM=NUM+1 FIN MIENTRAS Explicación:
  • 20. Mientras que el ciclo PARA hace todo en una sola línea (inicio, fin e incremento), el ciclo MIENTRAS toma cada una de esas partes y las divide en varias líneas, que se distribuyen de la siguiente forma: FIN VARIABLE LEA N INICIO FIN NUM = 1 INSTRUCCIONES CICLO MIENTRAS (NUM <= N) IMPRIMA NUM NUM = NUM + 1 INCREMENTO FIN DEL CICLO FIN MIENTRAS Observe que el orden del INICIO, del FIN y del INCREMENTO cambian de lugar; pero su funcionamiento es el mismo.
  • 21. Es muy fácil convertir un CICLO PARA hasta N en un CICLO MIENTRAS con REGISTRO IDENTIFICADOR: LEA N LEA N NUM = 1 PARA NUM = 1, N, 1 MIENTRAS (NUM <= N) IMPRIMIR NUM IMPRIMIR NUM NUM = NUM + 1 FIN PARA FIN MIENTRAS Observe lo fácil que es pasar un CICLO PARA a CICLO MIENTRAS. Se lee el final (igual), se cambia PARA por MIENTRAS, las instrucciones van en medio y finalmente se divide las instrucciones del PARA en el mientras: INICIO antes del ciclo, FIN en la condición del ciclo y el incremento antes de cerrar el CICLO. Y se cambia FIN PARA por FIN MIENTRAS.
  • 22. Calcular el salario neto de N trabajadores, sabiendo que se le hace una retención del 5% de su básico. Lea el número de horas trabajadas y el valor por hora. LEA N K=1 MIENTRAS (K <= N) LEA NHORAS, VLRHORA Este ciclo va desde 1 hasta N empleados; pero como no se BAS = NHORAS * VLRHORA conoce su valor se tiene que leer antes del ciclo esta RET = BAS * 0.05 variable. NETO = BAS - RET IMPRIMIR NETO K=K+1 FIN MIENTRAS
  • 23. Desarrolle un algoritmo que imprima los números múltiplos de 5 comprendidos entre 100 y N. INICIO En este ejemplo se tiene LEA N NUM que poner un incremento de 5 para que se muestre NUM = 100 100 los múltiplos de 5, como lo pide el ejercicio. Los MIENTRAS (NUM <= N) 105 valores que tomará la variables serán los IMPRIMIR NUM 110 siguientes: NUM = NUM + 5 ... N+5 FIN MIENTRAS FIN
  • 24. FUNCIONAMIENTO DEL REGISTRO IDENTIFICADOR Hacer un algoritmo que lea N números e imprima sólo los positivos. PRUEBA DE ESCRITORIO INICIO Aquí evalúa si J es <= N (2 es <=3), entonces LEA N continúa leyendo N J NUM IMPRIMA J=1 3 1 15 15 2 MIENTRAS (J < = N) LEA NUM En esta línea se LEE N (en este caso 3) y se empieza J en 1 (Ver Prueba de Escritorio). SI (NUM > 0) ENT Evalua si J<=N. Como es Verdadero continua. IMPRIMA NUM Aquí se lee un # cualquiera (positivo o negativo). FINSI Aquí pregunta si el # es positivo (que lo imprima) J=J+1 Aquí incrementa la J en 1. Y al llegar al FIN MIENTRAS regresa FIN MIENTRAS a la primera línea del CICLO para volver a evaluar si J llegó al FIN final que es N.
  • 25. FUNCIONAMIENTO DEL REGISTRO IDENTIFICADOR Hacer un algoritmo que lea N números e imprima sólo los positivos. PRUEBA DE ESCRITORIO INICIO AlAl evaluar la condiciónya evaluar la condición es FALSA porque 4 no es ésta es Verdadera (3<=3). Sigue leyendo LEA N <=3. Por lo tanto termina N J NUM IMPRIMA el ciclo 3 1 15 15 J=1 2 -8 MIENTRAS (J < = N) 3 7 7 LEA NUM 4 Aquí lee un número cualquiera (positivo o SI (NUM > 0) ENT negativo). IMP NUM Aquí pregunta si el # es positivo (que lo FINSI imprima) J=J+1 Aquí incrementa la J en 1. Y SEllegar al FIN MIENTRASen N se NOTE QUE EL ALGORITMO al HIZO HASTA 3 porque regresa a la primera línea del CICLO paraleer cualquier valor.J Aquí se leyó ese número; pero se puede volver a evaluar si llegó al FIN MIENTRAS leyeron 3 números yfinal que es N. sólo los positivos. se imprimieron FIN
  • 26. CICLO HAGA MIENTRAS (Registro Centinela - Cualitativo) El ciclo MIENTRAS con Registro Centinela se usa cuando no se sabe el número de veces que se va a hacer el ciclo (no se da un número fijo o no se habla de la variable N). La SINTAXIS es la siguiente: LEER VAR MIENTRAS (CONDICIÓN) Instrucciones LEER VAR FIN MIENTRAS
  • 27. EXPLICACIÓN: LEER VAR MIENTRAS (CONDICIÓN) VAR: Variable que va a controlar el ciclo (se recomienda que sea una de las variables trabajadas en el algoritmo). Muy diferente en los otros ciclos que se crea una variable controladora del ciclo. CONDICIÓN: Permite terminar el ciclo. Se usa la variable que se leyó y se le puede dar un valor que la variable nunca tome. Nota: Tenga en cuenta que este ciclo no tiene INCREMENTO, INICIO o FIN; lo único que permite terminar este ciclo es que la variable tome un valorX. La característica de este ciclo es que se lee la Variable controladora, antes del ciclo y antes del fin del ciclo. Para entender mejor el tema mire los ejemplos:
  • 28. Ejemplo: Se pide realizar un algoritmo que lea varios números positivos e imprima su raíz cuadrada. El enunciado indica que se deben leer varios números, pero no dicen cuantos ni tampoco que son N. Por tal motivo se tiene que usar un ciclo Mientras con Registro Centinela. Se lee la variable antes del ciclo y antes del fin del ciclo y se pone una condición apropiada (si son números positivos ninguno puede ser menor igual a cero): LEER NUM MIENTRAS (NUM > 0) RAIZ = NUM ^ (1/2) IMPRIMIR RAIZ LEER NUM FIN MIENTRAS Explicación:
  • 29. Mientras que los ciclos anteriores requieren de un inicio, un fin y un incremento; estos ciclos NO. Sólo necesitan tomar cualquiera de las variables y ponerle una condición correcta (algunos algoritmos dirán cual es la condición, otros NO. En este último caso el programador elige la condición apropiada). VARIABLE QUE SE LEE ANTES DEL CICLO CONDICIÓN DEL CICLO LEA NUM CICLO MIENTRAS (NUM > 0) RAIZ = NUM ^ (1/2) Y ANTES DEL FINAL DEL CICLO IMPRIMIR RAIZ INSTRUCCIONES LEA NUM FIN DEL CICLO FIN MIENTRAS
  • 30. FUNCIONAMIENTO MIENTRAS (Registro Centinela) Hacer un algoritmo que lea un grupo de números y calcule su raíz cuadrada. El ciclo se hará hasta que se lea un número igual a cero. INICIO Como 100 es <> PRUEBA DE ESCRITORIO 0, continúa. LEA NUM NUM RAIZ IMPRIMA 9 3 3 MIENTRAS (NUM <> 0) 100 RAIZ = NUM ^ (1/2) En esta línea se LEE el primer número (vamos a leer 9) Ver Prueba de Escritorio. IMPRIMIR RAIZ En esta línea se evalúa si el # es diferente de 0. Como LEA NUM es Verdadero continua. FIN MIENTRAS Aquí se calcula e imprime la Raíz Cuadrada Aquí se Lee otro número. FIN Al llegar al FINMIENTRAS va a la primera línea de la estructura y evalúa si el número es diferente de 0.
  • 31. FUNCIONAMIENTO MIENTRAS (Registro Centinela) Hacer un algoritmo que lea un grupo de números y calcule su raíz cuadrada. El ciclo se hará hasta que se lea un número igual a cero. PRUEBA DE ESCRITORIO INICIO NUM RAIZ IMPRIMA LEA NUM 9 3 3 MIENTRAS NUM <> 0 100 10 10 0 RAIZ = NUM ^ (1/2) Nuevamente viene a esta línea, calcula IMPRIMIR RAIZ e imprime la raíz. LEA NUM Este proceso repetirá mientras el número leído sea diferente de 0. Si no se desea continuar se lee FIN MIENTRAS este número. FIN ASÍ SE LEYERON VARIOS NÚMEROS, SE CALCULÓ E IMPRIMIÓ SU Al llegar al fin del ciclo, regresa a la primera línea y evalúa si es RAÍZ CUADRADA. TERMINANDO EL es, termina el ciclo y termina el diferente de 0. Como no lo PROCESO CUANDO SE DIGITÓ algoritmo. UN NÚMERO IGUAL A 0.
  • 32. Calcular el salario neto de varios trabajadores, sabiendo que se le hace una retención del 5% de su básico. Lea el número de horas trabajadas y el valor por hora. Hacer esto mientras no se digite un número de horas negativo o igual a cero. LEA NHORAS Este ciclo se repite varias veces mientras que no se digite un número de MIENTRAS NHORAS > 0 horas negativo (esa es la condición del ciclo) y la variable contraladora del ciclo LEA VLRHORA es el número de horas. BAS = NHORAS * VLRHORA RET = BAS * 0.05 Observe que la variable NHORAS se lee antes del ciclo y antes del fin del ciclo. Como falta NETO = BAS - RET leer la variable VLRHORA se lee dentro del ciclo. Y la condición es mientras que NHORAS IMPRIMIR NETO sea MAYOR DE 0, lo que significa POSITIVO. LEA NHORAS FIN MIENTRAS
  • 33. CICLO REPITA HASTA El ciclo REPITA HASTA se usa de una forma similar al ciclo MIENTRAS con Registro Centinela; pero la condición va al final del ciclo y no en su primera línea. La SINTAXIS es la siguiente: LEA VAR REPITA Instrucciones LEA VAR HASTA (CONDICIÓN)
  • 34. EXPLICACIÓN: LEER VAR REPITA Instrucciones LEER VAR HASTA (CONDICIÓN) Este ciclo empieza con LEER VAR que controlará el ciclo, luego la palabra REPITA, se colocan las instrucciones a realizar. Se vuelve a leer antes del final del ciclo y finalmente se pone HASTA (CONDICIÓN), ésta última es la que permite terminar al ciclo. Nota: Este ciclo al no haber condición al inicio ESTÁ OBLIGADO A HACERSE MÍNIMO UNA VEZ, algo que no pasa con el ciclo (MIENTRAS). Es usada para validar el ingreso de información.
  • 35. Ejemplo: Se pide realizar un algoritmo que lea varios números e imprima su raíz cuadrada hasta que se lea un número negativo. El enunciado indica que se deben leer varios números y está dando la condición para terminar el ciclo. Por tal motivo se tiene que usar un ciclo REPITA HASTA. LEER NUM REPITA RAIZ = NUM ^ (1/2) IMPRIMIR RAIZ LEER NUM HASTA (NUM = 0) Explicación:
  • 36. Las consideraciones a tener en cuenta en este ciclo son las mismas que para el ciclo MIENTRAS con Registro Centinela; pero la condición no va al inicio del ciclo sino al final. VARIABLE QUE SE LEE ANTES DEL CICLO LEA NUM CICLO REPITA INSTRUCCIONES RAIZ = NUM ^ (1/2) Y ANTES DEL FINAL DEL CICLO IMPRIMIR RAIZ CONDICIÓN DEL LEA NUM CICLO FIN DEL CICLO HASTA (NUM = 0)
  • 37. FUNCIONAMIENTO DE UN CICLO REPITA HASTA Hacer un algoritmo que lea un grupo de números y calcule su raíz cuadrada. El ciclo se hará hasta que se lea un número igual a cero. PRUEBA DE ESCRITORIO INICIO NUM RAIZ IMPRIMA LEA NUM 64 8 8 REPITA 81 RAIZ = NUM ^ (1/2) En esta línea se LEE el primer número IMPRIMIR RAIZ (vamos a leer 64) Ver Prueba. Y del repita pasa a la línea siguiente (Sin evaluar nada) LEA NUM Aquí se calcula e imprime la raíz cuadrada. HASTA (NUM = 0) Aquí se lee otro número FIN Al llegar al fin del ciclo evalúa: si el número es = 0 termina, de lo contrario va hasta el repita, y continúa con el proceso.
  • 38. FUNCIONAMIENTO DE UN CICLO REPITA HASTA Hacer un algoritmo que lea un grupo de números y calcule su raíz cuadrada. El ciclo se hará hasta que se lea un número igual a cero. PRUEBA DE ESCRITORIO INICIO NUM RAIZ IMPRIMA LEA NUM 64 8 8 REPITA 81 9 9 0 RAIZ = NUM ^ (1/2) Aquí se calcula e imprime la otra raíz IMPRIMIR RAIZ cuadrada. LEA NUM Aquí se lee otro número (esto se repetirá hasta que se digite un 0.) Para terminar HASTA (NUM = 0) haremos eso. FIN Al llegar aquí, evalúa: Como el número es igual a 0, termina el proceso. Se leyeron números, se calculó su raíz cuadrada hasta digitar un cero.
  • 39. Calcular el salario neto de varios trabajadores, sabiendo que se le hace una retención del 5% de su básico. Lea el número de horas trabajadas y el valor por hora. Hacer esto hasta se digite un número de horas negativo. LEA NHORAS El Ciclo Mientras con Registro REPITA Centinela pone condición MIENTRAS QUE NO SE CUMPLA LEA VLRHORA EL FINAL DEL CICLO; mientras que el Ciclo REPITA se hace BAS = NHORAS * VLRHORA HASTA QUE SE CUMPLA LA RET = BAS * 0.05 CONDICIÓN. Ej: Ciclo MIENTRAS: Haga Mientras la NETO = BAS - RET edad sea diferente de 80 años. El ciclo hasta diría: Repita hasta IMPRIMIR NETO que la edad sea igual a 80. LEA NHORAS HASTA (NHORAS < 0)
  • 40. CONTADORES, ACUMULADORES, PROMEDIOS Y PORCENTAJES Son elementos de algoritmos básicos y fundamentales para determinar cantidades, sumatorias y varios datos estadísticos. CONTADOR: Como su nombre lo indica, son variables que sirven para CONTAR dentro de un algoritmo. Se usa para determinar cantidades (haciendo un conteo de 1 en 1). La SINTAXIS es la siguiente: CONTADOR = CONTADOR + 1
  • 41. ACUMULADOR: Son variables que sirven para SUMAR o ACUMULAR valores dentro de un algoritmo. Se usa para determinar totales o todas aquellas operaciones donde se vaya a incrementar un número no constante (el contador incrementa de forma constante: de 1 en 1, 2 en 2, etc). La SINTAXIS es la siguiente: ACUMULADOR = ACUMULADOR + VARIABLE VARIABLE, es la variable que se pide acumular o sumar.
  • 42. PROMEDIO: Son variables que sirven para PROMEDIAR valores. Para calcularlos se divide un ACUMULADOR por un CONTADOR (Esto quiere decir, se suman todos los elementos y se divide por el número de ellos). La SINTAXIS es la siguiente: PROMEDIO = ACUMULADOR / CONTADOR Algunas veces el CONTADOR se puede reemplazar por el número total de elementos.
  • 43. PORCENTAJE: Son variables que sirven calcular datos estadísticos. Para calcularlos se usan un CONTADOR PARTICULAR divido un CONTADOR GENERAL multiplicado por 100. Al multiplicar un contador particular por el contador general, siempre dará un número entre 0 y 1; por eso se multiplica por 100, para dar la respuesta en porcentaje: 0.25 = 25%. La SINTAXIS es la siguiente: PORCENTAJE = CONT_PARTICULAR / CONT_GRAL*100 Para entender el funcionamiento de contadores, acumuladores, promedios y porcentajes, observe lo siguiente:
  • 44. Desarrolle un algoritmo que lea la edad y el sexo de 10 personas; calcular e imprimir cuantas son mayores de edad y cuantas menores. Además, la suma de edad de los hombres, la suma de edad de las mujeres y la suma de todas las personas. Las consideraciones a tener en cuenta para los acumuladores y los contadores: Para determinar la cantidad de personas mayores de edad y las menores de edad, se tienen que usar 2 contadores diferentes; mientras que para la suma de edad de los hombres, de las mujeres y de todas las personas se necesitan 3 acumuladores. Las 4 primeras variables son contadores y acumuladores PARTICULARES (de un caso en especial: mayores o menores de edad; hombres o mujeres), mientras que el último acumulador es GENERAL (para todos, el cual va sin pregunta).
  • 45. CONTMY, CONTMN, SUMEDH, SUMEDM, SUMTED=0 Se inicializan en 0, ANTES del PARA X=1, 10, 1 ciclo. (Todas tienen distinto nombre). LEA SEX, ED SI (ED>=18) ENT CONTMY = CONTMY + 1 Se calculan los contadores PARTICULARES SINO (CONTMY significa Contador Mayores de Edad. Igual con los menores). CONTMN = CONTMN + 1 FINSI Se calculan los Acumuladores SI (SEX=“MASCULINO”) ENT PARTICULARES (SUMEDM significa Sumatoria de Edad de las Mujeres. Igual SUMEDH = SUMEDH + ED con los hombres). SINO Se calcula el Acumulador SUMEDM = SUMEDM + ED GENERAL (Sin pregunta) FINSI SUMTED = SUMTED + ED Se imprimen FINPARA FUERA del ciclo. IMPRIMIR CONTMY, CONTMN, SUMEDH, SUMEDM, SUMTED
  • 46. Las consideraciones a tener en cuenta para los promedios y porcentajes: Siempre que se vaya a calcular un promedio se requiere de un Acumulador y un contador. Para los porcentajes se necesita un Contador Particular y uno general. Desarrolle un algoritmo que lea la edad y el sexo de 10 personas; calcular e imprimir el promedio de edad de los hombres y el de las mujeres. Además, el porcentaje de personas mayores de edad y el promedio de edad de todas las personas. Para determinar el promedio de edad de hombres y mujeres se necesita de un contador que cuente los hombres y un acumulador que sume la edad de los hombres (igual para las mujeres). Para hallar el porcentaje de los mayores de edad se necesita un contador que cuente cuántos mayores de edad hay (no se necesita un contador general, porque el total de personas es 10). Para el promedio de edades de todos se usa un acumulador general (tampoco se necesita contar porque son 10).
  • 47. CONTH, CONTM, CONTMY, SUMEDH, SUMEDM, SUMTED=0 PARA X=1, 10, 1 LEA SEX, ED Se inicializan en 0, ANTES del ciclo. (Todas tienen distinto nombre). SI (SEX=“MASCULINO”) ENT SUMEDH = SUMEDH + ED CONTH = CONTH + 1 Se calculan los contadores y acumuladores PARTICULARES para calcular los SINO promedios de edad de hombres y mujeres. SUMEDM = SUMEDM + ED CONTM = CONTM + 1 FINSI Se calcula el Contador PARTICULAR para SI (ED>=18) ENT calcular el Porcentaje de los mayores de edad. CONTMY = CONTMY + 1 FINSI SUMTED = SUMTED + ED Se calcula el Acumulador GENERAL para el promedio de todas las edades. FINPARA PROMEDH = SUMEDH / CONTH Los Promedios y Porcentajes se calcula e PROMEDM = SUMEDM / CONTM imprimen FUERA del Ciclo. PORCMY = CONTMY / 10 * 100 PROMTE = SUMTED / 10 IMPRIMIR PROMEDH, PROMEDM, PORCMY, PROMTE
  • 48. FUNCIONAMIENTO DE UN CONTADOR Hacer un algoritmo que lea la EDAD de 6 personas e imprima cuántos son mayores de edad y cuántos menores. INICIO PRUEBA DE ESCRITORIO CMY, CMN = 0 X CMY CMN EDAD IMPRIMA PARA X = 1, 6, 1 1 0 0 17 4 LEA EDAD 2 1 1 23 2 SI (EDAD >= 18) 3 2 2 18 4 3 35 CMY = CMY + 1 5 4 12 SINO 6 21 CMN = CMN + 1 7 FINSI FINPARA IMPRIMIR CMY, CMN FIN
  • 49. FUNCIONAMIENTO DE UN PORCENTAJE Hacer un algoritmo que lea la EDAD de 6 personas e imprima el porcentaje de mayores de edad y el de menores. INICIO PRUEBA DE ESCRITORIO CMY, CMN = 0 X CMY CMN EDAD PORCMY PORCMN IMP PARA X = 1, 6, 1 1 0 0 17 66,6% 33,3% 66,6% LEA EDAD 2 1 1 23 33,3% SI (EDAD >= 18) 3 2 2 18 CMY = CMY + 1 4 3 35 SINO 5 4 12 CMN = CMN + 1 6 21 FINSI 7 FINPARA PORCMY = CMY / 6 * 100 EL funcionamiento es igual al de los PORCMN = CMN / 6 * 100 contadores; sólo que al terminar el ciclo se calculan los porcentajes (Para IMPRIMIR PORCMY, PORCMN calcularlos se tiene que CONTAR). FIN
  • 50. FUNCIONAMIENTO DE UN ACUMULADOR Hacer un algoritmo que lea la EDAD de 6 personas e imprima la suma de edad de los mayores de edad y de los menores. INICIO PRUEBA DE ESCRITORIO SMY, SMN = 0 X SMY SMN EDAD IMPRIMA PARA X = 1, 6, 1 1 0 0 17 97 LEA ED 2 23 17 23 29 SI (ED >= 18) 3 41 29 18 4 76 35 SMY = SMY + ED 5 97 12 SINO 6 21 SMN = SMN + ED 7 FINSI FINPARA IMPRIMIR SMY, SMN FIN
  • 51. FUNCIONAMIENTO DE UN PROMEDIO Hacer un algoritmo que lea la EDAD de 6 personas e imprima el porcentaje de mayores de edad y el de menores. CMY, CMN, SMY, SMN = 0 PRUEBA DE ESCRITORIO PARA X = 1, 6, 1 X SMY SMN EDAD PROMMY PROMMN IMP LEA EDAD 1 0 0 17 24,2 14,5 24,2 SI (EDAD >= 18) 2 23 17 23 14,5 CMY = CMY + 1 3 41 29 18 CMY CMN SMY = SMY + ED 4 76 35 0 0 SINO 5 97 12 1 1 CMN = CMN + 1 6 21 2 2 SMN = SMN + ED 3 7 4 FINSI EL funcionamiento es igual al de FINPARA los contadores y acumuladores; PROMMY = SMY/ CMY sólo que al terminar el ciclo se calculan los promedios (Para PROMMN = SMN/ CMN calcularlos se tiene que CONTAR y ACUMULAR). IMPRIMIR PROMMY, PROMMN
  • 52. SWITCHES O BANDERAS Son elementos de algoritmos fundamentales para buscar elementos o para determinadas situaciones en las cuales se cumpla una condición específica. Teniendo como principal característica que toma sólo dos estados o valores (1 o 0, Encendido o Apagado, Verdadero o False, V o F, entre otros valores). Esta variable se usa con el nombre SW o BAND. Se inicializa antes del ciclo con cualquiera de los dos valores. Y dentro de ciclo cambia al otro valor cuando cumpla determinada condición. La SINTAXIS es la siguiente:
  • 53. SW = 0 SW = “VERDADERO” CICLO CICLO SI CONDICIÓN SI CONDICIÓN SW = 1 SW = “FALSO” FINSI FINSI FIN SI FIN SI FINCICLO FINCICLO Observe que se puede inicializar en cualquier valor (normalmente es el negativo: Apagado, F, 0, o Falso). Después del ciclo se puede preguntar por el estado o el valor de esa variable e imprimir los mensajes que correspondan o sean necesarios.
  • 54. Ejemplo: Se pide realizar un algoritmo que lea 90 números e imprima si se digita algún número negativo. El enunciado indica que se debe determinar si se digitó un número negativo (ESA ES LA CONDICIÓN para cambiar el estado de la variable). SW = 0 PARA K = 1, 90, 1 LEER NUM SI (NUM < 0) ENTONCES SW = 1 FINSI FIN PARA SI (SW = 1) ENTONCES IMPRIMA “SE DIGITÓ UN NÚMERO NEGATIVO” FINSI Explicación:
  • 55. SE INICILIZA EN ALGÚN VALOR LA VARIABLE SW ANTES DEL CICLO SW = 0 PARA K = 1, 90, 1 SE CAMBIA EL VALOR DE LA LEER NUM VARIABLE CUANDO LA CONDICIÓN SEA VERDADERA SI (NUM < 0) ENTONCES SW = 1 FINSI SE PREGUNTA DESPUÉS DEL CICLO POR ALGUNO DE LOS VALORES DE LA FIN PARA VARIABLE Y SE IMPRIME EL MENSAJE SI (SW = 1) ENTONCES IMPRIMA “SE DIGITÓ UN NÚMERO NEGATIVO” FINSI
  • 56. FUNCIONAMIENTO DE UNA BANDERA Hacer un algoritmo que lea 90 números. Imprimir si se lee algún número negativo. PRUEBA DE ESCRITORIO SW = 0 SW NUM IMPRIMA 0 8 Se digitó un # PARA K = 1, 90, 1 negativo LEER NUM 1 7 SI (NUM < 0) ENT -2 SW = 1 En esta línea se INICIALIZA el sw o bandera en 0, antes del ciclo. FINSI En esta línea se leen números, y sólo FIN PARA cambia el SW a 1, cuando se lea algún número negativo. SI (SW = 1) ENTONCES Si el –2 es el número 80 leído. IMPRIMA “SE DIGITÓ UN Inmediatamente cambia sw a 1 NÚMERO NEGATIVO” Aquí se pregunta. Como sw = 1, imprime el FINSI mensaje
  • 57. Leer los nombres de 150 personas e imprimir si se leyó algún nombre igual a Juan o no. La única aclaración que BAND = “FALSO” hay que hacer de este PARA I = 1, 150, 1 algoritmo es que la condición para cambiar el LEA NOMBRE estado de la bandera es SI (NOMBRE = “Juan”) Entonces NOMBRE = JUAN. Luego al finalizar se imprime si se BAND = “VERDADERO” encontró o no un nombre FINSI JUAN (este ejercicio pide los dos mensajes, el FINPARA ejercicio anterior, sólo pide SI BAND = “VERDADERO” Entonces imprimir si se leyó un número negativo nada IMPRIMA “Se leyó un nombre juan” mas). SINO IMPRIMA “No se leyó un nombre juan” FINSI