PSEUDOCODIGO CICLOS

download PSEUDOCODIGO CICLOS

of 25

Transcript of PSEUDOCODIGO CICLOS

  • 8/12/2019 PSEUDOCODIGO CICLOS

    1/25

    Estructuras Repetitivas

    Se solicita al operador que ingrese tres nmeros enteros cualesquiera.En base a estos nmeros, mostrar por pantalla cual es el mayor de todos.

    InicioVariable1=0Variable2=0

    Imprimir Ingrese tres nmeros enteros

    Desde 1 a 3{

    variable1=leer desde tecladosi (variable1>variable 2) entonces{

    variable2=variable1}

    sino{no hacer nada

    }fin si

    }imprimir El mayor valor ingresado es imprimir variable2Fin

    v1=0;

    v2=0;

    disp(Ingrese tres nmeros enteros);

    for i=[1..3]

    v1=input(ingrese un entero );

    if (v1 > v2)

    v2=v1;

    end

    end

    disp(El mayor valor es);

    disp(v2);

    Diag. De Flujos Pseudocdigo Matlab

  • 8/12/2019 PSEUDOCODIGO CICLOS

    2/25

    La estructura repetitiva se utiliza cuando se

    quiere que un conjunto de instrucciones se

    ejecuten un cierto nmero finito de veces.

    Llamamos bucle o ciclo al proceso que se

    repite.

    Estructuras Repetitivas

  • 8/12/2019 PSEUDOCODIGO CICLOS

    3/25

    Existen dos tipos de estructuras repetitivas:

    Aquella en donde se tiene perfectamente

    establecido el nmero de veces que un grupo

    de acciones se van a ejecutar .

    Aquella en la que el nmero de repeticiones

    es desconocido y se har hasta que se cumpla

    o no cierta condicin.

    Estructuras Repetitivas

  • 8/12/2019 PSEUDOCODIGO CICLOS

    4/25

    Cuando conocemos de antemano el nmero

    de veces en que se desea ejecutar una accin

    o grupo de acciones.

    Esta estructura ejecuta las acciones del cuerpo

    del bucle un nmero especificado de veces.

    Controla en modo automtico el valor de una

    variable que cuenta la cantidad de ciclos

    ejecutados.

    Estructuras Repetitivas

    Desde o Para

  • 8/12/2019 PSEUDOCODIGO CICLOS

    5/25

  • 8/12/2019 PSEUDOCODIGO CICLOS

    6/25

  • 8/12/2019 PSEUDOCODIGO CICLOS

    7/25

  • 8/12/2019 PSEUDOCODIGO CICLOS

    8/25

    1) Vemos los valores: 1, 3, 5, 7, 9, 11, 13, .... , 299

    2) El ciclo termina mostrando 299 puesto que en el siguiente paso, la variable I valdra 301 y

    es mayor al lmite establecido de 300.

    3) I pasa a valer realmente 301 en el ltimo paso, solo que la instruccin de imprimir no se

    ejecuta.

    4) Si diramos la instruccin de imprimir el valor de I, inmediatamente despus del fin-desde, veramos 301.

    Inicio

    desde I = 1 hasta 300 incremento 2

    imprimir I

    fin-desde

    in

    for l=1:2:300,

    disp(l);

    end

    Estructuras Repetitivas

    Desde o Para - EJEMPLOImprimir todos los nmeros IMPARES desde 1 hasta 300.

  • 8/12/2019 PSEUDOCODIGO CICLOS

    9/25

    Inicio

    desde I = 500 hasta 460 incremento -1

    imprimir I

    fin-desde

    in

    for l=500:-1:460

    disp(l);

    end

    Estructuras Repetitivas

    Desde o Para - EJEMPLOImprimir los valores comprendidos entre el 460 y 500 en orden inverso.

    Como salida tenemos, entonces:

    500, 499, 498, 497, 496, 495, 494, .... 464, 463, 462, 461, 460.

  • 8/12/2019 PSEUDOCODIGO CICLOS

    10/25

    Ciclos con Numero Indeterminado de Iteraciones

    Se diferencia de la PARA/DESDEen que no seconoce el nmero de repeticiones o iteracionesen que se va a ejecutar una instruccin o unbloque de instrucciones.

    Estas estructuras son bsicamente dos: mientras....fin-mientras

    repetir.... hasta.

    Estas dos se diferencian en que la verificacin dela condicin para repetir el ciclo se hace al iniciocon mientras y al final con repetir.

  • 8/12/2019 PSEUDOCODIGO CICLOS

    11/25

    HACER-MIENTRAS

    El cuerpo del bucle se cumple mientras se cumple una determinadacondicin. Por esta razn se los denomina BUCLES CONDICIONALES.

    mientras {condicin}

    accin 1accin 2accin 3.....

    accin nfin mientras

    instruccin X

    while condicin,comando;

    end

  • 8/12/2019 PSEUDOCODIGO CICLOS

    12/25

    Lo primero que el computador hace es examinar la condicin, lo quepuede dar como resultado dos posibilidades:

    La condicin se cumple: Se ejecutan accin 1, accin 2, accin 3, ...,accin n.

    Las estar repitiendo hasta que la condicin no se cumpla, entoncesse sale del ciclo y se siguen ejecutando la o las instrucciones quevienen a continuacin y estn fuera del bucle; instruccin X.

    La condicin no se cumple: No entrar en el ciclo. Se ejecutan lasinstrucciones que vienen despus del bucle, instruccin X, por

    ejemplo.

    De esto se deduce que el cuerpo del bucle de una estructuramientras puede repetirse cero o ms veces.

    HACER-MIENTRAS

  • 8/12/2019 PSEUDOCODIGO CICLOS

    13/25

    leer contraseamientras contrasea < > "josua"

    imprimir "La contrasea es incorrecta !

    leer contrasea

    fin-mientrasimprimir "Ha ingresado la contrasea correcta

    contrasea=input(Ingrese su contrasea );

    while(contrasea josua),disp(contrasea incorrecta);

    contrasea=input(Ingrese su contrasea );

    End

    disp(Ha ingresado la contrasea correcta);

    HACER-MIENTRAS

    (EJEMPLO)

    Ps

    eudocdigo

    Matlab

  • 8/12/2019 PSEUDOCODIGO CICLOS

    14/25

    REPETIR-HASTA

    La estructura repetir cumple la misma funcin

    que la estructura mientras. La diferencia est

    en que la estructura mientras comprueba la

    condicin al inicio y repetir lo hace al final; poreso la estructura repetir se ejecuta por lo

    menos una vez.

  • 8/12/2019 PSEUDOCODIGO CICLOS

    15/25

    repetir

    intruccin 1

    instruccin 2instruccin 3......

    hasta {condicin}instrucin X

    REPETIR-HASTA

    SINTAXIS

    Lo que la computadora hace al ejecutar la estructura repetir es:

    1) Se ejecutan: instruccin 1, instruccin 2, instruccin 3, ......

    2) Se evala la condicin.

    Si esta es FALSA se vuelve a repetir el ciclo y se

    ejecutan instruccin 1, instruccin 2, instruccin 3, .

    Si la condicin es VERDADERA se sale del ciclo y seejecuta instruccin X.

  • 8/12/2019 PSEUDOCODIGO CICLOS

    16/25

    Comparacin

    mientras - repetir

    MIENTRAS REPETIR

    Comprobacin de la condicin al inicio,

    antes de entrar al bucle

    Comprobacin de la condicin al

    final, despus de haber ingresado

    una vez al bucle

    Las instrucciones del cuerpo del bucle se

    ejecutan en forma repetitiva si la

    condicin es verdadera

    Las instrucciones del cuerpo del

    bucle se ejecutan si la condicin es

    falsa

    Las acciones del bucle se pueden

    ejecutar 0 o ms veces

    Las acciones del bucle se ejecutan

    por lo menos una vez

  • 8/12/2019 PSEUDOCODIGO CICLOS

    17/25

    PROBLEMAS DE ESTRUCTURASCCLICAS

    HACER PARA

    Inicio

    Sum=0

    Hacer para c desde 1 hasta 7Leer calif

    Sum = sum + calif

    Fin-para

    prom = sum /7

    Imprimir prom

    Fin.

    HACER MIENTRAS

    Inicio

    Sum=0

    c=1Mientras (c7)

    prom = sum /7

    Imprimir prom

    Fin.

    Calcular el promedio de un alumno que tiene 7 calificaciones en una materia.

  • 8/12/2019 PSEUDOCODIGO CICLOS

    18/25

    PROBLEMAS DE ESTRUCTURASCCLICAS

    HACER PARA

    Inicio

    Hacer para n desde 1 hasta 10

    Leer num

    cubo = num * num * num

    cuarta = cubo * num

    Imprimir cubo, cuarta

    Fin-para

    Fin.

    HACER MIENTRAS

    Inicio

    C=1

    Mientras (c10)

    Fin.

    Leer 10 nmeros y obtener su cubo y su cuarta potencia

  • 8/12/2019 PSEUDOCODIGO CICLOS

    19/25

    PROBLEMAS DE ESTRUCTURASCCLICAS

    Calcular la suma y el promedio de nmeros ingresados . La cantidad de nmeros a ingresar esdesconocida al momento de ejecutar el algoritmo y todos los nmeros a ingresar se encuentran

    en el entorno [0,100]. La carga finaliza cuando se ingresa un nmero fuera de rango.

    HACER PARA

    No puede resolverse con estaestructura NO se conoce el

    nmero de iteraciones.

    REPETIR HASTANo puede resolverse con

    esta estructura ya que si el

    primer nmero ingresado

    se encuentra fuera de

    rango igual ejecutara el

    bucle, ya que en el Repetir-

    hasta al menos una vez seejecuta el bucle.

    HACER MIENTRASInicio

    Sum=0Cuenta=0

    Leer Num

    Mientras Num>=0 y

    Num0 entonces

    Prom= sum/cuenta

    Imprimir Sum, Prom

    Fin-SiFin.

  • 8/12/2019 PSEUDOCODIGO CICLOS

    20/25

    CUANDO EMPLEAR CADA

    ESTRUCTURA REPETITIVA?

  • 8/12/2019 PSEUDOCODIGO CICLOS

    21/25

  • 8/12/2019 PSEUDOCODIGO CICLOS

    22/25

    Modularizacin

    (Funciones y Procedimientos) En general un problema complejo puede ser resuelto de manera ms fcil

    y eficiente si se divide en problemas ms pequeos y concentrndonos encada etapa en la solucin de ese "subproblema".

    Esto implica que el gran problema original ser resuelto por medio devarios mdulos, cada uno de los cuales se encarga de resolver unsubproblema determinado. Esos mdulos, se conocen con el nombre de

    subalgoritmos. Los subalgoritmos se escriben slo una vez, luego es posible hacer

    referencia a ellos ("llamarlos") desde diferentes puntos de un pseudocdigo. La ventaja obvia es que nos permite reutilizacin y evita laduplicacin de cdigos.

    Los subalgoritmos son independientes entre si, en el sentido de que se

    puede escribir y verificar cada mdulo en forma separada sin preocuparsepor los dems mdulos. Por ello, es menos complicado localizar un error ytambin se puede modificar el cdigo sin tener que tocar o rehacer variaspartes del mismo.

    Los subalgoritmos pueden ser dos tipos: Funciones y Procedimientos(tambin llamadas subrutinas o subprogramas).

  • 8/12/2019 PSEUDOCODIGO CICLOS

    23/25

    Notemos que al utilizar procedimientos y funciones seestablece un lmite para el alcance de las variables, unastendrn efecto y valor slo en el subalgoritmo y otras en elalgoritmo principal, tambin es posible especificar que unavariable tenga efecto en el algoritmo principal y todos los

    subalgoritmos. Los subalgoritmos pueden recibir valores del algoritmo

    principal (parmetros), trabajar con ellos y devolver unresultado al algoritmo principal: No existen limitaciones encuanto a las acciones que pueda ejecutar un subalgoritmo.

    Un subprograma puede, a su vez, invocar o llamar a otros oa sus propios subprogramas, inclusive puede llamarse a smismo (esto se conoce como recursividad).

    Modularizacin

    (Funciones y Procedimientos)

  • 8/12/2019 PSEUDOCODIGO CICLOS

    24/25

    Cada mdulo debe tener un nombre que lo identifique.

    Puede tener una serie de parmetros asociados.

    El nombre del mdulo es utilizado para la invocacindel mismo.

    Cuando se invoca a un subprograma se transfiere elcontrol al mismo y una vez finalizada la ltimainstruccin del mdulo el control retornar a lasiguiente instruccin del programa o subprograma quelo llam.

    Modularizacin

    (Funciones y Procedimientos)

  • 8/12/2019 PSEUDOCODIGO CICLOS

    25/25

    Modularizacin - Ejemplo

    PROGRAMA factorial

    ENTORNO:

    res