Estructura repetitiva para
La estructura repetir cumple la misma función que la estructura mientras. La diferencia está en que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Es por ello que la estructura repetir se ejecuta por lo menos una vez.
Hacer
Acción_1
Acción_2
Acción_n
Mientras condición
En esta estructura primero se efectúa el bloque de instrucciones y después se evalúa la condición. Si es verdadera se vuelve a ejecutar el bloque de instrucciones y así sucesivamente hasta que la condición sea falsa.
Ejecución
Diagrama de flujo
Diagrama de flujo
Ejemplo 1
Escribir los 10 primeros números enteros
Pseudocódigo
Algoritmo num_1_al_10
Definir contador Como Entero
Repetir
Si contador<10 Entonces
contador=contador + 1
Escribir contador
FinSi
Hasta Que contador=10
FinAlgoritmo
Diagrama de flujo
Ejemplo 2
Programa que solicite al usuario una clave de acceso, y que no le permita continuar hasta que la introduzca correctamente.
Pseudocódigo
Algoritmo Repetir01
Repetir
Escribir "Dime tu clave de acceso"
Leer clave
Si clave <> 1234 Entonces
Escribir "Clave incorrecta"
FinSi
Hasta Que clave=1234
Escribir "Bienvenido!"
FinAlgoritmo
Ejecución
Ejercicio 1
Escribir un programa que solicite la carga de un número entre 0 y 999, y nos muestre un mensaje de cuántos dígitos tiene el mismo. Finalizar el programa cuando se cargue el valor 0.
Pseudocódigo
Algoritmo Digitos
Escribir "Ingrese un número entre el 0 al 999 "
Repetir
Leer num
Si num>=100 y num<=999 Entonces
Escribir " Tiene 3 digitos "
SiNo
Si num>=1000 Entonces
Escribir "Número invalido "
FinSi
Si num>=10 y num<=99 Entonces
Escribir "Tiene 2 digitos "
SiNo
Si num>=1 y num<=99 Entonces
Escribir "Tiene 1 digito "
FinSi
Si num==0 Entonces
Escribir "No tiene digito"
FinSi
FinSi
FinSi
Hasta Que num=0
FinAlgoritmo
Ejecución
Ejercicio 2
Escribir un programa que solicite la carga de números por teclado, obtener su promedio. Finalizar la carga de valores cuando se cargue el valor 0. Cuando la finalización depende de algún valor ingresado por el operador conviene el empleo de la estructura repeat, por lo menos se cargará un valor (en el caso más extremo se carga 0, que indica la finalización de la carga de valores).
Pseudocódigo
Algoritmo promedio
Escribir "Ingrese valores"
Repetir
Leer volore
si valore<>0 Entonces
sum=sum+valore
ct=ct+1
FinSi
Hasta Que valore=0
Si ct<>0 Entonces
prome=sum/ct
Escribir "El promedio es: " ,prome
SiNo
Escribir "Valores no ingresados"
FinSi
FinAlgoritmo
Diagrama de flujo
Ejecución
Ejercicio 3
Realizar un programa que acumule (sume) valores ingresados por teclado hasta ingresar el 9999 (no sumar dicho valor, indica que ha finalizado la carga). Imprimir el valor acumulado e informar si dicho valor es cero, mayor a cero o menor a cero.
Pseudocódigo
Algoritmo valores_acumulados
Definir num, suma Como Real
Repetir
Escribir "Ingrese un número a la serie"
Leer num
si num<>9999 o num==0 Entonces
FinSi
Hasta Que num=9999 o num=0
Escribir "La suma de la serie es: " suma
si (suma=0) Entonces
Escribir "Este valor es cero"
SiNo
si (suma>0) Entonces
Escribir "Este valor es mayor a cero"
SiNo
Escribir "Este valor es menor a cero"
FinSi
FinSi
FinAlgoritmo
Diagrama de flujo
Ejecución
Ejercicio 4
En un banco se procesan datos de las cuentas corrientes de sus clientes. De cada cuenta corriente se conoce: número de cuenta y saldo actual. El ingreso de datos debe finalizar al ingresar un valor negativo en el número de cuenta. Se pide confeccionar un programa que lea los datos de las cuentas corrientes e informe:
a)De cada cuenta: número de cuenta y estado de la cuenta según su saldo, sabiendo que:Estado de la cuenta 'Acreedor' si el saldo es >0.
'Deudor' si el saldo es <0.
'Nulo' si el saldo es =0.
b) La suma total de los saldos acreedores.
Pseudocódigo
Algoritmo CUENTA_BANCARIACORRIENTE
Definir cuenta, saldo, suma Como Real
Repetir
Escribir "Ingrese el número de cuenta: "
Leer cuenta
si cuenta>=0 entonces
Escribir "Ingrese saldo: "
Leer saldo
si saldo>0 Entonces
suma <- suma+saldo
Escribir "Su saldo es: " suma
SiNo
si saldo<0 Entonces
Escribir "Deudor"
SiNo
Escribir "Nulo"
FinSi
FinSi
FinSi
Hasta Que cuenta<0
Escribir "Total de saldos Acreedores" suma
FinAlgoritmo
Diagrama de flujo
Ejecución
Ejercicio 5
Se realizó un censo provincial y se desea procesar la información obtenida en dicho censo. De cada una de las personas censadas se tiene la siguiente información: número de documento, edad y genero ('femenino' o 'masculino’).
Se pide confeccionar un programa que lea los datos de cada persona censada (para finalizar ingresar el valor cero en el número de documento) e informar:
a) Cantidad total de personas censadas.
b)Cantidad de varones.
c) Cantidad de mujeres.
d) Cantidad de varones cuya edad varía entre 16 y 65 años.
Algoritmo Censo_social
Definir cedula, sexo Como Caracter
definir edad, cantVarones, cantMujeres,cantMayores, totalPersonas Como Entero
Repetir
Escribir "Ingrese el número de cedula"
Leer cedula;
si cedula<> "0" entonces
Escribir "Ingrese la edad"
leer edad
Escribir "Ingrese el sexo Masculino/Femenino"
Leer sexo
si (sexo="Masculino") Entonces
cantVarones<-cantVarones+1
si (edad>=16 y edad<=65) Entonces
cantMayores<-cantMayores+1
FinSi
FinSi
si (sexo="Femenino") Entonces
cantMujeres<-cantMujeres+1
FinSi
totalPersonas<-totalPersonas+1
FinSi
Hasta Que cedula= "0"
Escribir "Total de personas censadas: " totalPersonas
Escribir "Cantidad de varones: " cantVarones
Escribir "Cantidad de mujeres: " cantMujeres
Escribir "Cantidad de varones entre 16 y 65 años: " cantMayores
FinAlgoritmo
Diagrama de flujo
Ejecución
No hay comentarios:
Publicar un comentario