You are on page 1of 14

Asesor: Gonzales Guzmán Oscar Jaime 1 Email:oscarin7777@hotmail.

com
Estructuras Repetitivas
En todos los algoritmos realizados hasta este punto, cada instrucción se ha ejecutado solo
una vez ya sea en forma secuencial o en forma selectiva. Sin embargo, con frecuencia,
Cierto tipo de problemas requieren de la ejecución reiterada o repetida de un grupo de
instrucciones.

Para la ejecución repetida de un conjunto de instrucciones los lenguajes de programación


ofrecen una variedad de sentencias o códigos, los que se denominan estructuras repetitivas,
estructuras iterativas o simplemente bucles.

CONTADORES Y ACUMULADORES

Existen dos conceptos asociados a las estructuras repetitivas: Contadores y


Acumuladores.

Contador: un contador es una variable auxiliar o de proceso, cuyo propósito es llevar la


cuenta del numero de veces que se está ejecutando un conjunto de sentencias o un
determinado proceso. Estas Variables generalmente se verifican para salir del bucle.

Acumulador: El Acumulador es también una variable auxiliar o de proceso, cuyo


propósito es suma (acumular) diferentes valores del mismo tipo.

Generalmente la implementación de los procesos con un acumulador tiene el siguiente


formato:
S=S+<Variable>

En esta expresión, S es el acumulador y < Variable> es el valor que se desea agregar a


S.

TIPOS DE ESTRUCTURAS REPETITIVAS

En forma indistinta se utiliza estructura repetitiva, estructura iterativa o bucle para


referirse a
la repetición de un proceso un número fijo o variable de veces.

En el Desarrollo de los procesos iterativos se distinguen los siguientes tipos de bucles:

1. Bucles variables:
i. Estructura Hace Mientras
ii. Estructura Mientras

Asesor: Gonzales Guzmán Oscar Jaime 2 Email:oscarin7777@hotmail.com


iii. Toda estructura repetitiva tiene las siguientes partes:

b. Inicialización.‐en la cual se asigna valores iniciales a las variables que


intervienen en el test de salida.
c. Acumulación.‐en la que se actualizan las variables que intervienen en el
test de salida.
d. Instrucciones de procesos.‐parte del bucle en el que se escribe las
instrucciones que se deben repetir.
e. Test de Salida.‐en la que se controla si el bucle continúa o se sale del
bucle.

Bucles Variables
Son estructura repetitivas en las que no se conoce el número de veces que se
ejecutaran las instrucciones que se encuentran dentro del bucle, por ejemplo,
si se trata de contar el número de dígitos de un número entero positivo
sabemos cuantos dígitos tendrá el numero; consiguientemente n se sabe
cuantas veces realizara el proceso de contar, Otro ejemplo si el número de
clientes que debe atender un cajero de banco, quién no sabe a priori cuantas
personas existen en cola para ser atendidas

Bucles Fijos
Son estructuras repetitivas en que se conoce al priori el número de veces que
se ejecutaran las instrucciones que se encuentran dentro del bucle. Ejemplo si
se trata de ingresar 5 notas a priori se sabe que se debe leer repetidamente 5
notas, consiguientemente el proceso de leer se repetirá 5 veces.

Asesor: Gonzales Guzmán Oscar Jaime 3 Email:oscarin7777@hotmail.com


EJERCICIOS RESUELTOS

1. Escribir un algoritmo para que muestre la tabla de multiplicar del 8.

8 * 1= 8
8 * 2=16
8 * 3= 24
8 * 4= 32
8 * 5= 40
8 * 6= 48
8 *7= 56
8 * 8= 64
8 * 9= 72
8 * 10= 80
8 * 11= 88
8 * 11= 96
2. Escribir un algoritmo que imprima el número,el cuadrado y el cubo de los n
primeros números enteros positivos.
3. se tiene la relación de n alumnos. Para cada alumno se tiene 3 notas. Escribir un
algoritmo que calcule el promedio de cada alumno.

Asesor: Gonzales Guzmán Oscar Jaime 4 Email:oscarin7777@hotmail.com


4. Escribir un algoritmo que calcule la suma de los n primeros números enteros
positivos.
5. Escribir un algoritmo que calcule la suma de la siguiente expresión:
1/100 + 2/99 + 3/98 + 4/97 +… + 99/2 + 100/1

6. Escribir un algoritmo que evalúe la siguiente expresión:


12‐ 22 + 32…+992‐1002
7. Escribir un algoritmo para calcular el promedio aritmético de N números.
8. Escribir un algoritmo que permita calcular el factorial de un nùmero entero
positivo.
9. Calcular el maximo común divisor de 2 numeros enteros positivos.
10. Escribir un algoritmo que permita determinar el número de dígitos de un
número entero positivo.

11. Escribir un algoritmo que permita calcular el Cociente y el Resto entero de la


división de 2 números enteros mediante restas sucesivas.
12. enteros positivos utilizando el algoritmo ruso de la multiplicación
13. Programa que calcula la suma de los 200 primeros numeros pares y los 200
primeros numeros impares simultaneamente.
14. Algoritmo pa que muestre la siguiente figura:

109876543210
9876543210
876543210
76543210
6543210
543210
43210
3210
210
10

15. Programa que escribe la suma una seria de núemros recogidos del teclado.La
entrada de datos finaliza al evaluar la respuesta dada a un jmensaje que diga
“¿Continuar (S/N)?” mostrado una vez finalizadas las operaciones del bucle.
16. Hacer un programa para calcular el valor maximo y cuantas veces se aparece
dicho valor repetido de una serie de N numeros .
a. Introduce un número:1
b. Introduce un número:4
c. Introduce un número:7
d. Introduce un número:99
e. Introduce un número:40

Asesor: Gonzales Guzmán Oscar Jaime 5 Email:oscarin7777@hotmail.com


f. Introduce un número:345
g. Introduce un número:23
h. Introduce un número:345
i. Introduce un número:5
El Valor Maximo es 345 con 2 repeticiones

17. Programa que lee cinco valores númericos enteros y calcula su producto
mostrando el resultado en el dispositivo estandar de salida (pantalla).
18. Programa que halla la suma de los 10 primeros numeros pares mostrando el
resultado en pantalla. El 0 puede ser considerado como par o impar
indistintamente.
19. de 3 motrandolos en el dispositivo de estandar de salida (pantalla).
20. El siguiente programa muestra en pantalla las coordenadas de una tabla cuyas
dimensiones son 5x5 (filas x columnas).
21. Programa que calcula la suma de los 5 primeros números pares y el producto de
los 5 primeros números impares simultáneamente.
22. Programa que calcula la potencia de un número dado el valor de su base y su
exponente.

23. Escribir un programa que permita convertir de base 10 a: Base 2, Base 8,


Base16.

24. Un numero primo es aquel que es divisible solo por la unidad y por si mismo.
Escribir un programa que determine los factores primos de cualquier número
entero.

25. Escribir un programa que calcule la suma de los numeros enteros comprendidos
entre N y M.

26. Una técnica para calcular la depreciación de una maquinaria es el método de los
dígitos de los años. Por ejemplo, supongamos que una maquinaria tiene una vida
útil esperada de cinco años. La suma de los dígitos de los años será: 1+2+3+4+5,
o sea, 15. Durante el primer año, el valor del activo se depreciará en 5/15,
durante el segundo año se depreciará en 4/15, y así sucesivamente hasta que,
en el transcurso que lea el quinto año, se depreciará el 1/15 restante. Escribir
un programa que lea el Valor de una maquinaria y su vida útil esperada y luego
imprima un plan de depreciación.

27. Escribir un programa que muestre los numeros del 1 al 100.


28. Escribir un programa que muestre los numeros del 100 al 1

100 99 98 97 96 95 94 93 … 10 9 8 7 6 5 4 3 2 1

Asesor: Gonzales Guzmán Oscar Jaime 6 Email:oscarin7777@hotmail.com


29. Un número entero es perfecto si resulta ser la suma de sus divisors propios.
Por ejemplo
6=1 + 2 + 3
28=1 + 2 + 4 + 7+ 14

30. Escriba un programa que determine los factores primos de cualquier numero
entero.

31. Escribir un algoritmo que determine cuantos digitos pares y cuantos digitos
impares tiene un número de “n” digitos.

32. Escribir un programa que permita tabular la siguiente función:

F(X)=3.20*X/(0.45 * X – 0.25)
Para X= 0.00,0.05,0.10,0.15,…,2.00

33. Escribir un programa que determine el máximo común divisor de tres


números enteros positivos.

34. En el ultimo censo dela ciudad de Abancay, se consigno la siguiente informacion


en las fichas respectivas:
a. Edad
b. Sexo(1=Hombre y 2 = Mujer)
c. Estado Civil (s = soltero, c = casado, v= viudo,d=divorciado)

Escribir un programa que determine:

d. • Número de varones y número de mujeres.


e. Número de muchachas solteras entre las edades de 16 y 21 años.

35. Escriba un programa que obtenga la suma, e imprima los terminos de la


siguiente serie:
2, 5, 7, 10, 12, 17, ... , 1800.

Asesor: Gonzales Guzmán Oscar Jaime 7 Email:oscarin7777@hotmail.com


36. Haga un programa para sumar los pares comprendidos entre 1 y 10
1 2 3 4 5 6 7 8 9 10

37. Haga un programa para obtener la tabla de multiplicación de un número entero


k, comenzando desde 1 hasta el 12.

K= 5 entoces TABLA DE MULTIPLICAR DEL 5


5* 1 = 5
5* 2 = 10
5* 3 = 15
5* 4 = 20
5* 5 = 25
5* 6 = 30
5* 7 = 35
5* 8 = 40
5* 9 = 45
5* 10 = 50
5* 11 = 55
5* 12 = 60

38. Escriba un programa de flujo que lea un número entero N y calcule el resultado
de la siguiente serie:
1 + 1/2 + 1/3 + 1/4 + ... + 1/N

39. Escriba un programa de flujo que lea un número entero N y calcule el resultado
de la siguiente serie: 1 ‐ 1/2 + 1/3 ‐ 1/4 + ... + 1/N

40. Dado el sueldo de N trabajadores, considere un aumento del 15% a cada uno de
ellos, si su sueldo es inferior a s/. 800. Imprima el sueldo con aumento
incorporado (su corresponde). Haga el Programa correspondiente.

41. Calcule el aumento de sueldo para un grupo de empleados de una empresa,


teniendo en cuenta el siguiente criterio.

Si el sueldo es inferior a S/. 1000 : Aumento 15%

Asesor: Gonzales Guzmán Oscar Jaime 8 Email:oscarin7777@hotmail.com


Si el sueldo es mayor o igual a S/. 1000 : Aumento 12%

Imprima el sueldo nuevo del trabajador y el total de nomina de la empresa,


considernado este nuevo aumento.

42. La siguiente serie se llama la conjetura de ULAM en honor al


matematico S. Ulam:
a. Comience con cualquier entero positivo.
b. Si es par, dividalo entre 2; si es impar, multipliquelo por 3 y
agreguele 1.
c. Obtenga enteros sucesivamente repitiendo el proceso.

Al final, obtenga el número 1, independientemente del entero inicial. Por ejemplo,

Cuando el entero inicial es 26, la secuencia será :


26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.

43. En una escuela, donde se tienen registros con las caracter¡sticas físicas
de los alumnos, se desea conocer la lista de los alumnos con aptitudes para
practicar basquet. Haga un programa que obtenga lo siguiente:
a. Lista de alumnas con aptitudes para jugar al basquet.
b. Requerimientos: ALTURA>=1.73 y 50<=PESO<=83
c. Porcentaje de alumnas con estas aptitudes de la población estudiantil
femenina.
d. Lista de alumnos con aptitudes f¡sicas para jugar al basquet.
Requerimientos: ALTURA>=1.83 y 73<=PESO<=105
e. Porcentaje de alumnos con estas aptitudes de la población estudiantil
masculina.
Por cada alumno se ingresa su NOMBRE, SEXO, EDAD, PESO Y ALTURA.

44. En una empresa con N empleados se necesita obtener cierta información.


Por cada empleado se ingresan los siguientes datos CLAVE, EDAD, SEXO y
SUELDO. Haga un programa para calcular e imprimar lo siguiente:

Asesor: Gonzales Guzmán Oscar Jaime 9 Email:oscarin7777@hotmail.com


a. Número de hombres.
b. Número de mujeres.
c. Número de mujeres que ganen con mas de s/. 1000.
d. Número de hombres menores de 40 años que ganen menos de s/. 100.
e. Número de empleadosmayores de 50 años.

45. Escriba un programa que imprima todos los pares de m y n que cumplan la
siguiente condición (M y N solo pueden ser valores positivos):
m4 + 7* n2 < 540

46. Escriba un programa que imprima todos los valores de X,Y y Z que satisfagan la
siguiente expresión:
18* X3 +11* Y5 + 8* Z6 < 6300

47. Una empresa automotriz necesita manejar los montos de ventas de sus N
sucursales, a lo largo de los últimos 14 años. Haga un programa que calcule lo
siguiente:
a. Sucursal que más ha vendido en cada año.
b. Promedio de ventas por año.
c. Año con mayor promedio de ventas.
d. Ventas totales de la empresa (considerando las N sucursales durante 14
años).

48. Escriba un programa que obtenga e imprima todos los números "Primos
Gemelos" comprendidos entre A y B (enteros positivos). Los primos gemelos son
parejas de números primos con una diferencia entre sì de exactamente dos.
Ejemplo: 3 y 5 son primos gemelos.

Asesor: Gonzales Guzmán Oscar Jaime 10 Email:oscarin7777@hotmail.com


49. Es posible demostrar que la suma de un número "suficiente" de términos de la
serie:

Es un número considerablemente cercano a SEN(X), y que la diferencia entre


SEN(X) y la suma antes mencionada se vuelve menor conforme se toman más
términos. Escriba un programa para que, dada una X cualquiera, calcule el
SEN(X), utilizando la serie anterior, de tal modo que dicha diferencia sea
menor o igual a 0.05. Imprima el número de términos requeridos para obtener
esta precisión.

50. Escribir un programa que calcule la suma de todos los múltiplos de 5 menores
de N.

51. Programa que calcula el cuadrado de los 100 primeros números pares.

52. Programa que calcula la suma de los cubos de los 50 primeros números
naturales.

53. Diseñar un programa que calcule el producto de los “N” primeros números
pares.

54. Escribir un programa que lea un numero entero “N” y muestre en pantalla los
cuadrados y los cubos de los “N” primeros números naturales.

55. Hacer un Programa que lea 30 números y determine cuales y cuantos de ellos
son múltiplos de 7.

56. Escribir un programa que realice un bucle con do – while y muestre en pantalla
del 1 al 10

57. Escribir un programa que visualice en pantalla los números pares entre 1 y 25.

58. Escribir un programa que visualice en pantalla los números múltiplos de 5


comprendidos entre 1 y 100

59. Escribir un programa que genere la tabla de multiplicar de un número


introducido por el teclado.

Asesor: Gonzales Guzmán Oscar Jaime 11 Email:oscarin7777@hotmail.com


60. Escribir un programa que realice la pregunta ¿Desea continuar S/N? y que no
deje de hacerla hasta que el usuario teclee N.

61. Escribir un programa que calcule cuantos años tarda en duplicarse un capital
depositado al 5% de interés anual.

62. Escribir un programa que calcule la suma de los números hasta un número dado
(introducido por el usuario).

63. Escribir un programa que pida un numero y si el que se introduce por teclado es
menor de 100 que vuelva a solicitarlo.

64. escribir un programa que calcule la depreciación de un objeto según el método


de la línea recta. Calcular el número de años que tarda en hacerse 0. En este
método el valor original del objeto se divide por su vida(numero de años).El
cociente resultante será la cantidad en la que el objeto se deprecia
anualmente. Por ejemplo, si un objeto se deprecia 8000 dólares en diez años,
entonces la depreciación anual será 8000/10=800 dólares. Por tanto, el valor
del objeto habrá disminuido en 800 dólares cada año. Nótese que la
depreciación anual es la misma cada año cuando se utiliza este método.

65. Escribir un programa que calcule la depreciación de un objeto según el método


del balance doblemente declinante. En este método, el valor del objeto
disminuye cada año enun porcentaje constante. Por tanto, la verdadera
cantidad depreciada, en dólares, variara de un año al siguiente. Para obtener el
factor de depreciación, dividimos por dos la vida del objeto. Este factor se
multiplica por el valor del objeto al comienzo de cada año ( y no el valor del
original del objeto) para obtener la depreciación anual. Supongamos, por
ejemplo que deseamos depreciar un objeto de 8000 dólares por diez años; el
factor de depreciación será 2/10=0.2,por tanto, la depreciación el primer año
será 0.2 X 8000=1600 dólares, la depreciación del segundo será 0,2 X
6400=1280 dólares; la depreciación del tercer año será 0,2 X 5120=1024
dólares, y así sucesivamente.

66. Calcule el aumento de sueldo para N empleados de una empresa, bajo el


siguiente criterio:

Si el sueldo es menor a $ 1000 : Aumento 12%


Si el sueldo esta comprendido entre $ 100 y $ 2500 : Aumento 10%
Si el sueldo es mayor a $ 2500 : Aumento 8%
Imprima lo siguiente:

Asesor: Gonzales Guzmán Oscar Jaime 12 Email:oscarin7777@hotmail.com


a) El nuevo sueldo del trabajador.
b) El monto total de la nómina.

67. Construya un programa que lea 100 números naturales y cuente cuántos de ellos
son positivos, negativos o nulos.

68. Dado N números enteros como datos, haga un programa que:

a. Obtenga cuántos números leídos fueron mayores que cero.


b. Calcule el promedio de los números positivos.
c. Obtenga el promedio de todos los números.

69. Escriba un programa tal, que dado N números enteros como datos, calcule cuál
es el mayor y el menor de estos números.
70. Escriba un programa tal, que dado el peso, la altura y el sexo de N personas que
pertenecen a un estado de la república; obtenga el promedio del peso y la
altura de esta población.
71. Resuelva el problema anterior, pero considere además el promedio de la altura
y del peso en función del sexo. Es decir, nos interesa obtener el promedio de la
altura y peso de la población femenina y masculina.
72. Un vendedor ha hecho una serie de ventas y desea saber cuántas de estas
fueron de $ 200 o menos; cuántas fueron mayores a $ 200 pero inferiores a $
400; y cuantas de $ 400 o superiores a tal cantidad.
73. Haga un programa que le proporcione al vendedor esta información después de
haber le¡do los datos de entrada.
74. 25.‐ Se tienen las calificaciones de un grupo de alumnos que presentaron un
examen de computación. Haga un programa que calcule e imprima cuántas
calificaciones hay en cada uno de los siguientes rangos:
a. 0 ... 3.99
b. 4 ... 5.99
c. 6 ... 7.99
d. 8 … 10.0
75. Una persona invierte en un banco un cierto capital y requiere saber cuánto
obtendrá al cabo de cierto tiempo, si el dinero se colocó a una determinada
tasa de interés mensual.
76. Haga el programa correspondiente.
Escriba un programa que reciba como entrada 24 números reales que
representan las temperaturas del exterior en un periodo de 24 horas.
Encuentre la temperatura media del día y las temperaturas más alta y más baja
del día.
77. Supóngase que en una reciente elección hubo 4 candidatos (con identificadores
1,2,3,4).

Asesor: Gonzales Guzmán Oscar Jaime 13 Email:oscarin7777@hotmail.com


Usted habrá de encontrar, mediante un programa, el número de votos
correspondientes a cada candidato y el porcentaje que obtuvo respecto al total
de los votantes. El usuario teclear los votos de manera desorganizada, tal y
como se obtuvieron en la elección, el final de datos esta representado por un
cero. Observe, como ejemplo la siguiente lista:
13142214111213140
Donde 1 representa un voto para el candidato 1; 3 un voto para el candidato 3;
y asi sucesivamente.
78. Resuelva el problema anterior, pero ahora considere que no existe la operación
de potencia.
79. De una empresa con N empleados, necesitamos obtener el número de empleado
y sueldo del trabajador con el mayor sueldo de la empresa. Haga el porgrama
correspondiente.
80. La compañía de Luz "del Centro" desea imprimir los recibos de cobro de los
cuenta habitantes, en el último periodo. Desea obtener también el total de
cobros del periodo. Por cada cliente se ingresa su nombre, dirección, registro
inicial y registro final. El cobro se efectúa con base en la siguiente tabla.
140 KVH o menos ‐‐‐> s/. 3.20
Los siguientes KVH ‐‐‐> s/. 0.15 por KVH
Exceso sobre 310 KVH ‐‐‐> s/. 0.097 por KVH
Haga un programa para calcular lo solicitado anteriormente.
81. En una universidad se necesita obtener una lista de alumnos candidatos a la
Facultad Menor de Economía, Administración, Contabilidad e Ingeniería en
Computación. Las condiciones para ser seleccionado como presunto candidato
para entrar a la facultad menor, varían de carrera en carrera y se presentan a
continuación:
Condiciones para Facultad Menor de Economía:
Semestre >= 5 y promedio >= 8.5
Condiciones para Facultad Menor de Administración:
semestre >= 5 y promedio >= 8.8
Condiciones para Facultad Menor de Contabilidad:
semestre >= 5 y promedio >= 8.5
Condiciones para Facultad Menor de Computación:
semestre >= 5 y promedio >= 8.8
82. En una clase de una universidad se tienen 35 alumnos. Haga un programa que
calcule e imprima la matricula y el promedio de calificaciones de cada alumno.
Cabe aclarar que cada alumno de la clase tiene 5 calificaciones.
83. Resuelva el ejercicio anterior, pero considere que las cinco calificaciones del
alumno se leerán dentro de un ciclo.
84. Resuelva el problema anterior con las consideraciones planteadas en el mismo,
pero sólo imprima matricula y promedio del mejor y del peor alumno.

Asesor: Gonzales Guzmán Oscar Jaime 14 Email:oscarin7777@hotmail.com

You might also like