Documente Academic
Documente Profesional
Documente Cultură
nmero
nmero
Leer (nmero)
SUMA SUMA
Leer (nmero)
Fin
Y as sucesivamente para cada nmero de la lista. En otras palabras, el algoritmo repite
muchas veces las acciones.
Leer (nmero)
SUMA SUMA
nmero
0 hacer
Leer (NMERO)
SUMA SUMA
+ nmero
TOTAL TOTAL-1
fin_mientras
escribir (la suma de los , N, nmeros es , SUMA)
fin
El bucle podr tambin haberse terminado poniendo cualquiera de estas condiciones:
(loop)
(while)
(do-while)
(repeat)
(for)
Leer(nmero)
SUMA SUMA
+ nmero
TOTAL TOTAL-1
hasta_que TOTAL = 0
escribir (La suma es, SUMA)
fin
Los tres casos generales de estructuras repetitivas dependen de la situacin y modo de la
condicin. La condicin se evala tan pronto se encuentra en el algoritmo y su resultado
producir los tres tipos de estructuras citadas.
1. La condicin de salida del bucle se realiza al principio del bucle (estructura
mientras)
Algoritmo SUMA1
Inicio
//inicializar K, S a cero
K0
S0
Leer(N)
Mientras K
n hacer
KK+1
SS+K
Fin_mientras
Escribir (S)
Fin
Se ejecuta el bucle mientras se verifica una condicin (K
n).
2. La condicin de salida se origina al final del bucle; el bucle se ejecuta hasta que se
verifica una cierta condicin.
Repetir
KK+1
SS+K
Hasta_que K n
3. La condicin de salida se realiza con un contador que cuenta el nmero de
iteraciones.
Desde i = vi hasta vf hacer
SS+i
Fin_desde
i es un contador que cuenta desde el valor inicial (vi) hasta el valor final (vf) con los
incrementos que se consideren; si no se indica nada, el incremento es 1.
ESTRUTURA mientras (while)
La estructura repetitiva mientras (en ingls while o dowhile: hacer mientras) es aquella
en que el cuerpo del bucle se repite mientras se cumple una determinada condicin.
Cuando se ejecuta la instruccin mientras, la primera cosa que sucede es que se evala
la condicin (una expresin booleana). Si se evala falsa, no se toma ninguna accin y el
programa prosigue en la siguiente instruccin del bucle. Si la expresin Booleana es
verdadera, entonces se ejecuta el cuerpo del bucle, despus de lo cual se evala de
nuevo la expresin booleana. Este proceso se repite una y otra vez Mientras la
expresin booleana (condicin) sea verdadera. El ejemplo anterior quedara as:
Estructura Mientras a) Diagrama de flujo;
Condicin
No
b)pseudocdigo;
Acciones
.
accin Sn
fin_mientras
pseudocdigo en ingls
while condicin do
<acciones>
.
.
endwhile
o bien
dowhile condicin
<acciones>
.
.
enddo
d) Diagrama N-S.
mientras
condicin
acciones
Ejemplo5.1
Leer por teclado un nmero que represente una cantidad de nmeros que a su vez se
leern tambin por teclado. Calcular la suma de todos esos nmeros.
algoritmo suma_numeros
var
entero : N, TOTAL
real : numero, suma
inicio
leer(N)
{leer numero total N}
TOTAL N
SUMA 0
mientras TOTAL > 0 hacer
leer(numero)
SUMA SUMA
+ nmero
TOTAL TOTAL-1
Fin_mientras
Escribir(la suma de los, N, numeros es , suma)
fin
En el caso anterior, como la variable TOTAL e va decrementando y su valor inicial era N,
cuando tome el valor 0, significar que se han realizado N iteraciones, o, lo que es igual,
se han sumado N nmeros y el bucle se debe parar o terminar.
Ejemplo 5.2
Contar los nmeros enteros positivos introducidos por teclado. Se consideran dos
variables enteras NUMERO y CONTADOR (contar el nmero de enteros positivos). Se
supone que se leen nmeros positivos y se detiene el bucle cuando se lee un nmero
negativo o cero.
algoritmo cuenta_enteros
var
entero : numero, contador
inicio
contador
leer(numero)
mientras numero > 0 hacer
leer(numero)
contador
contador+1
fin_mientras
escribir(el numero de enteros positivos es, contador)
fin
inicio
contador
Leer numero
Mientras numero > 0
Leer numero
contador
contador+1
pseudocdigo
leer(numero)
contador
significado
Inicializar contador a 0
Leer primer nmero.
4
5
sumar 1 a contador
leer(numero)
Regresar al paso 3
Escribir (contador)
la