Guia No4 Algoritmos Con Repetitivas

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 9

CORPORACIÓN AMERICANA

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Programación I


Guía Preparada por: Ing. Roberto Porto Solano

TEORIA SOBRE ALGORITMOS CON REPETITIVAS

ESTRUCTURAS ALGORITMICAS

Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la
manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.
Estas estructuras se clasifican de acuerdo con su complejidad en:

- Inicio
- Fin
Secuenciales - Lectura
- Escritura
- Asignación

Estructuras - Simple (si - entonces)


Algoritmicas Selectivas - Doble (si – entonces - sino)
- Múltiple (en_caso_de/según/dependiendo_de)

- Para o desde (Nº determinado de iteraciones)


Repetitivas - Mientras_que (Nº indeterminado de iteraciones)
- Hasta_que (Nº indeterminado de iteraciones)

Estructuras Repetitivas:

Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo
conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad puede ser
fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato
dentro del programa). Un bucle, lazo o ciclo está conformado por un grupo de acciones que se repiten
cierto numero de veces mientras de acuerdo con el cumplimiento de una condición. La condición se evalúa
cada vez que se repite el bucle. A cada repetición del bucle se le llama iteración.

1. Estructura Repetitiva Para o Desde (Ciclos con un Número determinado de iteraciones)

Esta estructura puede utilizarse cuando el número de iteraciones se conoce antes de ejecutarse el ciclo.
Dado que el nº de iteraciones está establecido previamente, no se requiere evaluar ninguna condición para
decidir si se sigue repitiendo el bucle o se interrumpen las repeticiones. El control de iteraciones se hace
automáticamente mediante una variable que actúa como contador del número de repeticiones.

El conteo se inicia asignando a la variable contador un valor inicial pre-fijado; el valor de la variable
contador se va aumentando o disminuyendo en cada iteración con el valor fijado como incremento, que
puede ser positivo o negativo; finalmente, las repeticiones terminan cuando la variable contador toma el
valor final equivalente al total de iteraciones pre-establecidas que deben hacerse. Cuando el incremento
es 1 puede dejar de escribirse en la estructura. De esta manera, la ejecución de las acciones se repite a
medida que la variable contador va tomando valores entre el valor inicial y el valor final pre-fijados, de
acuerdo con el incremento pre-establecido.

La forma de esta estructura es la siguiente:

Tomado de:
Servicio Nacional de Aprendizaje - Sena
CORPORACIÓN AMERICANA

PARA vc = vi a vf, inc HAGA

Acción1 VC = VI, VF, INC

Acción2
. Acción1
Acción2
. .
.
AcciónN AcciónN
FPARA

Donde:
vc Variable que controla las iteraciones
vi Valor inicial
vf Valor final
inc Incremento

2. Estructura Repetitiva Mientras_que (Ciclos con un número indeterminado de iteraciones)

En la estructura Mientras-que se especifica una condición que se evalúa al comienzo del bucle y de acuerdo
con el resultado de esa evaluación se decide ejecutar o no las acciones que conforman el bucle. Cuando
termina cada iteración la condición se evalúa de nuevo; la condición debe seguirse cumpliendo para que se
sigan ejecutando las acciones del bucle. Cuando la condición deja de cumplirse, entonces se deja de
ejecutar el bucle, es decir, cuando la condición se hace falsa. El número de iteraciones no se conoce con
exactitud, ya que esta dado en función de un dato dentro del programa. La estructura Mientras_que
repetira un proceso durante “N” veces, donde “N” puede ser fijo o variable. Su forma es:

FALSA
CONDICION
MIENTRAS QUE <condición> HAGA CIERTA
Acción1
Acción1
Acción2
Acción2 .
.
AcciónN
.

.
AcciónN
FMQ

3. Estructura Repetitiva Hasta_que (Ciclos con un número indeterminado de iteraciones)

Esta estructura repite un grupo de acciones, pero a diferencia del Mientras_que, lo hace hasta que la
condición se cumple por primera vez y no mientras que se cumple, como en la estructura Mientras_que.
Por otra parte, esta estructura permite realizar el proceso cuando menos una
vez, ya que la condición se evalúa al final del proceso, mientras que en la
estructura Mientras_que puede ser que nunca llegue a entrar a ejecutar las
Acción1
acciones si la condición no se cumple desde un Acción2 principio. El bucle se ejecuta
primero y luego se evalúa la condición. Si la . condición es falsa, el bucle se
.
AcciónN
Tomado de:
Servicio Nacional de Aprendizaje - Sena
CONDICION
FALSA
CIERTA
CORPORACIÓN AMERICANA

repite y la condición se vuelve a evaluar; el bucle se termina solo cuando la condición se vuelva verdadera.
La forma de la estructura Hasta_que es:

REPETIR
Acción1
Acción2
.
.
AcciónN
HASTA QUE <condición>

Tomado de:
Servicio Nacional de Aprendizaje - Sena
CORPORACIÓN AMERICANA

EJEMPLOS DE ALGORITMOS UTILIZANDO REPETITIVAS

1. Sume los 5 primeros números enteros.

INICIO
suma  0
PARA i = 1, 5 HAGA:
suma  suma+i
FPARA
ESCRIBA “La suma de los 5 primeros números enteros es: ”, suma
FIN

INICIO
suma  0
i1
MQ i ≤ 5 HAGA:
suma  suma+i
i  i+1
FMQ
ESCRIBA “La suma de los 5 primeros números enteros es: ”, suma
FIN

2. Calcule el promedio de n numeros.

INICIO
LEA n
suma  0
PARA i = 1, n HAGA:
LEA num
suma  suma+num
ESCRIBA i, “º número leido: ”, num
FPARA
promedio  suma/n
ESCRIBA “El promedio de los números leidos es: ”, promedio
FIN

INICIO
LEA n
suma  0
i1
MQ i ≤ n HAGA:
LEA num
suma  suma+num
ESCRIBA i, “º número leido: ”, num
i  i+1
FMQ
promedio  suma/n
ESCRIBA “El promedio de los números leidos es: ”, promedio
FIN

3. Lea n números y diga cuántos de ellos son mayores que 50.

INICIO
LEA n
Tomado de:
Servicio Nacional de Aprendizaje - Sena
CORPORACIÓN AMERICANA

cont  0
PARA i = 1, n HAGA:
LEA num
SI num › 50 ENTONCES HAGA:
cont  cont+1
FSI
ESCRIBA i, “º número leido: ”, num
FPARA
ESCRIBA “La cantidad de números mayores que 50 es: ”, cont
FIN

INICIO
LEA n
cont  0
i1
MQ i ≤ n HAGA:
LEA num
SI num › 50 ENTONCES HAGA:
cont  cont+1
FSI
ESCRIBA i, “º número leido: ”, num
i  i+1
FMQ
ESCRIBA “La cantidad de números mayores que 50 es: ”, cont
FIN

4. Calcule el factorial de un número. (n!=1*2*3*…*n)

INICIO
LEA n
fact  1
PARA i = 1, n HAGA:
fact  fact*i
FPARA
ESCRIBA “El factorial de “, n, “ es: ”, fact
FIN

INICIO
LEA n
fact  1
i1
MQ i ≤ n HAGA:
fact  fact*i
i  i+1
FMQ
ESCRIBA “El factorial de “, n, “ es: ”, fact
FIN

5. Lea n números, cuente, sume y promedie todos aquellos que son menores que 25.

Tomado de:
Servicio Nacional de Aprendizaje - Sena
CORPORACIÓN AMERICANA

INICIO
LEA n
cont  0
suma  0
PARA i = 1, n HAGA:
LEA num
SI num › 25 ENTONCES HAGA:
cont  cont+1
suma  suma+num
FSI
ESCRIBA i, “º número leido: ”, num
FPARA
prom  suma/cont
ESCRIBA “La cantidad de números menores que 25 es: ”, cont
ESCRIBA “La suma de números menores que 25 es: ”, suma
ESCRIBA “El promedio de los números menores que 25 es: ”, prom
FIN

INICIO
LEA n
cont  0
suma  0
i1
MQ i ≤ n HAGA:
LEA num
SI num › 25 ENTONCES HAGA:
cont  cont+1
suma  suma+num
FSI
ESCRIBA i, “º número leido: ”, num
i  i+1
FMQ
prom  suma/cont
ESCRIBA “La cantidad de números menores que 25 es: ”, cont
ESCRIBA “La suma de números menores que 25 es: ”, suma
ESCRIBA “El promedio de los números menores que 25 es: ”, prom
FIN

6. Imprima los 10 primeros números enteros positivos impares

INICIO
PARA i = 1, 20, 2 HAGA:
ESCRIBA i
FPARA
FIN

INICIO
i1
MQ i ≤ 20 HAGA:
ESCRIBA i
i  i+2
FMQ
FIN

Tomado de:
Servicio Nacional de Aprendizaje - Sena
CORPORACIÓN AMERICANA

7. Obtenga la sumatoria de los primeros números impares enteros de tal modo que la sumatoria no supere
una cantidad n. Diga cuáles y cuántos fueron los números sumados y que resultado dio la sumatoria.

INICIO
LEA n
suma  0
num  1
cont  0
MQ suma ≤ n HAGA:
suma  suma+num
ESCRIBA “Se sumó el número “, num
cont  cont+1
num  num+2
FMQ
ESCRIBA “La suma de los primeros “, cont, “ impares enteros, menor o igual a “, n, “ es: ”, suma
FIN

8. Haga el conteo de votos pertenecientes a una encuesta realizada, sabiendo que los votos solo tienen
dos respuestas posibles: “si” o “no”. El último voto está marcado la palabra “fin” como respuesta.

INICIO
contsi  0
contno  0
LEA voto
MQ voto ≠ “fin” HAGA:
SI voto = “si” ENTONCES HAGA:
contsi  contsi+1
SINO:
contno  contno+1
LEA voto
FSI
FMQ
total  contsi+contno
ESCRIBA “Total de votos de la encuesta “, total
ESCRIBA “Los votos positivos fueron “, contsi
ESCRIBA “Los votos negativos fueron “, conteo
FIN

9. De una urna se van sacando números al azar hasta que se extrae un número n que se ha leido
previamente al sorteo. Diga cuántos números fueron extraidos de la urna antes del ganador.

INICIO
LEA n
cont  0
LEA num
MQ num ≠ n HAGA:
cont  cont+1
LEA num
FMQ
cont  cont-1
ESCRIBA “El número ganador es: “, num
ESCRIBA “Total de números extraidos antes del ganador “, cont
FIN

Tomado de:
Servicio Nacional de Aprendizaje - Sena
CORPORACIÓN AMERICANA

10.

Se tiene dinero para ir comprando los artículos de una lista ordenada por prioridad en la que aparecen
los precios de cada artículo y su nombre. Las compras se deben realizar en estricto orden de prioridad
hasta que el dinero se acabe. Diga cuántos y cuáles fueron los artículos comprados y cuánto dinero
quedó sin gastar.

INICIO
LEA dinero
ESCRIBA “Dinero disponible para comprar: “, dinero
cont  0
MQ dinero › 0 HAGA:
LEA artículo, precio
dinero  dinero-precio
SI dinero ≥ 0 ENTONCES HAGA:
ESCRIBA “Se compró el artículo “, artículo
cont  cont+1
SINO:
dinero  dinero+precio
FSI
FMQ
ESCRIBA “Cantidad de artículos comprados: “, cont
ESCRIBA “Dinero sin gastar: “, dinero
FIN

EJERCICIOS PROPUESTOS:

1) Se debe realizar un muestreo con 50 personas para determinar el promedio de peso de los niños,
jóvenes, adultos y viejos que existen en su zona habitacional. Se determinan las categorías así:
CATEGORIA EDAD
Niños 0 - 12
Jóvenes 13 - 29
Adultos 30 - 59
Viejos 60 en adelante

2) Al cerrar un expendio de naranjas, 15 clientes que aún no han pagado recibirán un 15% de descuento si
compran más de 10 kilos. Determinar cuánto pagará cada cliente y cuánto percibirá la tienda por compras.

3) En un centro de verificación de automóviles se desea saber el promedio de puntos contaminantes de los


primeros 25 automóviles que lleguen. Así mismo se desea saber los puntos contaminantes del carro que
menos contaminó y del que más contaminó.

4) Un zoólogo pretende determinar el porcentaje de animales que hay en las siguientes tres categorías de
edades: de 0 a 1 año, de más de 1 año y menos de 3, y de 3 o más años. El zoológico todavía no está
seguro del animal que va a estudiar. Si se decide por elefantes solo tomará una muestra de 20 de
ellos; si se decide por las jirafas, tomará 15 muestras y si son chimpancés tomará 40.

Tomado de:
Servicio Nacional de Aprendizaje - Sena
CORPORACIÓN AMERICANA

5) Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros durante 10 días, para
determinar si es apto para la prueba de 5 Kilómetros o debe buscar otra especialidad. Para
considerarlo apto debe cumplir por lo menos una de las siguientes condiciones:
- que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.
- que al menos en una de las pruebas realice un tiempo mayor a 16 minutos.
- que su promedio de tiempos sea menor o igual a 15 minutos.

Repetitiva Mientras_que:

6) Determinar cuántos hombres y cuántas mujeres se encuentran en un grupo de n alumnos, suponiendo


que los datos son extraídos alumno por alumno.

7) Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la semana. Su
política de pagos es que un vendedor recibe un sueldo base y un 10% extra por comisiones de sus ventas. El
gerente de la compañía desea saber cuánto dinero obtendrá en la semana cada vendedor, por concepto de
comisiones por las tres ventas realizadas, y cuánto, tomando en cuenta su sueldo base y sus comisiones.

8) En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran en ella.
El salario se obtiene así: Si el obrero trabaja 40 horas o menos se le paga $20 por hora. Si trabaja
más de 40 horas se paga $20 por cada una de las primeras 40 horas y $25 por cada extra.

9) Obtener el promedio de calificaciones de un grupo de n alumnos.

10) Una persona desea invertir su dinero en un banco, el cual otorga un 2% de interés mensual. Cuál será la
cantidad de dinero que esta persona tendrá al cabo de un año si la ganancia de cada mes es reinvertida?

11) Calcular el promedio de edades de hombres, mujeres y de todo un grupo de alumnos.

12) En un supermercado un cajero captura los precios de los artículos que los clientes compran e indica a
cada cliente cuál es el monto de lo que deben pagar. Al final del día le indica a su supervisor cuánto
fué lo que cobró en total a todos los clientes que pasaron por su caja.

13) Cinco miembros de un club contra la obesidad desean saber cuánto han bajado o subido de peso desde
la última vez que se reunieron. Para ésto se debe realizar un ritual de pesaje en donde cada uno se
pesa en diez básculas distintas para tener el promedio más exacto de su peso. Si existe diferencia
positiva entre este promedio de peso y el peso de la última vez que se reunieron, significa que subieron
de peso. Pero si la diferencia es negativa, significa que bajaron. Lo que el problema requiere es que por
cada persona se imprima un letrero que diga: “SUBIO” o “BAJO” y la cantidad de kilos que subió o bajó.

14) Encontrar el menor valor de un conjunto de n números dados.

15) Encontrar el mayor valor de un conjunto de n números dados.

Tomado de:
Servicio Nacional de Aprendizaje - Sena

También podría gustarte