jueves, 10 de mayo de 2012

PSeInt - Función Mientras

La función "Mientras" nos sirve para repetir un proceso infinitas veces hasta que la condición expuesta para esto no se cumpla.

Simplificando
 Tenemos una condición, necesitamos que esta se repita hasta que el valor usado en la condición indique lo contrario.
 //(Necesitamos que un valor (guardado como String, int, boolean, double, entero, caracter, real, logico, piensenlo como quieran, pero dentro de un valor determinado) cumpla o no  ( ~ / no ) una condición.
 //(Respecto a la condición establecida, esta comenzará un proceso que se repetirá infinitas veces hasta que el valor que rige la condición indique lo contrario (para que la condición Mientras no se cumpla)).
//(Es decir que, en el caso de que la condición se cumpla, esta comenzara un loop infinito hasta que el valor que rige la condición sea modificado).

Mientras (~(variable = 0)) Hacer

Mientras (~(     variable    =        0)) Hacer
----------  (*)         (1)       (*)      (2)  -------


(*) ~ --> Negación para la condición. // (En este caso se lee:"Cuando variable no sea cero, hacer").

(1) Variable --> Valor ingresado a la condición // (Este valor regirá si los procesos de la condición "Mientras" se realizarán).
(*) = --> Simbolo igual. Parte de la condición // ( puede ser > ,<, =, <=, >= o <> en el caso de numeros).
(2) 0 -->  Valor numerico de la condición. // (En este caso es solo un valor numerico, pero podría ser otro tipo de variable; Ej:num00, una constante con valor de String; Ej:confirmacion00 o una palabra directamente escrita: "asadasa").


Dentro de la condición escribiremos los procesos a repetir. (Hasta que el valor que rija la condición no se cumpla). *Ingresaremos una lectura para no crear un loop infinito.*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proceso CondicionTerminosDeUso
    Definir respuesta Como Caracter;
    //
    Escribir "Esta de acuerdo con los terminos de uso?";
    Escribir "Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.";
    Leer respuesta;
    Mientras (respuesta <> "s") Hacer
        Escribir "Entonces no saldra de esta pantalla.";
        Escribir "Esta de acuerdo con los terminos de uso?";
        Escribir "Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.";      
        Leer respuesta;
    FinMientras
    Escribir "Gracias por aceptar nuestros terminos de uso.";
FinProceso
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Al ejecutar el programa, este nos mostrará:

*** Ejecucion Iniciada. ***
Esta de acuerdo con los terminos de uso?
Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.
> mm...no
Entonces no saldra de esta pantalla.
Esta de acuerdo con los terminos de uso?
Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.
> no
Entonces no saldra de esta pantalla.
Esta de acuerdo con los terminos de uso?
Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.
> m...
Entonces no saldra de esta pantalla.
Esta de acuerdo con los terminos de uso?
Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.
> ..
Entonces no saldra de esta pantalla.
Esta de acuerdo con los terminos de uso?
Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.
> no
Entonces no saldra de esta pantalla.
Esta de acuerdo con los terminos de uso?
Si esta de acuerdo, ingrese: [ s ], si no, ingrese cualquier letra.
> s
Gracias por aceptar nuestros terminos de uso.

*** Ejecucion Finalizada. ***

11 comentarios: