50% encontró este documento útil (2 votos)
1K vistas12 páginas

Ejercicios Ciclos (Esencia Logica)

Ejercicios de ciclos resueltos en pseudocódigo del libro "Esencia Lógica de la Programación" de Omar Iván Trejos

Cargado por

Luis Balza Mata
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
50% encontró este documento útil (2 votos)
1K vistas12 páginas

Ejercicios Ciclos (Esencia Logica)

Ejercicios de ciclos resueltos en pseudocódigo del libro "Esencia Lógica de la Programación" de Omar Iván Trejos

Cargado por

Luis Balza Mata
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

//OJO CON EL EJERCICIO N28 (ESTUVO MUY DIFICIL)

//OJO CON EL EJERCICIO N16 (DONDE ANTE CIERTA SITUACION (CONDICIN), MODIFICAS LA V
ARIABLE LIMITE DE LA CUAL DEPENDE UN CICLO, PARA AS DETENERLO (COMO HACIENDO UN "
BREAK"))

1. Leer un nmero entero y mostrar todos los enteros comprendidos entre 1 y el nmer
o ledo.

leer num
para i = 1 hasta (num - 1)
imprimir i

2. Leer un nmero entero y mostrar todos los pares comprendidos entre 1 y el nmero
ledo.

leer num
para i = i hasta num
si i == i /2 * 2
imprimir i

3. Leer un nmero entero y mostrar todos los divisores exactos del nmero comprendid
os entre 1 y el nmero ledo.

leer num
para i = 1 hasta num
si num % i == 0
imprimir i

4. Leer dos nmeros y mostrar todos los enteros comprendidos entre ellos.

leer num1, num2


si num1 < num2
para i = num1 hasta num2
imprimir i
sino
si num1 > num2
para i = num2 hasta num1
imprimir i
sino
imprimir "Ambos numeros son iguales"

5. Leer dos nmeros y mostrar todos los nmeros terminados en 4 comprendidos entre e
llos.

leer num1, num2


si num1 < num2
para i = num1 hasta num2
si (i - (i/ 10 * 10)) == 4
imprimir i
sino
si num1 > num2
para i = num2 hasta num1
si (i - (i/ 10 * 10)) == 4
imprimir i
sino
imprimir "Ambos numeros son iguales"

6. Leer un nmero entero de tres dgitos y mostrar todos los enteros comprendidos en
tre 1 y cada uno de los dgitos.

digit
leer num
si num > 99 y num < 1000
mientras num <> 0
digit = num - (num/10 * 10)
para i = 1 hasta digit
imprimir i
imprimir ""
num = num /10

7. Mostrar en pantalla todos los enteros comprendidos entre 1 y 100.

para i = 1 hasta 100


imprimir i

8. Mostrar en pantalla todos los pares comprendidos entre 20 y 200.

para i = 20 hasta 200, (paso 2)


imprimir i

9. Mostrar en pantalla todos los nmeros terminados en 6 comprendidos entre 25 y 2


05.

para i = 25 hasta 205


si (i - (i/ 10 * 10)) == 6
imprimir i

10. Leer un nmero entero y determinar a cunto es igual la suma de todos los entero
s
comprendidos entre 1 y el nmero ledo.

total = 0
leer num
para i = 1 hasta num
total = total + i
imprimir total

11. Leer un nmero entero de dos dgitos y mostrar en pantalla todos los enteros com
prendidos
entre un dgito y otro.
contador
leer num
si (num / 10) < (num - (num / 10 * 10 ))
para contador = (num / 10) hasta (num - (num / 10 * 10 ))
imprimir contador
sino
si (num / 10) > (num - (num / 10 * 10 ))
para contador = (num - (num / 10 * 10 )) hasta (num / 10)
imprimir contador
sino
si (num / 10) == (num - (num / 10 * 10 ))
imprimir "Son iguales"

12. Leer un nmero entero de 3 dgitos y determinar si tiene el dgito 1.


control
contador = 0
leer num
si num > 99 y num < 1000
mientras num <> 0
control = num - (num /10 * 10)
si control == 1
contador = contador +1
num = num / 10
si contador == 1
imprmir "El numero tiene el digito 1 vez"
sino
si contador >1
imprimir "El numero tiene el digito 1",total," veces"
si contador == 0
imprimir "El numero no tiene el digito 1"

13. Leer un entero y mostrar todos los mltiplos de 5 comprendidos entre 1 y el nme
ro ledo.

leer num
para i = 1 hasta num
si i % 5 == 0
imprimir i

14. Mostrar en pantalla los primeros 20 mltiplos de 3.

i = 0
contador = 0
mientras i < 21
contador = contador + 1
si contador % 3 == 0
imprimir contador
i = i + 1
15. Escribir en pantalla el resultado de sumar los primeros 20 mltiplos de 3.

total = 0
multiplo = 0
contador = 0
mientras contador <21
si multiplo % 3 == 0
contador = contador +1
total = total + multiplo
multiplo = multiplo + 1
imprimir total

16. Mostrar en pantalla el promedio entero de los n primeros mltiplos de 3 para u


n nmero n
ledo.
leer n
leer num
numero = 1
contador = 0
promedio = 0
mientras contador <> n //AC LA V
ARIABLE LIMITE DE LOS MULTIPLOS A CONTAR ES n
si numero % 3 == 0
contador = contador +1
promedio = promedio + numero
numero = numero +1
si numero > num
n = contador //EN CAS
O DE QUE, AL EVALUAR LOS MULTIPLOS, PARA ALCANZAR EL LIMITE n SEA NECESARIO SOBR
EPASAR
num = n -1 EL LIM
ITE DEL NUMERO INGRESADO(num), SE TIENE QUE MODIFICAR ESE LIMITE n PARA QUE SE D
ETENGA
si n < num HASTA
DONDE QUEDO EL CONTADOR DE MULTIPLOS CUANDO LOS NUMEROS EVALUADOS SOBREPASAN EN
1 A num
imprimir (promedio / contador) HACIEN
DO ASI QUE DICHA MODIFICACION TENGA EFECTO SOBRE EL CICLO ENTERO Y HAGA UN "BREA
K"
sino
imprimir "Los primeros", n, "Multiplos sobrepasan", num+1

17. Promediar los x primeros mltiplos de 2 y determinar si ese promedio es mayor


que los y primeros mltiplos de 5 para valores de x y y ledos.

leer x, y
leer numx, leer numy
numero = 1
contador = 0
promedio = 0
totaly = 0
totalx = 0
mientras contador <> x
si numero % 2 == 0
contador = contador +1
promedio = promedio + numero
numero = numero +1
si numero > numx
x = contador
numx = x -1
si x < numx
totalx = (promedio / contador)
imprimir totalx
sino
imprimir "Los primeros", x, "Multiplos sobrepasan"
numero = 1
contador = 0
promedio = 0
mientras contador <> y
si numero % 5 == 0
contador = contador +1
promedio = promedio + numero
numero = numero +1
si numero > numy
y = contador
numy = y -1
si y < numy
totaly = (promedio / contador)
imprimir totaly
sino
imprimir "Los primeros", y, "Multiplos sobrepasan"
si totalx > totaly
imprimir "el promedio de los x primeros multiplos de 2"

18. Leer dos nmeros entero y mostrar todos los mltiplos de 5 comprendidos entre el
menor y el
mayor.
leer num1, num2
si num1 < num2
para i = num1 hasta num2
si i % 5 == 0
imprimir i
si num2 < num1
para i = num2 hasta num1
si i % 5 == 0
imprimir i
si num1 == num2
imprimir "Los numeros son iguales"
19. Leer un nmero entero y determinar si es primo.

leer num
contador = 0
para i = 1 hasta num
si num % i == 0
contador = contador +1
si contador == 2
imprimir "Es primo"
sino
imprimir "No es primo"

20. Leer un nmero entero y determinar cuntos dgitos tiene.

leer num
mientras num <> 0
num = num /10
contador = contador +1
imprimir "El numero tiene", contador, "digitos"

21. Leer un nmero entero y determinar a cunto es igual al suma de sus dgitos.

leer num
total
numdig
mientras num <> 0
numdig = num - (num / 10 * 10)
total = total + numdig
num = num /10
imprimir total

22. Leer un nmero entero y determinar cuntas veces tiene el dgito 1.


contador = 0
leer num
mientras num <> 0
si num - (num / 10 * 10) == 1
contador = contador +1
num = num /10
imprimir "El numero ingresado tiene",total, "veces el numero 1"

23. Leer un nmero entero y determinar si la suma de sus dgitos es tambin un nmero pr
imo.

leer num
dig
total = 0
contador = 0
mientras num > 0
dig = num - (num/10 * 10)
total = total + dig
num = num/10
para i = 1 hasta total
si total % i == 0
contador = contador + 1
si contador == 2
imprimir "La suma de los digitos origina un numero primo"
sino
imprimir "La suma de los digitos no es un numero primo"
24. Leer un nmero entero y determinar a cunto es igual al suma de sus dgitos pares.

leer num
numdig
total = 0
mientras num <> 0
numdig = num - (num/10 * 10)
si numdig == numdig /2 * 2
total = total + numdig
num = num / 10
imprimir total

25. Leer un nmero entero y determinar a cunto es igual el promedio entero de sus dg
itos.

leer num
promedio = 0
digito
contador = 0
mientras num <> 0
digito = num - (num/10 * 10)
promedio = promedio + digito
contador = contador +1
num = num /10
imprimir "El promedio entero es", promedio/contador

26. Leer un nmero entero y determinar cul es el mayor de sus dgitos.

leer num
dig = 0
mayor = 0
mientras num <> 0
dig = num -(num/10 * 10)
si dig > mayor
mayor = dig
num = num/10
imprimir "El mayor dgito es", mayor
27. Leer 2 nmeros enteros y determinar cul de los dos tiene mayor cantidad de dgito
s.

leer num1, num2


contador1 = 0
contador2 = 0
mientras num1 <> 0
num1 = num1/10
contador1 = contador1 +1
mientras num2 <> 0
num2 = num2/10
contador2 = contador2 +1
si contador1 > contador2
imprimir "El primer numero tiene mayor cantidad de digitos"
sino
si contador2 > contador1
imprimir "El segundo numero tiene mayor cantidad de digitos"
sino
imprimir "Ambos numeros tienen igual cantidad de digitos"

28. Leer 2 nmeros enteros y determinar cual de los dos tiene mayor cantidad de dgi
tos primos.

dig1
dig2
contprimo1 = 0
contprimo2 = 0
contador1 = 0
contador2 = 0
leer num1, num2
mientras num1 > 0
contador1 = 0
dig1 = num1 - (num1/10 * 10)
para i = 1 hasta dig1
si dig1 % i == 0
contador1 = contador1 +1
si contador1 == 2 //OJO CON ESTA PARTE DEL
CICLO: SI METEMOS EL si contador1==2 DENTRO DEL si dig1%i== 0, ENTONCES
contprimo1 = contprimo1 +1 POR CADA CICLO SE CONT
ARA UN MULTIPLO DEL NUMERO Y EN UN MOMENTO SER 2, PARA LUEGO SER 3 SI NO ES PRIMO
,
PERO COMO ESTA DENTRO
DEL si dig%i== 0 IGUAL LO CONTARA COMO PRIMO CUANDO PASE A TENER EL VALOR 2,
num1 = num1 / 10 POR LO TANTO SUPONDR QU
E TODOS LOS DGITOS SON PRIMOS, AL SACRLO, SLO LOS QUE TENGAN SOLO 2 DIVISORES
EXACTOS SERN CONTADOS C
OMO "PRIMO", LUEGO AL VOLVER A INICIAR EL CICLO HAY QUE REINICIAR LA VARIABLE
CONTADOR A CERO PARA Q
UE PUEDA SER USADA PARA COMPROBAR EL PRXIMO DGITO
mientras num2 > 0
contador2 = 0
dig2 = num2 - (num2/10 * 10)
para i = 1 hasta dig2
si dig2 % i == 0
contador2 = contador2 +1
si contador2 == 2
contprimo2 = contprimo2 +1
num2 = num2 / 10
si contprimo1 > contprimo2
imprimir "El primer numero tiene mayor cantidad de primos(",contprimo1,"
)"
sino
si contprimo2 > contprimo1
imprimir "El segundo numero tiene mayor cantidad de primos(",con
tprimo2,")"
sino
imprimir "Ambos tienen igual cantidad de primos (",contprimo1,")"
29. Leer un nmero entero y determinar a cunto es igual el primero de sus dgitos.

leer num
mientras num >= 10
num = num/10
imprimir "El primer digito es", num

30. Leer un nmero entero y mostrar todos sus componentes numricos o sea aquellos p
ara
quienes el sea un mltiplo.
leer num
para i = 1 hasta num
si num % i == 0
imprimir num, "Es multiplo de", i
31. Leer nmeros hasta que digiten 0 y determinar a cunto es igual el promedio de l
os nmeros terminados en 5.

suma = 0
contador = 0
dig
leer num
mientras num <> 0
dig = num - (num/10 * 10)
si dig == 5
suma = suma + num
contador = contador + 1
leer num
si contador >0
imprimir "El promedio de los numeros que terminan en 5 es", (suma/contad
or)
sino
imprimir "No escribio numeros que terminen en 5"
32. Leer nmeros hasta que digiten 0 y determinar a cuanto es igual el promedio en
tero de los nmero primos ledos.

suma = 0
contador = 0
leer num
mientras num <> 0
contadorprim = 0
para i = 1 hasta num
si num % i == 0
contadorprim = contadorprim +1
si contadorprim == 2
suma = suma + num
contador = contador + 1
sino
imprimir num, "no es primo"
leer num
si contador > 0
imprimir "El promedio entero de todos los numeros primos es", (suma/cont
ador)

33. Si 32768 es el tope superior para los nmeros entero cortos, determinar cul es
el nmero primo mas cercano por debajo de l.
b = 1
mientras b <= 32768
cont = 0
para i = 1 hasta b
si b % i == 0
cont = cont +1
si cont == 2
prim = b
b = b + 1
imprimir primo

34. Generar los nmeros del 1 al 10 utilizando un ciclo que vaya de 10 a 1.


num = 10
mientras num > 0
print num
num = num -1
35. Leer dos nmeros enteros y determinar a cunto es igual el producto mutuo del pr
imer dgito
de cada uno.
prod
leer num1, num2
mientras num1 > 9
num1 = num1/10
mientras num2 > 9
num2 = num2/10
prod = num1 * num2
imprimir prod

36. Mostrar en pantalla la tabla de multiplicar del nmero 5.

para b = 1 hasta 5
para i= 1 hasta 10
imprimir b,"*",i,"=",(b * i)
imprimir ""

37. Generar todas las tablas de multiplicar del 1 al 10.

para b = 1 hasta 10
para i= 1 hasta 10
imprimir b,"*",i,"=",(b * i)
imprimir ""

38. Leer un nmero entero y mostrar en pantalla su tabla de multiplicar.


leer num
para i = 1 hasta 10
imprimir num, "*",i,"=",(num * 1)

39. Se define la serie de Fibonacci como la serie que comienza con los dgitos 1 y
0 y va sumando
progresivamente los dos ltimos elementos de la serie, as: 0 1 1 2 3 5 8 13 21 34..
.....
Utilizando el concepto de ciclo generar la serie de Fibonacci hasta llegar o sob
repasas el nmero 10000.

40. Leer un nmero de dos dgitos y determinar si pertenece a la serie de Fibonacci.


41. Determinar a cunto es igual la suma de los elementos de la serie de Fibonacci
entre 0 y 100.
42. Determinar a cunto es igual el promedio entero de los elementos de la serie d
e Fibonacci
entre 0 y 1000.
43. Determinar cuntos elementos de la serie de Fibonacci se encuentran entre 1000
y 2000.
44. Leer un nmero y calcularle su factorial.
45. Leer un nmero y calcularle el factorial a todos los enteros comprendidos entr
e 1 y el nmero
ledo.
46. Leer un nmero entero y calcular el promedio entero de los factoriales de los
enteros
comprendidos entre 1 y el nmero ledo.
47. Leer un nmero entero y calcular a cunto es igual la sumatoria de todos los fac
toriales de los
nmeros comprendidos entre 1 y el nmero ledo.
48. Utilizando ciclos anidados generar las siguientes parejas de enteros
0 1
1 1
2 2
3 2
4 3
5 3
6 4
7 4
8 5
9 5
49. Utilizando ciclos anidados generar las siguientes ternas de nmeros
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
6 2 3
7 3 1
8 3 2
9 3 3
50. Utilizando ciclos anidados generar las siguientes parejas de nmeros
0 1
1 1
2 1
3 1
4 2
5 2
6 2
7 2

También podría gustarte