Вы находитесь на странице: 1из 6

Trabajo Práctico - Estructura Repetitiva

1. Hallar el máximo común divisor y el mínimo común múltiplo de dos números


naturales.

Inicio
Leer('Ingresar los números: ',n1, n2)
a <- n1
b <- n2

Repetir
res ← (a mod b)
a ← b
b ← res
hasta (res = 0)

Escribir('El m.c.d. es: ', a)


Escribir('El m.c.m. es: ', n1 * n2 / a)

Fin

2. Calcular la suma y el producto de los números pares comprendidos entre 20


y 120.

Inicio
suma ← 0
multi ← 1
Para i ← 20 hasta 120 hacer
Si (i mod 2 = 0) entonces
suma ← suma + i
multi ← multi * i
Fin si
Fin para
Escribir ('la suma es: ', suma)
Escribir ('la multiplicación es: ', multi)
Fin

3. Ingresar un número natural n e indicar si es primo.

Inicio
ban ← 0
Leer ('Ingresar el número: ',n)
c ← n - 1
Repetir
Si (n mod c = 0) entonces
ban ← 1
Fin si
c ← c -1
hasta (c = 1) or (ban = 1)
Si (ban = 0) entonces
Escribir('El número es primo')
sino
Escribir('El número NO es primo')
Fin si
FIN
4. Dado un número natural N se desea mostrar todos los números primos
anteriores a N.
Inicio
Leer ('Ingresar el número: ',n)
Para (i ← 2) hasta (n - 1) hacer
ban ← 0
c ← i - 1
Mientras (ban = 0) and (c > 1) hacer
Si (i mod c = 0) entonces
ban ← 1
Fin si
c ← c -1
Fin Mientras
Si (ban = 0) entonces
Escribir(i, ' - ', )
Fin si
Fin para
Fin

5. Preparar un algoritmo para ingresarle dos números naturales N1 y N2,


hallar el producto N1 * N2 mediante sumas sucesivas y mostrar el resultado.
Recordar que:

N1 * N2 = N1 + N1 + ... + N1 (N2 veces)

Inicio
Leer ('Ingresar los números: ',n1, n2)
suma ← 0
Para n ← 1 hasta n2 hacer
suma <- suma + n1
fin para
Escribir('EL PRODUCTO ES: ', suma);
Fin

6. Los números perfectos son números naturales que son iguales a la suma de
todos sus divisores propios excepto él mismo. Así, por ejemplo, el 6 es un
número perfecto ya que es igual a la suma de sus tres divisores propios: 1,
2 y 3. Se pide escribir un programa que calcule los cuatro primeros números
perfectos.

Inicio
conta ← 0
num ← 0
Mientras conta < 4 hacer
suma ← 0
num ← num + 1
Para (i ← 1) hasta (num - 1) hacer
Si (num mod i) = 0 hacer
suma ← suma + i
Fin si
Fin para
Si (num = suma) entonces
conta ← conta + 1
Escribir ('El ', conta, 'número perfecto es: ', num)
Fin si
Fin Mientras
Fin
7. Escribir un programa que imprima la secuencia de todas las combinaciones
de hora y minuto de un día, comenzando por 01:00 y terminando por 12:59.

Inicio
Para hora ← 1 hasta 12 hacer
Para min ← 0 hasta 59 hacer
Escribir (hora,':',min)
Fin para;
Fin Para
Fin

8. ¿A cuanto asciende la suma de los números pares comprendidos entre 300 y


1232?

Inicio
suma ← 0
Para i ← 150 hasta 616 hacer
suma ← suma + (i * 2)
Fin para
Escribir ('la suma es: ', suma)
Fin

9. Construir un algoritmo para calcular y mostrar por pantalla cuantas


campanadas da un reloj desde una cierta hora H, que se ingresa por teclado,
hasta las doce de la noche, el reloj da una campanada a las y media.

Inicio
camp ← 0
Leer('Ingrese la hora de comienzo: ', hora)
Si hora > 12 entonces
hora ← hora - 12
si no
Para i ← 1 hasta 12 hacer
camp ← camp + i + 1
fin para
Fin si
Para (h1 ← hora ) hasta 12 hacer
camp ← camp + h1 + 1
Fin para
camp ← camp - 1
Escribir('La cantidad de campanadas es: ', camp)
Fin

10. Construir un algoritmo para ingresarle un número natural n, y que


calcule y muestre por pantalla el factorial de n. La fórmula general para
hallar el factorial de un número entero positivo es: n! = n * (n - 1)!

Inicio
Leer ('Ingrese un número: ', n)
factorial ← n
Para i ← n -1 hasta 1 dec hacer
factorial ← factorial * i
Fin para
Escribir ('El factorial de ',n , ' es: ', factorial)
Fin

11. Construir un algoritmo para ingresarle por el teclado dos números


naturales M y N. Hallar el cociente M/N por restas sucesivas y mostrar por
pantalla el dividendo, divisor, cociente y resto.

Inicio
Leer ('Ingresar el dividendo: ', M);
Leer ('Ingresar el divisor: ', N);
coc ← 0
res ← M
Repetir
res ← res - N
coc ← coc + 1
hasta (res < N)
Escribir('El resultado de: ',M ,' / ',N, ' es: ', coc,' y el resto es:
',res)
Fin

12. Ingresando un número natural N, construir un algoritmo para hallar y


mostrar por pantalla los divisores naturales de N. Usar parte entera (INT).

Inicio
Leer ('Ingrese un número: ', n)
Para (i ← 1) hasta (n) hacer
Si (int (n / i) = (n / i)) hacer
Escribir (i, ' - ')
Fin si
Fin para
Fin

13. En la sucesión de Fibonacci, los dos primeros números son 0 y 1, y cada


uno de los restantes es igual a la suma de los dos que lo anteceden. Los
primeros términos son: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Preparar un algoritmo para ingresarle una cantidad C, y que muestre los
primeros C términos de la sucesión.

Inicio
Leer ('Ingresar un numero mayor a 2: ', c)
fibo1 ← 0
fibo2 ← 1
Escribir (fibo1, '-', fibo2, '-')
Para i ← 3 hasta c hacer
fibo2 ← fibo1 + fibo2
fibo1 ← fibo2
Escribir (fibo2, '-')
Fin para
Fin
14. Completar el algoritmo anterior para calcular también la suma y el
producto de los primeros C términos de la sucesión.

Inicio
// El producto es siempre 0
Leer ('Ingresar un numero mayor a 2: ', c)
fibo1 ← 0
fibo2 ← 1
Escribir (fibo1, '-', fibo2, '-')
suma ← fibo1 + fibo2
Para i ← 3 hasta c hacer
fibo2 ← fibo1 + fibo2
fibo1 ← fibo2
suma = suma + fibo2
Escribir (fibo2, '-')
Fin para
Escribir ('la suma de los términos es: ', suma)
Fin

15. Se efectúa una encuesta entre 120 consumidores de cigarrillos. Las


respuestas están codificadas como 1, 2 ó 3 según sea la marca elegida.
Preparar un algoritmo para ingresarle las 120 respuestas, y muestre por
pantalla el número de la marca preferida.
Inicio
// Se considera que no hay empates
marca1 ← 0
marca2 ← 0
marca3 ← 0
conta ← 0
Mientras (conta <= 120) hacer
Leer ('Ingresar el código de marca elegida: ', mar)
Si (mar=1) entonces
marca1 ← marca1 + 1
si no
Si (mar=2) entonces
marca2 ← marca2 + 1
si no
Si (mar=3) entonces
marca3 ← marca3 + 1
si no
Escribir ('Error, código mal ingresado')
conta ← conta - 1
Fin si
Fin Si
Fin Si
conta ← conta + 1
Fin Mientras
Si ((marca1 > marca2) and (marca1 > marca3)) entonces
Escribir ('La marca preferida fue la 1, con ', marca1, ' votos')
si no
Si ((marca2 > marca3) entonces
Escribir ('La marca preferida fue la 2, con ', marca2, ' votos')
si no
Escribir ('La marca preferida fue la 3, con ', marca3, ' votos')
fin si
fin si
Fin
16. Preparar un algoritmo que encuentre e imprima todos los números de tres
dígitos (del 100 al 999) que sean iguales a la suma de los cubos de sus
dígitos. Recordar que un número de tres dígitos, por ejemplo 729, puede
construirse sumando 700 + 20 + 9, o sea: 7 * 100 + 2 * 10 + 9

Inicio
Para i ← 100 hasta 999 hacer
digito1 ← i mod 10
digito2 ← (int (i / 10) mod 10)
digito3 ← int (i / 100)
cubo ← digito1 ** 3 + digit2 ** 3 + digito3 ** 3
Si (i = cubo) entonces
Escribir (i, ' - ')
Fin Si
Fin Para
Fin

17. Preparar un algoritmo que encuentre e imprima los números primos


comprendidos entre 1000 y 2000.

Inicio
Para i ← 1000 hasta 2000 hacer
ban ← 0
c ← 2
Mientras (ban = 0) and (c < i) hacer
Si (i mod c = 0) entonces
ban ← 1
Fin si
c ← c + 1
Fin Mientras
Si (ban = 0) entonces
Escribir(i, ' - ', )
Fin si
Fin para
Fin

Вам также может понравиться