Esta es Mí exposición "RECURSIVIDAD"
http://alejandroperezandestebansolis.blogspot.mx/
exposicion 608
jueves, 5 de abril de 2012
lunes, 20 de febrero de 2012
Actividad 5
¿Cuál será el programa que
imprima los números 15,20,25,30, …150 con la proposición WHILE?
cont:=10
While
cont<100 do
Begin
cont:=cont+2;
writeln(cont)
End;
Readln;
End.
¿Proponga un programa que acepte números e
imprima el número, el programa terminara cuando se introduzca el número -999?
Cont:=0;
While cont=-999
do
begin
Cont:=cont+1;
Readln(cont);
Writeln(cont);
End;
Problemas
Problema
En los datos de entrada
aparecen una o más calificaciones de estudiantes en la escala de 0 a 100, seguidos del valor
centinela -999. Determinar y mostrar el total de las calificaciones excluyendo,
al centinela.
total:=0;
read(Calif);
WHILE
Calif<>-999 DO
BEGIN
total:=total+Calif;
read(Calif)
END;
Write(´El total de las
calificaciones es´, total:1)
Obsérvese
que se asigna a total el valor inicial 0 antes de la proposición WHILE. Dentro
del cuerpo del ciclo, la proposición.
total:=total+Calif;
Calcula
los totales parciales de las calificaciones
Completa en los espacios con
el identificador o el valor adecuado en el programa siguiente para que también
muestre el promedio de las calificaciones
total:=___; (*dar valor inicial al total de
calificaciones*)
contador:=0; (*contar el número de calificaciones*)
read(Calif); (*capturar la primera calificación*)
WHILE Calif<>____ DO (*probar
el centinela*)
______:=contador+1 (*incrementar el
contador*)
total:=______+Calif; (*sumar la nueva
calificación*)
read(____) (*capturar la siguiente calificación*)
END;
Write(´El total de las calificaciones es´,
total:1´)
(*Calcular
la calificación promedio*)
Promedio:=total/contador;
Writeln(´La calificación promedio
es´,promedio:6:2)
Es posible incluir
expresiones booleanas compuestas en las proposiciones WHILE de Pascal a través
de los operadores booleanos: AND, OR y
NOT. Las variables booleanas se pueden emplear para controlar la ejecución de una proposición WHILE.
Problema
¿Qué sucede si se prueban
todos los enteros entre uno y num no se
encuentra un divisor exacto? La variable indic seguirá teniendo el valor false,
pero será preciso terminar el ciclo. Es necesario probar también el
cumplimiento de esta condición. Por tanto, la expresión booleana que se usará
en la proposición WHILE tendrá dos partes: “NOT ind” y “divisor<num”.
Solución
El siguiente segmento en Pascal muestra la
solución:
read(num);
indic:=false; (*se supone que todavía no hay
divisor exacto*)
divisor:=2; (*se inicia la prueba de división
con 2*)
WHILE NOT
THEN indic AND (divisor<num) DO
BEGIN
indic:=num MOD divisor=0;
divisor:=divisor+1
END;
write(‘El numero’, num:1,’ ‘);
IF indic
THEN
writeln(‘Tiene divisor exacto’)
ELSE writeln(‘no tiene divisor exacto’)
La proposición de asignación
indic:=num MOD divisor=0
Actividad 3
ejemplos
ejemplos
Sea la siguiente proposición
en Pascal. ¿Qué se exhibirá y cuántas
veces se ejecutará el cuerpo del ciclo?
J:=0;
WHILE j<5
DO
BEGIN
write(j);
j:=j+1
END
Ejemplo
¿Qué sucedería si se cambiará
el orden de las dos instrucciones del cuerpo del ciclo?
j:=0;
WHILE j<5
DO
BEGIN
j:=j+1;
write(j)
END
Actividad 2
Construye la idea
ejemplo 1
Construye la idea
ejemplo 1
Contador:=0;
read(num);
WHILE
num>0 DO
BEGIN
contador:=contador+1;
read(num)
END;
writeln(‘Número de enteros
positivos=’,contador);
ejemplo 2
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)
Suscribirse a:
Entradas (Atom)