martes, 21 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
sumar  1 a contador
Incrementar el contador
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:=;                                                            (*Inicializara la variable de control del ciclo*)

WHILE i=20 DO                                                (*Continuar hasta que i>20*)

BEGIN

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

      IF num>0

      THEN contador: contador+1 contador;

      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.


28 comentarios:

  1. mmmmmmmmmmmmmmmmmmmmmmmmmmm :C YA VAMONOS!

    ResponderEliminar
  2. maestro y el juego de mesa que no hizo la clase anterior que! :(

    ResponderEliminar
    Respuestas
    1. despues terminamos con el juego de mesa, hoy tengo que explicar como crear su blog de exposiciones y la interaccion que tendran en el blog

      Eliminar
  3. Por lo que yo entiendo la estructura while- do es una estructura la cual almacena un dato y espera ahsta que eso sea cierto o no entonces ¿ es como en scratch 'repetor hasta que'?

    ResponderEliminar
    Respuestas
    1. la istruccion while bno almacena un dato, los identificadores variables son los que pueden almacenar datos. en el caso de la estructura while se tienen en la condicion del while una o varias variables de control del ciclo.por ejemplo
      WHILE num>0 DO


      BEGIN


      contador:=contador+1;


      read(num)


      END;
      en este programa la variable de control es num, una variable en que el dato es modificado dentro del cuerpo del cilo, si no se modifica dentro , este programa nunca erminaria.
      la estructura de scracht para crear ciclos WHILEes por siempre si.

      Eliminar
  4. por que las rosas son rojas sin se llaman rosas? DDD:

    ResponderEliminar
  5. Y que quiere decir con ´´palabra boleana''?

    ResponderEliminar
    Respuestas
    1. UNA VARIABLE BOOLEANA ES AQUE LLA QUE TIENE COMO RESULTADO UN VALOR VERDADERO O FALSO. EN NUESTRO CASO SE PUEDE CREAR UNA SIMULACION DE UNA VARIABLE BOOLEANA CON LOS VALORES 0 PARA FALSO Y UNO PARA VERDADERO

      Eliminar
  6. esta confuso pero si contador es igual a 0 y yo introduzco el numero 0 se detiene el programa o regresa a la misma instruccion

    ResponderEliminar
    Respuestas
    1. supongo yo que es una variable acumuladora o contadora pero para eso tenemos que poner despues de un "si y un sino"

      Eliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. va arealizar algo dependiendo si esverdadero o falso por lo del if y el then verdad

    ResponderEliminar
    Respuestas
    1. DEPENDIENDO DE LA CONDICION DE CONTROL DEL CICLO SE REPITE EL BLOQUE DEL CICLO, EN UN BLOQUE DEL CICLO PUEDES TENER VARIAS INSTRUCCIONES COMO PUEDEN SER LAS CONDICIONES IF THEN ELSE. EJEMPLO
      Contador:=0; (*Inicializar el contador*)


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


      WHILE i=20 DO (*Continuar hasta que i>20*)


      BEGIN


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


      IF num>0


      THEN contador: contador+1 contador;


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


      END;


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

      Eliminar
  9. confuso pero con la explicacion en scratch mas o menos le entendi

    ResponderEliminar
    Respuestas
    1. Esque las instrucciones en schatch estab eb español y con bloques, en turbo pascal todo esta ebn ingles pero has que acostumbrarse por que delphi y hasta java scrip las instrucciones estan en ingles :)

      Eliminar