ejemplos de sentencia WHILE

Anuncio
Establecimiento: C.E.M N° 17 Patagonia
Asignatura: Fundamentos de Programación
Curso: 5°
División: 2da, 3ra y 4ta
Profesora: María Elisa Méndez Cares
Año lectivo: 2009
SENTENCIA REPETITIVA (SENTENCIA WHILE)
Diagrama de flujo
Código en Pascal
Falso
Condicion
Fin
while <condicion> do
<Sentencia>
Verdadero
Sentencia
Donde Condicion es una expresión booleana, es decir, que puede tomar el valor
verdadero (true) o falso (false).
Valores de verdad de las expresiones booleanas:
A
B
Not A Not B A or B A and B
True True False False True
True
True False False True
True
False
False True True False True
False
False False True True False
False
Es decir, que la negación lógica (NOT) de un valor true da como resultado el valor
false; y la negación lógica de un valor false da como resultado el valor true.
La conjunción lógica (AND) de dos valores booleanos solo da el resultado true cuando
los dos valores son true. En caso contrario el resultado es false.
La disyunción lógica (OR) de dos valores booleanos solo da el resultado false si los dos
valores son false. En caso contrario el resultado es true.
Ejemplos de expresiones booleanas:
1. (a > b) and (a >c); con a=3, b=2 y c=1. El resultado es True.
2. (a > b) and (a <c); con a=3, b=2 y c=1. El resultado es False.
Página 1 de 5
Establecimiento: C.E.M N° 17 Patagonia
Asignatura: Fundamentos de Programación
Curso: 5°
División: 2da, 3ra y 4ta
Profesora: María Elisa Méndez Cares
Año lectivo: 2009
3. (a < b) and (a <c); con a=3, b=2 y c=1. El resultado es False.
4. (a < b) and (a >c); con a=3, b=2 y c=1. El resultado es False.
5. (a = b) and (a =c); con a=3, b=2 y c=1. El resultado es False.
6. not ((a > b) and (a >c)); con a=3, b=2 y c=1. El resultado es False.
7. not ((a > b) and (a <c)); con a=3, b=2 y c=1. El resultado es True.
8. not ((a < b) and (a <c)); con a=3, b=2 y c=1. El resultado es True.
9. not ((a < b) and (a >c)); con a=3, b=2 y c=1. El resultado es True.
10. not ((a = b) and (a =c)); con a=3, b=2 y c=1. El resultado es True.
11. (a > b) or (a >c); con a=3, b=2 y c=1. El resultado es True.
12. (a > b) or (a <c); con a=3, b=3 y c=1. El resultado es True.
13. (a < b) or (a <c); con a=3, b=2 y c=1. El resultado es False.
14. (a < b) or (a >c); con a=3, b=2 y c=1. El resultado es False.
15. (a = b) or (a =c); con a=3, b=2 y c=1. El resultado es True.
16. not ((a > b) or (a >c)); con a=3, b=2 y c=1. El resultado es False.
17. not ((a > b) or (a <c)); con a=3, b=3 y c=1. El resultado es False.
18. not ((a < b) or (a <c)); con a=3, b=2 y c=1. El resultado es True.
19. not ((a < b) or (a >c)); con a=3, b=2 y c=1. El resultado es True.
20. not ((a = b) or (a =c)); con a=3, b=2 y c=1. El resultado es False.
Página 2 de 5
Establecimiento: C.E.M N° 17 Patagonia
Asignatura: Fundamentos de Programación
Curso: 5°
División: 2da, 3ra y 4ta
Profesora: María Elisa Méndez Cares
Año lectivo: 2009
Ejemplos de sentencias WHILE:
1. Mostrar todos los números enteros entre 0 y N, donde N es un número entero
positivo ingresado por teclado. Por ejemplo, N=6, muestra 0123456
Diagrama de flujo
Código en Pascal
N
Cont ← 0
Falso
Cont < N
Cont
Verdadero
Cont
Program secuencia;
Uses crt;
Var cont, n: integer;
begin
writeln(‘ingrese un numero entero positivo’);
read(n);
cont := 0;
while (cont < n) do
begin
write(cont);
cont := cont +1;
end;
write(cont);
End.
Cont ← Cont + 1
2. Sumar todos los números enteros entre 0 y N, donde N es un número entero
positivo ingresado por teclado. Por ejemplo, N=5, Sum=1+2+3+4+5=15
Diagrama de flujo
Código en Pascal
N
Cont ← 0
Sum ← 0
Cont < N
Falso
Verdadero
Cont ← Cont + 1
Sum← Sum + Cont
Sum
Program sumatoria;
Uses crt;
Var cont, n, sum: integer;
begin
writeln(‘ingrese un numero entero positivo’);
read(n);
cont := 0;
sum := 0;
while (cont < n) do
begin
cont := cont +1;
sum := sum + cont;
end;
write(sum);
End.
Página 3 de 5
Establecimiento: C.E.M N° 17 Patagonia
Asignatura: Fundamentos de Programación
Curso: 5°
División: 2da, 3ra y 4ta
Profesora: María Elisa Méndez Cares
Año lectivo: 2009
3. Recibir por teclado un número entero N y muestre en pantalla N asteriscos.
Diagrama de flujo
Código en Pascal
N
Cont ← 1
Falso
Cont <= N
Fin
Verdadero
‘*’
Cont ← Cont + 1
Program linea_de_asteriscos;
Uses
crt;
var
cont, n: integer;
begin
writeln(‘ingrese un numero entero positivo’);
read(n);
cont := 1;
while (cont <= n) do
begin
write(‘*’);
cont := cont +1;
end;
End.
4. Ingrese por teclado números enteros positivos aleatoriamente hasta que se
ingrese un número negativo.
Diagrama de flujo
Código en Pascal
N
Falso
N>0
Verdadero
N
Fin
Program ingresar_numeros;
Uses
crt;
var
n: integer;
begin
writeln(‘ingrese un numero’);
read(n);
while (n > 0) do
begin
writeln(‘ingrese un numero’);
read(n);
end;
End.
Página 4 de 5
Establecimiento: C.E.M N° 17 Patagonia
Asignatura: Fundamentos de Programación
Curso: 5°
División: 2da, 3ra y 4ta
Profesora: María Elisa Méndez Cares
Año lectivo: 2009
5. Recibir por teclado un número entero positivo N e imprimir una pirámide de N
niveles donde en cada nivel hay tantas asteriscos como el número de nivel. Por
ejemplo, para N=5:
*
**
***
****
*****
Diagrama de flujo
Código en Pascal
Niveles
Nivel ← 1
Nivel <= Niveles
Verdadero
asteriscos ← 1
Falso
Asteriscos <= Nivel
Verdadero
Nivel ← Nivel +1
‘*’
Falso
Fin
Program piramide_de_asteriscos;
Uses
crt;
var
niveles, nivel, asteriscos: integer;
begin
writeln(‘ingrese la cantidad de niveles
de la piramide’);
read(niveles);
nivel := 1;
while (nivel <= niveles) do
begin
asteriscos := 1;
while (asteriscos <= nivel) do
begin
write(‘*’);
asteriscos := asteriscos +1;
end;
nivel := nivel +1;
writeln;
end;
End.
asteriscos ← asteriscos + 1
Página 5 de 5
Descargar