Beruflich Dokumente
Kultur Dokumente
Un bucle o lazo (Loop) es un segmento de un algoritmo o programa, cuya instrucciones se repiten
un número determinado de veces mientras se cumple una determinada condición (existe o es
verdadera la condición). SE debe establecer un mecanismo para determinar las tareas repetitivas.
Este mecanismo es una condición que puede ser verdadera o falsa y que se comprueba una vez a
cada paso o iteración del bucle (total de instrucciones que se repiten en el bucle).
Un bucle consta de tres partes:
decisión,
cuerpo del bucle,
salida del bucle.
El bucle de la siguiente figura es infinito, ya que las instrucciones (1), (2) y (3) se ejecutan
indefinidamente, pues no existe salida del bucle, al no cumplirse una determinada condición.
Si tras la lectura de la variable N se coloca una condición, el bucle dejará de ser infinito y tendrá fin
cuando la condición sea verdadera.
El diagrama de flujo escrito en pseudo código es aproximadamente el siguiente:
Inicio
SUMA 0
1: leer N
Si N = 0 entonces
Escribir SUMA
Ir_a fin
Si_no
Suma suma + N
FIN_SI
IR_A 1
FIN
BUCLES ANIDADOS
Un bucle puede anidarse dentro de otro como se vio en clase con los condicionales anidados
(un si fin_si dentro de otro si Fin_si)
Contadores
Un contador es una variable cuyo valor se incrementa o decremento en una cantidad constante en
cada vuelta.
La siguiente figura
contar del 1 al 50
presenta un diagrama de flujo para un algoritmo que se desea repetir 50 veces; el contador se
representa en este ejemplo con la variable CONT. La instrucción que representa a un contador es
la asignación CONT = CONT + 1.
La siguiente figura
Inicio
Leer A
Mult = A
Mientras Mult <=100 hacer
Escribir Mult
Mult = Mult + A
Fin_Mientras
Fin
7.- Dado a, b determinar el valor de la división entera y el resto de la división entera de a, b
sin usar los operadores de DIV y MOD
Inicio
Leer a,b
cv = 0
mientras a >= b hacer
a = a - b
cv = cv + 1
fin_mientras
pe = cv
resto = a
Escribir pe , resto
Fin
8.- Mostrar solo la parte decimal de una división entre 2 números a y b sin usar DIV y MOD
Inicio
Leer a,b
cv = 0
mientras a >= b hacer
a = a - b
cv = cv + 1
fin_mientras
resto = a
Valor_decimal = resto / b
Escribe Valor_decimal
Fin
9.- Hacer un programa que calcule la suma, suma de cuadrados y suma de cubos de los N
primeros números naturales.
Uso de variables:
cantidad de números naturales= num_n
suma= s
suma de cuadrados= s_cuad
suma de cubos= s_cub
Inicio
Leer num_n
s = 0
s_cuad = 0
s_cub = 0
n = 1
Mientras n <= num_n hacer
s = s + num_n
s_cuad = s_cuad + (n * n)
s_cub = s_cub + (n * n * n)
fin_mientras
Escribir s, s_cuad, s_cub
Fin
Ejercicios Propuestos
1.- Hacer un programa que Muestre la tabla de multiplicar del número 5 sin mostrar el 25
(Dentro del mientras habrá un SI FIN_SI)
2.- Hacer un programa que sume los 10 pares que le siguen al 24
3.- Hacer un programa que sume los 10 impares que le siguen al número n
4.- Hacer un programa que sume los pares comprendidos entre 100 y 200 sin considerar el rango
de números comprendidos entre
50 y 76
5.- Hacer un programa que sume los 10 primeros números pares, luego que sume los 10 primeros
Impares y muestre la diferencia de ambos resultados.
6.- Hacer un programa que sume los 10 números pares que le siguen a N, luego que sume los 10
Impares que le siguen a M y muestre la diferencia de ambos resultados.
7.- Hacer un programa que Muestre cuantos "Lunes" Hay entre las fechas 19 de Septiembre del
2004 y el 25 de diciembre del mismo año.
8.- Hacer un programa que Muestre cuantos "Lunes" Hay entre las fechas 19 de Septiembre del
2004 y el 25 de diciembre del mismo año, mostrando que día cae Lunes y el nombre del mes
correspondiente de ese día.