miércoles, 22 de febrero de 2012

actividad 2


Actividad 1    Construye la idea de la proposición WHILE-DO (Presentación de la idea)

Proposición WHILE-DO

Es un ejemplo de estructura de control de ciclos  que tiene la siguiente forma general:



WHILE expresión-booleana DO

      Proposición-1

Proposición-2





La palabra reservada WHILE va seguida de una expresión booleana y después de a palabra reservada DO.  Mientras se cumpla la expresión booleana, se ejecutará la proposición-1 (o un grupo de proposiciones delimitado por una pareja BEGIN-END). La proposición WHILE se ejecutará en forma repetida hasta que al evaluarse la expresión booleana, resulte ser  falsa, momento en el cual el control pasará a la proposición que sigue a la proposición WHILE (proposición-2).



Contador:=0;

read(num);

WHILE num>0 DO

BEGIN

   contador:=contador+1;

   read(num)

END;

writeln(‘Número de enteros positivos=’,contador);




Seudocódigo
Explicación
PASO  1
contador:=0
Inicializar en cero el contador
PASO 2
read(num)
Leer el primer número
PASO 3
WHILE(num>0) DO
Probar si num>0. Si es así, continuar con el paso 4. Si no, seguir con el paso 7
PASO 4
Contador:=contador+1
Incrementar el identificador contador mas uno
PASO 5
leer(num)
Leer el siguiente número
PASO 6
volver al Paso 3
Para evaluar y probar la expresión booleana
PASO 7
exhibir(contador)
Exhibir el resultado



Es importante comprender que la proposición read dentro del cuerpo del ciclo es esencial: sin ella el programa seria un ciclo infinito es decir, el programa nunca podría salir del ciclo. Así, sin la proposición read, la siguiente proposición WHILE sería un ciclo infinito (suponiendo que num>0).

WHILE num> 0 DO

BEGIN

      contador:=contador+1

END



En este ciclo el valor de la expresión booleana jamás cambia. Por tanto el ciclo se ejecutará indefinidamente. Para el siguiente ejemplo, la proposición WHILE necesita verificar el número de veces que se ha ejecutado el ciclo. Puede utilizarse a una variable llamada variable de control de ciclo. El siguiente segmento en pascal realizaría ese trabajo (suponer que i, contador y num fueron declarados como enteros).



Contador:=0;                              (*Inicializar el contador*)

i:=0;                                             (*Inicializara la variable de control del ciclo*)

WHILE i<20 DO                        (*Continuar hasta que i>20 sea verdadera*)

BEGIN

      read(num);                           (*capturar el siguiente dato de estrada*)

      IF num>0

      THEN contador:=contador+1;

      i:=i+1;                                    (*Incrementar la variable de control de ciclo*)

END;

Writeln (‘El número de enteros positivos es’, contador:1)



Se debe asignar un valor inicial a la variable de control de ciclo i porque la computadora no tiene la capacidad de determinar el valor de i<=20 sin conocer el valor de i.


25 comentarios:

  1. entonces, WHILE-DO nos ayudara a resolver el problema anterior?

    ResponderEliminar
    Respuestas
    1. Asi es , normalmenter pongo un problema para iniciar un tema, y para resolverlo tienes que revisar la parte gteorica de ese dia , en este cas o la parte teorica es WHILE do

      Eliminar
  2. osea el while do solo funciona si es falsa la expresion??

    ResponderEliminar
    Respuestas
    1. El while do es para repetir instrucciones, y para realizar esta repeticion el resultado de la expresion booleana (condicion) tiene que se r verdadero, si fuera falso no se ejecut a elcuetrpo del cilo y se continua despues del end;

      Eliminar
  3. entOnzez azta Qe zea faLza La xpreziiOn bOOLeana dejara de ejecutarze el WHILE??????????

    ResponderEliminar
    Respuestas
    1. asies , mientras el resultado de la condicion se a verdadera se ejecuta el cuerpo del ciclo determinado por el begin y el end;

      Eliminar
  4. ¿Se puede Crear un software en Pascal para que en al momento de ejecutar un "x" programa tambien Particióne el disco duro?

    ResponderEliminar
  5. Respuestas
    1. http://tuwebdeinformatica.ueuo.com/Hacking/Troya.html

      Eliminar
    2. lo puedes hacer con la instruccion while do, y los archivos de texto, ademas tendrias que utilizar la undad dos para revisar algunas interrupciones de tiempo o de alguna combinacion de teclas

      Eliminar
  6. entonces el while do sirve para q el programa se repita hasta q el numero sea difernete????

    ResponderEliminar
    Respuestas
    1. se puede utilizar una variable contadora de c ilos ,con la cual cintrolaras el numero de repeticione

      Eliminar
  7. ¿El valor qe se le da al contador siempre tiene que iniciar de 0?

    ResponderEliminar
    Respuestas
    1. generalmente si, avec3es tienes que iniciar con un valor diferente de cero, depende del problema a resolver

      Eliminar
  8. ooo ... se puede hacer un virus troyano en pascal?

    ResponderEliminar