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.
Oiga profe una pregunta
ResponderEliminarsi el pajaro carpintero
clava todo el dia .......
¿A que hora trabaja?
DDDDDDD:
jajajaaja menzooo... XD
Eliminaren que piensas, seguramente todo el dia te pica tu novia, OOONOOOO?
Eliminarpero es al reves profe :D
Eliminarhuuuuu! Profesor GROSEROOOO!
Eliminarahahah Usted debe responder nuestras dudas && así :|
no andarse burlandoo
Contestele Bonitooo a su Hijoo x)
aqui no!!!
Eliminareso es privado!!! aaaa, tenian que ser padre e hijo :D
digame cual es la duda, aque horas traba ja el carpintero, nolo se.
EliminarSiiiiii acusalo con su mama kiko ¡!¡!
EliminarLa 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). osceaaa.. como??????
ResponderEliminaruna expresion booleana tiene dos resultados verdadero o falso , en el ejemplo
EliminarWHILE num>0 DO
BEGIN
contador:=contador+1;
read(num)
END;
la expresion booleana es num>0.
si la expresion booleana es verdadera , esto es que el valor de num sea positivop antes de la intruccion while, entonces se realizaran las intrucciones entre el bgin y el end (bloque del ciclo).
alterminar de ejecutarse estas instrucciones , se regresa el flujo de las instrucciones al while y se vuelve a evaluar la codicion. Esto se realiza de forma repetitiva hasta que la expresion booleana se a falsa
osea q while es como infinito?
ResponderEliminarSe puede tener el caso de que una estructura ciclica sea infinita, si se da , entonces podemos decir que el programador pierde el control, esto es que la expresion booleana de una while nunca sera falsa por ejemplo
EliminarWHILE num> 0 DO
BEGIN
contador:=contador+1
END
en ejemplo, no se modifica ekl valor de la variable num que controla la condicion o expresion booleana. por lo tanto nunca sera falsa esta condicion
Que función lleva la palabra reservada DO’ para ir a fuerzas después de WHILE
ResponderEliminarpor que no puede llevar otra palabra reservada?
creo q es para q no se vaya a infinito
EliminarNO nopuede llevar otra palabra porque con estas palabras se diefinio el lenguaje pasacal.
Eliminar:P
ResponderEliminarque es eso, se tiene que poner dudas de la lectura ingrid.
Eliminar:3
Eliminar:B
Eliminar-Me gusta- :3
Eliminaro un ejemplo de while aparte de eso cual seria?? porqe no me qeda muy claro aparte de que entonces se acabaria el programa hasta que deje de existir numeros?
ResponderEliminarse acabaria el programa hasta que la expresion booleana des´ppues del while sea falsa
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
Eliminarosea q sin read en el programa se ase infinito???
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarque control se utiliza en scratch para while?
ResponderEliminary si en pascal while lleva al final ;?
???????????????? duda miiiiillocho miiil
en scracht se usa por siempre si, y si al finalizar el end; lleva ;
EliminarContador:=0; (*Inicializar el contador*)
ResponderEliminari:=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)
aqui, ¿como i hace que se sepa cuantas veces se ha ejecutado el ciclo?
la variable i aparece en el programa entres momentos.
Eliminar1.- antes de la estructura ciclica, aqui se inicializa el valor de la variable a cero.
2.-dentro de la condicion o expresion booleana , aqui el valor de i se compara con 20, como i al inicio vale cero entonces la primera vez que se ejecuta iz20 seria 0z<20, por lo tanto es vervadero y se ejecuta el cuerpo del ciclo.
3.-en el cuerpo del cilo se incerementa el valor de la variable i en uno. i:=i+1; de tal fiorma que cada vez que se ejecuta el cuerpo del ciclo se modifica el valor de i en uno, sis se tendran en diferentes momento los valoresde 1,2,3,4,5..hasta 20 . cuando termina el ciclo.
Entonces es como en scracht (repetir hasta que) pero no de manera infinita, ademas tiene que tener una sentencia DO??. :D
ResponderEliminar.l. jajajjaj
EliminarT.T
Eliminarparecida a esta instruccion, pero en scracht es siempre que
EliminarO.o
Eliminarentonces cuando seria necesario utilizar esa palbra reservada?
ResponderEliminarcuando usas una sentencia del lenguaje pascal, usas palabras reservadas como write, read, begin,end, y ahora while
EliminarLas sentencias if, then entrar sólo cuando se necesita verificar el número de veces que se ha ejecutado el ciclo? & porqué se quiere verificar que WHILE i<20 DO sea verdadera? si al principio se buscaba fuera falsa?
ResponderEliminarcon el if num>0 sirve para identificar cuando el valor de la variable num es positivo, si es elcaso se incrementara una variable contadora de numeros positivos que en este caso es contador:=contador +1,
Eliminarse quiere que while se averdadera al inicio porque por lo menos una vez se tiene que ejecutar el bloque del cilo, dentro deeste bloque se modifica la variable de control del ciclo, con lo cual la condicion se cuelce falsa y se rompe el cilo para continuar con las instruccions.
Cual es la expresión booleana!!!?! D:
ResponderEliminarWHILE num>0 DO
EliminarBEGIN
contador:=contador+1;
read(num)
END;
en el ejemplo la expresion booleana es num>0
ponga un programa donde lo veamos claro!! profe
ResponderEliminarsi sisisisisis
Eliminar