Vous êtes sur la page 1sur 52

ESTRUCTURAS REPITITIVAS

1. Hallar el factorial de un número N utilizando la estructura para, mientras y repetir

Inicio Inicio Inicio


Leer n Leer n Leer n
i 1 i 1 fact 1
fact 1 fact 1 Para (i 1) hasta n hacer
mientras (i<=n) hacer Repetir fact fact*i
fact fact*i fact fact*i
i i+1 i i+1 fin_Para
fin_mientras Hasta que (i>n) Escribir fact
Escribir fact fin_Repetir Fin
Fin Escribir fact
Fin

2. Imprimir los 30 primeras potencias de 4, es decir 4 elevado a 1, 4 elevador a 2 con las


tres estructuras.

Inicio Inicio Inicio


Leer n Leer n Leer n
i 1 i 1 Para (i 1) hasta 30 hacer
Mientras (i<=30) hacer Repetir pot 4^i
pot 4^i pot 4^i
Escribir pot Escribir pot Escribir pot
i i+1 i i+1 Fin _Para
Fin _ Mientras Hasta que (i>30) Fin
Fin fin_Repetir
Fin

3. Calcular la suma de los n primeros enteros con las tres estructuras.

Inicio Leer n Inicio


Leer n i 1 Leer n
i 1 S 0 S 0
S 0 Repetir Para (i 1) hasta n hacer
Mientras (i<=n) hacer S S+1 S S+1
S S+1 i i+1
i i+1 Hasta que (i>n) Fin _Para
Fin _ Mientras Fin _ Repetir Escribir S
Escribir S Escribir S Fin
Fin Fin

Inicio
4. Diseñar un algoritmo para imprimir la suma de los números impares menores o iguales
que n. Utilice las tres estructuras.

Inicio Inicio Inicio


Leer n Leer n Leer n
Sim 0 Sim 0 Sim 0
i 1 i 1 Para (i 1) hasta n hacer
Mientras (i<=n) hacer Repetir Si resto (i/2)≠0 entonces
Si resto(i/2) ≠0 entonces Si resto (i/2)≠0 entonces Sim Sim+1
Sim Sim+1 Sim Sim+1 Fin_ Si
Fin _Si Fin_ Si Fin _Para
i i+1 i i+1 Escribir Sim
Fin _ Mientras Hasta que (i>n) Fin
Escribir Sim Fin _ Repetir
Fin Escribir Sim
Fin

5. Calcular el número máximo de una serie de 100 números. utilice as tres estructuras.

Inicio Inicio Inicio


Leer n Leer n Leer n
max n max n max n
i 1 i 1 Para (i 1) hasta 99 hacer
Mientras (i<=99) hacer Repetir
i i+1 i i+1 leer num
leer num leer num
Si (num>max) entonces Si (num>max) entonces Si (num>max) entonces
max num max num max num
Fin _Si Fin _Si Fin _Si
Fin _ Mientras Hasta que (i>99) Fin _ Para
Escribir max Fin _ Repeir Escribir max
Fin Escribir max Fin
Fin
6. Realizar un algoritmo que escriba los N primeros números de la serie de Fibonacci
1,2,3,5,8,13,21…, Utilice las tres estructuras.

Inicio Inicio Inicio


Leer n Leer n
fibo1 1 fibo1 1 Leer n
fibo2 2 fibo2 2
i 3 i 3 fibo1 1
Escribir fibo1, fibo2 Escribir fibo1, fibo2 fibo2 2
Mientras (i<=n) hacer Repetir Escribir fibo1, fibo2
fibo3 fibo1+fibo2 fibo3 fibo1+fibo2 Para (i 3) hasta n hacer
Escribir fibo3 Escribir fibo3 fibo3 fibo1+fibo2
fibo1 fibo2 fibo1 fibo2 Escribir fibo3
fibo2 fibo3 fibo2 fibo3 fibo1 fibo2
i i+1 i i+1 fibo2 fibo3
Fin _ Mientras Hasta que (i>n) Fin _ Para
Fin Fin _ Repetir Fin
Fin

7. Determinar la media de una lista indefinida de números positivos leídos por teclado y
estos son terminados con un número negativo o cero. Utilice las tres estructuras.

Inicio Inicio
suma 1 suma 1 Inicio
j 2 j 2 suma 1
i 1 i 1 j 2
m 0 m 0 m 0
Mientras (i<=j) hacer Repetir Para (i 1) hasta j hacer
Leer n Leer n Leer n
Si (n>0) entonces Si (n>0) entonces Si (n>0) entonces
j j+1 j j+1 j j+1
s s+n s s+n s s+n
m m+1 m m+1 m m+1
i i+1 i i+1 Fin _ Si
Fin _ Si Fin _ Si Fin_ Para
Fin_ Mientras Hasta que (i>j) Media s/m
Media s/m Fin_ Repetir Escribir Media
Escribir Media Media s/m Fin
Fin Escribir Media
Fin
8. Calcular los factoriales de n leído por teclado. Utilice las tres estructuras.

Inicio Inicio Inicio


Leer n Leer n Leer n
i 1 i 1 fact 1
fact 1 fact 1 Para (i 1) hasta n hacer
Mientras (i<=n) hacer Repetir fact fact*i
fact fact*i fact fact*i Escribir fact
Escribir fact Escribir fact
i i+1 i i+1 Fin _Para
fin _ Mientras Hasta que (i>n) Fin
Fin Fin _ Repetir
Fin

9. Calcular el factorial de los n números leídos por teclado. Utilice las tres estructuras.

Inicio Inicio Inicio


Leer n Leer n Leer n
i 1 i 1
Mientras (i<=n) hacer Repetir Para (i 1) hasta n hacer
Leer num Leer num Leer num
j 1 j 1 fact 1
fact 1 fact 1
Repetir Para (j 1) hasta num hacer
Mientras (j<=num) entonces fact fact*j fact fact*j
fact fact*j j j+1
j j+1 hasta que (j>num) Fin_ Para
Fin_ Mientras Fin_ Repetir
Escribir fact Escribir fact
Escribir fact i i+1
i i+1 Hasta que (i>n) Fin _ Para
Fin _ Mientras Fin _ Repetir Fin
Fin Fin

10. Se quiere hallar el producto de varios números positivos introducidos por teclado, de
manera que el proceso termina cuando se introduce un número negativo. Utilice las
tres estructuras.
Inicio Inicio Inicio
Leer n Leer n Leer n
Prod 1 Prod 1 Prod 1
Mientras (n>=0) hacer Repetir Para n>=0
Prod prod*n Prod prod*n Prod prod*n
Leer n Leer n Leer n
Fin _ Mientras Hasta que (n<0) Fin _ Para
Escribir Prod Fin _ Repetir Escribir Prod
Fin Escribir Prod Fin
Fin

11. Escriba un algoritmo que encuentre el primer divisor entero de un número, que
previamente se ha introducido por teclado. Utilice las tres estructuras.

Inicio
Leer n Inicio
i 2 Leer n
Mientras (resto (n/i) ≠0) hacer i 2
i i+1 Repetir
Fin _Mientras i i+1
Escribir i Hasta que (resto (n/i) = 0) hacer
Fin Fin _Mientras
Escribir i
Fin

12. Escriba un algoritmo que calcule el máximo de los números positivos introducidos por
teclado. Sabiendo que se introducen números desde teclado hasta teclear uno
negativo. El negativo no cuenta.
Inicio
Leer n
Max 0
Mientras (n>=0) hacer
Si (n > max) entonces
Max n
Fin _ si
Leer n
Fin _ mientras
Escribir max
Fin
13. Escriba un algoritmo que determine cuáles son los múltiplos de 5 comprendidos entre
1 y N.

Inicio
Leer N
i 1
Mientras (i<=N) hacer
Si resto(i/5)=0 entonces
Escribir i
Fin _Si
i i+1
Fin _Mientras
Fin

14. Escriba un algoritmo que encuentre al alumno de primer grado con mejor nota media.
Se sabe que este año entraron 150 alumnos y que en primero todos tienen 5
asignaturas. Dar el nombre y la nota media.

Inicio
i 1
max 0
Mientras (i<=150) hacer
Leer nombre
j 1
s 0
Mientras (j<=5) hacer
Leer nota
s s+nota
j j+1
Fin _Mientras
Media s/5
Si (media>max) entonces
Max media
Alumdes nombre
Fin _Si
i i+1
Fin _Mientras
Escribir max
Escrbir Alumdes
Fin
15. Escriba un algoritmo que calcule la suma de los divisores de cada número introducido
por teclado. Se termina cuando el número es negativo o 0.
Inicio
Leer n
Mientras (n>0) hacer
s 0
Para (i 1) hasta n hacer
Si (resto(n/i)=0 ) entonces
s s+1
Fin _Si
Fin_Para
Escribir s
Leer n
Fin _Mientras
Fin

16. Dado un capital c, a un interés i, durante m años, escriba un algoritmo que


calcule en cuanto se habrá convertido ese capital en m año, sabiendo que es
acumulativo.

V.E: C,I,M
V.S: CF

INICIO

Leer C,I,M
CI←C
j←1
Mientras (j<=M) hacer:

CF←CI+CI*I
Escribir j, CI, CF
CI←CF
j←j+1
Fin_mientras
FIN

17. Dada la siguiente formula:


n

 ((a  b) i
 3)  n
x i 1
n 1

 (2  a * (i  1))
i 2

Realice un algoritmo que calcule el valor de x pidiendo al usuario los valores de n, a,


b.

V.E: a, b, n
V.S: x

INICIO

Leer a, b, n

s←0
i←1
j←2
p←1
v←a-b

Mientras (i<=n)
s←v^i-3
i←i+1

Fin_mientras

Mientras (j<n)

p←(2+a*(j-1))*p
j←j+1

Fin_mientras

x=(s+n)/p
escribir x
FIN

18. La exponencial se puede aproximar mediante la serie


x x 2 x3 xn , Para N > 0
e =1+x+ + +...+
2! 3! n!
 Para un N dado

V.E: x, N
V.S: e

INICIO

Leer x,N
i←0
f←1
e←0

Mientras (i<=N) hacer


j←1;
e←x^i/f + e
f←1;

Mientras (j<=i) hacer


j←j+1
f←f*j
Fin_mientras
i←i+1
Fin_mientras

Escribir e
FIN

𝒙𝒏
 Para que N sea tal que < e (por ejemplo e = 10 - 4)
𝒏!

V.E: x, E
V.S: e

INICIO

Leer x,E

i←0;
f←1;
e←0;

Repetir
j←1
g← x^i/f+e
e←g+e
f←1
Mientras (j<=i)
j←j+1
f←f*j
Fin_mientras

i←i+1
Hasta que (g>=E)

Escribir e, g
FIN

 Escribir un algoritmos que calcule la exponencial de a según dicha fórmula,


utilizando n=10 y luego n=20.

V.E: x,
V.S: e

INICIO

Leer x
i←0
f←1
e←0

Mientras (i<=10) hacer


j←1;
e←x^i/f+e
f←1;

Mientras (j<=i) hacer


j←j+1
f←f*j
Fin_mientras
i←i+1
Fin_mientras

Escribir e
FIN

INICIO
Leer x
i←0
f←1
e←0

Mientras (i<=20) hacer


j←1;
e←x^i/f+e
f←1;

Mientras (j<=i) hacer


j←j+1
f←f*j
Fin_mientras
i←i+1
Fin_mientras

Escribir e
FIN

19.
20. Diseñar un algoritmo que determine los números primos entre dos números
dados.

V.E: n1, n2
V.S: Lista de num.

INICIO
Leer n1, n2
j←n1+1

Mientras (j<n2)
r←0
p←0
n←j
j←j+1
i←2

Mientras (i<n)
r←resto (n/i);
i←i+1;

Si (r=0)
p←p+1
Si (p=0)
Escribir n
Fin_si
Fin_si
Fin_mientras
Fin_mientras
FIN

21. Los empleados de una fábrica trabajan en dos turnos, diurno y nocturno. Se
desea calcular el jornal diario de acuerdo con los siguientes puntos:

 Las tarifas de las horas es de 50 nuevos soles


 La tarifa de las horas nocturnas es de 80 nuevos soles
 Caso de ser domingo la tarifa se incrementa en un 100% tanto en
el turno diurno y nocturno

V.E: ht, turno


V.S: s

INICIO
Leer turno
Según_sea turno hacer

Caso diurno

Para i←1 hasta 7 hacer


Según_sea i hacer:
Caso 1:
Leer ht
s←ht*50
Escribir “Lunes”, ht, s
Caso 2:
Leer ht
s←ht*50
Escribir “Martes”, ht, s
Caso 3:
Leer ht
s←ht*50
Escribir “Miércoles”, ht, s
Caso 4:
Leer ht
s←ht*50
Escribir “Jueves”, ht, s
Caso 5:
Leer ht
s←ht*50
Escribir “Viernes”, ht, s
Caso 6:
Leer ht
s←ht*50
Escribir “Sábado”, ht, s
Caso 7:
Leer ht
s←ht*100
Escribir “Domingo”, ht, s
Fin_según
Fin_para

Caso nocturno

Para i←1 hasta 7 hacer


Según_sea i hacer:
Caso 1:
Leer ht
s←ht*80
Escribir “Lunes”, ht, s
Caso 2:
Leer ht
s←ht*80
Escribir “Martes”, ht, s
Caso 3:
Leer ht
s←ht*80
Escribir “Miércoles”, ht, s
Caso 4:
Leer ht
s←ht*80
Escribir “Jueves”, ht, s
Caso 5:
Leer ht
s←ht*80
Escribir “Viernes”, ht, s
Caso 6:
Leer ht
s←ht*80
Escribir “Sábado”, ht, s
Caso 7:
Leer ht
s←ht*160
Escribir “Domingo”, ht, s
Fin_según
Fin_para
FIN
22. Diseñar el algoritmo que dado una lista números leídos por teclado, indique si
es par o es impar e imprima el total de números leídos, además el total de los
pares e impares.

V.E: a,n
V.S: mensaje, p, im

INICIO

Leer n

i←1
Repetir
Leer a
R←resto(a/2)

Si R=0, entonces
p←p+1
Escribir “Par”
Sino
im←im+1
Escribir “Impar”
Fin_si
Hasta que i>n

Escribir “El Total de números es“,n


Escribir “El total de pares es”,p
Escribir “El total de impares es”,im

FIN

23. Dado un número N, calcular la suma 5 +10 +15 + 20+ . . . +5* n

V.E: N
V.S: s

INICIO

Leer N
s←0;
Para i←1 hasta N hacer
s←5*i+s
Fin_para
Escribir s
FIN
24. Diseñar el algoritmo que encuentre (muestre) los números pares que hay
entre 100 y 1000.

V.E: N
V.S: Numeros pares

INICIO

Para i←100 hasta 1000 hacer


R←resto(i/2)
Si R=0, entonces
Escribir i
Fin_si
Fin_para
FIN

25. Diseñar el algoritmo que calcule la suma de los pares que hay entre dos
números dados.

V.E: a, b
V.S: s

INICIO

Leer a, b
s←0;
i←a+1
Mientras i<b hacer
R←resto(i/2)
Si R=0, entonces
s←s+i
Fin_si
i←i+1
Fin_para
FIN
26. Calcular los pagos mensuales de una hipoteca y el total a pagar. El programa
debe solicitar el capital, el interés anual y el número de años y debe escribir la
cuota a pagar mensualmente. Para calcular la cuota se utiliza la siguiente
fórmula: Sea C el capital del préstamo, R la tasa de interés mensual y N el
número de pagos. La cuota mensual viene dada por:

V.E: C, IA, NA
V.S: CU, PT

INICIO
Leer C, IA, NA

27. Cifrado de datos: dado un número de cuatro dígitos se reemplazará cada


dígito por (dígito +7) módulo 10. A continuación se intercambiará el primer
dígito por el tercero y el segundo por el cuarto, y ese será el número cifrado.
Nota: obtener el cociente mediante diferencias sucesivas.

V.E: n
V.S: m1, c1,d1,u1

INICIO

Leer n

o←n
m←0

Mientras o>=1000 hacer


z←o-1000
o←z
m←m+1
Fin_mientras

p←n-m*1000
c←0

Mientras p>=100 hacer


y←p-100
p←y
c←c+1
Fin_mientras
q←n-m*1000-c*100
d←0

Mientras q>=10 hacer


w←q-10
q←w
d←d+1
Fin_mientras

u←n-m*1000-c*100-d*10

m1← resto((m+7)/10)
c1← resto((c+7)/10)
d1← resto((d+7)/10)
u1← resto((u+7)/10)

Escribir m1,c1,d1,u1
FIN

28. Desarrolle el algoritmo de la bisección para el cálculo de la siguiente ecuación


no lineal.

f ( x)  sen( x)  cos(1  x 2 )  1

Se debe ingresar los valores de a, b, iteración máxima y un error mínimo


Para calcular el error relativo porcentual y comparar con el error mínimo, se
calcula con la siguiente formula.

xi1  xi
erp  x100
xi1

V.E: a, b, f, e
V.S: x

INICIO
Leer a, b, f, e

fa←sen(a)+cos(1-a^2)-1-f
fb←sen(b)+cos(1-b^2)-1-f

Si fa*fb<0, entonces

Repetir

c1←(b+a)/2
fc1←sen(c1)+cos(1-c1^2)-1-f
Si fb*fc1<=0, entonces
a←c1
Si no
b←c1
Fin_si
Hasta que abs(fc1<e/100)

Repetir

c2←(b+a)/2
fc2←sen(c2)+cos(1-c2^2)-1-f
Si fb*fc2>=0, entonces
b←c2
Si no
a←c2
Fin_si
Hasta que abs(fc2)<e/100

ff1← sen(c1)+cos(1-c1^2)-1
ff2← sen(c2)+cos(1-c2^2)-1

Escribir “La raíz aproximada por exceso es”,c1


Escribir “La raíz aproximada por defecto es”,c2
Escribir ("El valor aproximado de la función respectivamente es",ff1,ff2

Si no
Escribir “ERROR”
Fin_si
FIN

29. Del algoritmo del ejercicio 20 remplazar el paso 1 por la siguiente formula

f (b)(a  b)
c b
f (a)  f (b)
V.E: a, b, f, e
V.S: x

INICIO
Leer a, b, f, e

fa←sen(a)+cos(1-a^2)-1-f
fb←sen(b)+cos(1-b^2)-1-f

Si fa*fb<0, entonces

Repetir

c1←b-fb*(a-b)/(fa-fb)

fc1←sen(c1)+cos(1-c1^2)-1-f
Si fb*fc1<=0, entonces
a←c1
Si no
b←c1
Fin_si

Hasta que abs(fc1<e/100)

Repetir

c2← b-fb*(a-b)/(fa-fb)

fc2←sen(c2)+cos(1-c2^2)-1-f
Si fb*fc2>=0, entonces
b←c2
Si no
a←c2
Fin_si

Hasta que abs(fc2)<e/100

ff1← sen(c1)+cos(1-c1^2)-1
ff2← sen(c2)+cos(1-c2^2)-1

Escribir “La raíz aproximada por exceso es”,c1


Escribir “La raíz aproximada por defecto es”,c2
Escribir ("El valor aproximado de la función respectivamente es",ff1,ff2
Si no
Escribir “ERROR”
Fin_si
FIN

30. Desarrolle el algoritmo del trapecio que consiste en la siguiente formula.

n1
f ( xa )  2 f ( xi )  f ( xb )
I  (b  a) i 1
2n
Donde los valores de a y b es el intervalo de la integral definida y n es el
número de segmentos. Utilizar la siguiente función, para verificar los
resultados.

F(X) = 0.2 + 25 X - 200 X2 + 675 X3 - 900 X4 + 400 X5

V.E: a, b, n
V.S: I

INICIO
Leer a, b, n
s←0
fa←0.2 + 25*a – 200*a2 + 675*a3 – 900*a4 + 400*a5
fb←0.2 + 25*b – 200*b2 + 675*b3 – 900*b4 + 400*b5

Para i=1 hasta i<n hacer


xi=a+i*(b-a)/n
fxi ←0.2 + 25*xi – 200*xi 2 + 675*xi 3 – 900*xi 4 + 400*xi 5
s←fxi+s
Fin_para

I← (b-a)*(fa+2*s+fb)/(2*n)
Escribir I

FIN
31. Elabore el algoritmo de integración numérica de Simpson 1/3 que consiste de la
siguiente formula
n1 n2
f ( xa )  4  f ( xi )  2  f ( x j )  f ( xb )
i 1,3,5 j 2,4,6
I  (b  a)
3n
Donde los valores de a y b es el intervalo de la integral definida y n es el
número de segmentos pares.
Sea f(x) = x^2+2x+1
INICIO
Leer a, b, n,
f(a) ← a^2+2a+1
f(b) ← b^2+2b+1
Si (resto (n/2)=0) entonces:
h ← (b-a)/n
Sim ← 0
Spa ← 0
i←1
Mientras (i<=n) hacer
x ← a+h*i
f(x) ← x^2+2x+1
Si (resto (i/2)=0) entonces:
Spa ← Spa+f(x)
Sino
Sim ← Sim+f(x)
Fin_si
i ← i+1
Fin_mientras
I ← h*(f(a)+4*Sim+2*Spa+f(b))/3
Escribir I
Sino
Escribir “fuera de rango”
Fin_si
FIN

32. Elabore el algoritmo de integración numérica de Simpson 3/8 que consiste de la


siguiente formula

n1
f ( xa )  3 f ( xi )  f ( xb )
I  (b  a) i 1
8n
Donde los valores de a y b es el intervalo de la integral definida y n es el
número de segmentos impares.
Sea f(x) = x^2+2x+1
INICIO
Leer a, b, n
f(a) ← a^2+2a+1
f(b) ← b^2+2b+1
Si (resto (n/2) <>0) entonces:
h ← (b-a)/n
S←0
i←1
Mientras (i<=n) hacer:
x ← a+h*i
f(x) ← x^2+2x+1
S ← S+f(x)
i ← i+1
Fin_mientras
I ← h*(f(a)+3*S+f(b))/8
Escribir I
Sino
Escribir “fuera de rango”
Fin_si
FIN

33. Desarrollar un algoritmo para Aproximar la siguiente función y = seno(x)

INICIO
Leer x, n
i←1
fact ← 1
y←0
Mientras (i<=n) hacer:
pot ← (-1)^i*x^(2*i+1)
fact ← (2*i+1)*(2*i)*fact
y ← y+pot/fact
i ←i+1
Fin_mientras
y ← x+y
Escribir y
FIN

34. Desarrollar un algoritmo para Aproximar la siguiente función y = coseno(x)

INICIO
Leer x, n
i←1
fact ← 1
y←0
Mientras (i<=n) hacer:
pot ← (-1)^i*x^(2*i)
fact ← (2*i)*(2*i-1)*fact
y ← y+pot/fact
i ←i+1
Fin_mientras
y ← 1+y
Escribir y
FIN

35. Desarrollar un algoritmo para Aproximar la siguiente función y = e^x


INICIO
Leer x, n
i←1
fact ← 1
y←0
Mientras (i<=n) hacer:
pot ← x^i
fact ← i*fact
y ← y+pot/fact
i ←i+1
Fin_mientras
y ← 1+y
Escribir y
FIN

35. Desarrollar un algoritmo para Aproximar la siguiente función y = ln(1+x)

INICIO
Leer x, n
i←1
num ← 0
y←0
Si (x>-1) y (x<=1) entonces:
Mientras (i<=n) hacer:
pot ← (-1)^(i-1)*x^(i)
num ← num + 1
y ← y+pot/num
i ←i+1
Fin_mientras
Escribir y
Sino
Escribir “fuera de rango”
Fin_si
FIN

36. Dado n>0 hallar la suma


n
1
s
k 1 k
INICIO
Leer n
Si (n>0) entonces:
i←1
S←0
Mientras (i<=n) hacer
S ← S + 1/i
i ← i+1
Fin_mientras
Escribir S
Sino
Escribir “fuera de rango”
Fin_si
FIN
n
1
37. Se desea calcular la suma s   siendo los valores ak los elementos de la
k 1 ak

sucesión dada por ak= ak-1+ ak-2, para k > 2, con a1=1 y a2=1. El limite n ha de
leerse del teclado y se supone mayor que dos.
INICIO
Leer n
Si (n>2) entonces:
a1 ← 1
a2 ← 1
S←0
i←3
Mientras (i<=n) hacer:
a3 ← a1+a2
S ← S+1/a3
a1 ← a2
a2 ← a3
i ← i+1
Fin_mientras
Escribir S
Fin_si
FIN

n
1
38. Se desea calcular la suma s m
, siendo m y n dos números enteros
k 1 k

positivos que se suponen dados.


INICIO
Leer m, n
Si (m>0) y (n>0) entonces:
i←1
S←0
Mientras (i<=n) hacer
S = S+1/(i^m)
i ← i+1
Fin_mientras
Escribir S
Fin_si
FIN
1
39. Escriba los n primeros términos de la sucesión dada por an  (1  ) n , siendo n
n
un numero entero positivo dado.
INICIO
Leer n
Si (n>0) entonces:
i←1
Mientras (i<=n) hacer:
num ← (1+1/i)^i
Escribir num
i ← i+1
Fin_mientras
Fin_si
FIN

40. Escribir un programa que encuentre el logaritmo en cualquier base de un


numero positivo x. la base y el número, lo ingresara el usuario y el programa debe
continuar hasta que se ingrese un valor 0

log a ( x)
log10 ( x) 
log a (b)

INICIO
i←1
Repetir
Leer x, b
Si (x>0) y (b>0) y (b<>1) Entonces
S ← ln(x)/ln(b)
Escribir S
i ← i+1
Fin Si
Hasta que (x=0) o (b=0)
FIN

41. Dado un numero entero x mayor que uno se ha de escribir un uno si es primo y
un cero en caso contrario. Para ello ha de comprobar si x es divisible por algún
entero en el intervalo (1, x).
INICIO
Leer x
Si (x>1) entonces:
i← 1
s← 0
Mientras (i <= x) hacer
Si (resto(x/i)=0) entonces
s← s + i
Fin si
i← i+1
Fin mientras
p← s
q← x+1
Si (p=q) entonces
Escribir 1
Sino
Escribir 0
Fin_si
Fin si
FIN

42. Dado un numero entero mayor que uno se ha de escribir la lista de sus
divisores comprendidos en el intervalo (1, x).
INICIO
Leer x
Si (x>1) entonces
i← 1
Mientras (i <= x) hacer
Si (resto(x/i)=0) entonces
Escribir i
Fin si
i← i+1
Fin mientras
Fin si
FIN

43. Dado dos números enteros positivos p y q escriba un algoritmo que permita
hallar el máximo común divisor de los mismos
INICIO
Leer a, b
Para (i← 1) hasta a hacer
R1← (resto(a/i))
Para j← 1 hasta b hacer
R2← (resto (b/j))
Si (i=j) y (r1=0) y (r2=0) entonces
MCD ← i
Fin si
Fin para
Fin para
Escribir MCD
FIN

44. Calcule e imprima los números primos entre 1 y 100


n←1
S←0
Para (i ← 2) hasta 100 hacer
Mientras (n <= i) hacer
Si (resto (i/n)=0) entonces
S ← S+ n
Fin si
n ← n+1
Fin mientras
P←S
Q ← i+1
Si (P=Q) entonces
Escribir i
Fin si
n← 1
S←0
Fin Para
FIN

46. Mostrar los N primeros términos de la siguiente serie, donde N debe estar
entre 5 y 30
5, 7, 10, 14, 19
Variables de entrada: N
Variables de salida: Escribir

Inicio
Leer N
Si (N>=5) y (N<=30) entonces
i 1
t 5
Mientras (i<=N) hacer
t t+1
Escribir t
i i+1
Fin_mientras
Sino
Escribir “error”
Fin_si
Fin

47. Mostrar los N primeros términos de la siguiente serie, indicando además la


suma de los mismos.
7, 9, 12, 16, 21

Variables de entrada: N
Variables de salida: Escribir

Inicio
Leer N
s 7
i 1
t 7
repetir
t t+1
s s+t
Escribir t,s
i i+1
Hasta que (i>N)
Fin

48. Determinar la cantidad de términos que son múltiplos de 3 en los 200 primeros
términos de la siguiente serie
6, 8, 10, 12, 14

Variables de entrada: N
Variables de salida: Escribir

Inicio
Leer N
Si (N<=200) entonces
i 1
m 1
t 6
Mientras (i<=N) hacer
t t+2
Escribir t
i i+1
si (t mod 3 = 0) entonces
m m+1
Escribir m
Sino
Escribir “no múltiplo”
Fin_si
Fin_mientras
Sino
Escribir error
Fin_si
Fin

49. Contar y sumar los números enteros positivos leídos por teclado. Se termina
cuando se ingresa un número negativo.

Variables de entrada: N, num


Variables de salida: Escribir
Inicio
Leer N
i 0
t 0
Si (N>=0) entonces
Mientras (N>=0) hacer
s s+n
t t+i
leer num
n num
t t+1
Fin_mientras
Escribir s,t
Sino
Escribir “error”
Fin_si
Fin

50. Sume los números del 1 al 200 menos los múltiplos de 5.

Variables de salida: Escribir

Inicio
s 0
Para i 1 hasta 200 hacer
t i mod 5
Si ( t<>0 ) entonces
s s+1
Fin_si
Fin_para
Escribir s
Fin

51. Calcule la suma y el producto de los números impares comprendidos entre 11 y


111. Resolver con tres estructuras distintas.

Variables de salida: Escribir


Inicio
s 0 p 1
Para (i 11 hasta 111) hacer
t i mod 2
Si ( t<>0 ) entonces
s s+i
p p*i
Fin_si
Fin_para
Escribir s,p
Fin

Inicio
s 0 i 11
p 1
Mientras (i<=111) hacer
t i mod 2
Si ( t<>0 ) entonces
s s+i
p p*i
Fin_si
i i+1
Fin_mientras
Escribir s,p
Fin

Inicio
s 0 p 1
i 11 b 1
Mientras (b=1)
t i mod 2
Si ( t<>0 ) entonces
s s+i
p p*i
Fin_si
i i+1
si (i=112)
b 2
fin_si
Fin_mientras
Escribir s,p
Fin
52. Calcule el MCD (Máximo Común Divisor) de dos números A y B de acuerdo con
el algoritmo de Euclides.
Variables de entrada: P, Q, R
Variables de salida: Escribir

Inicio
Leer P, Q, R
R 0
Si (P=Q) entonces
Escribir P
Sino
Mientras (R=0) hacer
Si ( P>Q ) entonces
P (P-Q)
Sino
Q (Q-P)
p p*i
Fin_si
si (P=Q)
R 1
Escribir P
fin_si
Fin_mientras
Fin_si
Fin

53. Imprima las tablas de multiplicar desde P hasta Q, siendo P y Q dos valores
ingresados por el teclado, tal que P<=0 cada tabla debe tener el multiplicador
desde 1 hasta 12.

Variables de entrada: A, B
Variables de salida: T

Inicio
Leer A,B
Si (A<=0) entonces
Si (B>=A) entonces
Para i A hasta B hacer
Para j 1 hasta 12 hacer
T i*j
Escribir T
Fin_para
Fin_para
Sino
Escribir “error”
Fin_si
Sino
Escribir “error”
Fin_si
Fin

54. Imprima los números de Fibonacci menores que 1500. Los números de
Fibonacci se calcula como la suma de los 2 anteriores: 0, 1, 1, 2, 3, 5, 8, 13,…

Variables de entrada: P, Q
Variables de salida: Escribir
Inicio
Para i 1 hasta 1500 hacer
Si (i=1) entonces
F1 0
Escribir F1
sino
Si (i=2) entonces
F2 1
Escribir F2
Sino
F3 F1 + F2
F1 f2
F2 f3
Escribir f3
Fin_si
Fin_si
Fin_para
Fin
55. Imprima los 50 primeros números múltiplos de 3 anteriores al 500 y la suma
total de estos 50 primeros números.

Variables de salida: s

Inicio
s 0
Para (i 450 hasta 500) hacer
t i mod 3
Si ( t<>0 ) entonces
s s+i
p p*i
Fin_si
Fin_para
Escribir s
Fin

56. Calcule e imprima el número de términos necesarios para que el valor de la


siguiente. Sumatoria se aproxime lo más cercanamente a 1000 sin que lo
exceda.
7
k 2 1

k 1 k

Variables de entrada: p
Variables de salida: s
Inicio
s 0 i 1
p 1
Mientras (p=1) hacer
t (i^2+1)/i
s s+1
i i+1
Si ( t>100 ) entonces
p 0
Fin_si
Fin_mientras
Escribir s
Fin

57. Calcule el número máximo de términos de la serie de Fibonacci cuya suma no


exceda de 10000. Ingrese por teclado dos números como inicio de la serie.

Variables de entrada: F1, F2


Variables de salida: T
Inicio
Leer F1, F2
B 1
S F1+F2
T 2
Mientras (B=1) hacer
F3 F1+F2
S S + F3
Si (S<=10000)
F1 f2
F2 f3
T T+1
Escribir f3
Sino
B 0
Fin_si
Escribir T
Fin_mientras
Fin

58. Calcule e imprima los números primos entre 1 y 100

Variables de salida: Escribir

Inicio
s 0
Para (i 1 hasta 100) hacer
Para (j 1 hasta 100) hacer
t i mod 3
Si ( t<>0 ) entonces
s s+i
Fin_si
Fin_para
Si ( s=2) entonces
Escribir i
Fin_si
S 0
Fin_para
Fin

59. Permita ingresar el nombre del bien, la cantidad a depreciar y el número de


años de depreciación, la salida debe mostrar cada año y su depreciación. De
acuerdo con el método de la suma de los dígitos empleado en el análisis
financiero para calcular la depreciación. Por ejemplo suponga que un automóvil
de $20000 será depreciado durante un periodo de 5 años, la suma de los
dígitos del año: 1+2+3+4+5=15. De acuerdo con el método el primer año el bien
se deprecia 5/15, el segundo 4/15 y así sucesivamente.

Variables de entrada: N, C, A
Variables de salida: j,t

Inicio
Leer N, C, A
s 0 j 0
Para (i 1 hasta A) hacer
s s+i
Fin_para
Para (i A hasta 1) hacer
t (i/s)*C
j j+1
Escribir j,t
Fin_para
Fin

60. La esquina de un rectángulo debe estar sobre la curva elabore el algoritmo que
determine las coordenadas de la esquina del mayor rectángulo posible
(imprima las coordenadas (x, y) y el área máxima).
y  2 x2  18

Variables de salida: x,y, M

Inicio
y -2*(-3) ^2+18
A -3*y
M A
i -2,5
Mientras (i <=3 ) hacer
y (-2)*(i^2)+18
A i*y
Si ( A<0 ) entonces
A A+i
Fin_si
Si ( A>=M) entonces
M A
X1 i
Y1 y
Fin_si
i i+0,5
Fin_mientras
Escribir M, x,y
Fin

61) Diseñe un algoritmo que permita descubrir si dos enteros positivos son primos
entre sí, es decir si su máximo común divisor es uno.

VE = A,B
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: A,B
Si: (A<B), entonces
aux← B
B←A
A←aux
Mientras (B≠0), hacer:
R←resto (A/B)
A←B
B←R
FIN_MIENTRAS
Sino:
Mientras (B≠0), hacer:
R←resto (A/B)
A←B
B←R
FIN_MIENTRAS
FIN_SI
Si: (A=1) , entonces
Escribir:”Si son PESI”
Sino:
Escribir: “No son PESI”
FIN_SI
FIN

62) Permita ingresar las coordenadas (x, y) de un punto y el radio R, de un circulo con
centro en el origen. Luego de evaluar se debe decir si el punto esta fuera, dentro o
sobre el circulo.
VE = X, Y, R
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: X, Y, R
Si: (X^ (2) +Y^ (2) =R^ (2)), entonces
Escribir: “El punto esta sobre sobre el circulo”
Sino:
Si: (X^ (2) +Y^ (2) ≥ R^ (2)), entonces
Escribir: “El punto esta fuera del circulo”
Sino:
Escribir: “El punto esta dentro del circulo”
FIN_SI
FIN_SI
FIN
63) Dada una hoja de cartón de ancho (A) y largo (L). si se recortan cuadrados de las
esquinas, la porción restante puede doblarse para formar una caja. Determínese el
tamaño de los recortes de los cuadrados para producir una caja de volumen máximo
(imprimase el volumen máximo).
VE = x, y, z
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: x, y, z
Si: (x>100) y (y>100), entonces
Escribir: “error”
Sino:
Si: ((x^2) + (y^2)= (z^2)), entonces
Escribir: “1”
Sino:
Escribir: “0”
FIN-SI
FIN-SI
FIN
64) Permita ingresar cuatro valores reales, los primeros tres son longitud, ancho y
altura (en centímetros) de un prisma rectangular. El cuarto valor real es el peso ( en
gramos) del prisma. Escriba un programa para calcular e imprimir la densidad de este
objeto.

VE = a, b, c, d, e
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: a, b, c, d, e
Si: (a>b) y (a>c) y (a>d) y (a>e), entonces
Escribir: “El Mayor es a”, a
Sino:
Si: (b>c) y (b>d) y (b>e), entonces
Escribir: “El Mayor es b”,
Sino:
Si: (c>d) y (c>e), entonces
Escribir: “El Mayor es c”, c
Sino:
Si: (d>e), entonces
Escribir: “El Mayor es d”, d
Sino:
Escribir: “El Mayor es e”, e
FIN-SI
FIN-SI
FIN-SI
FIN-SI
FIN

65) Desarrollar el algoritmo de runge kutta 4to orden para dar una solución
aproximada de una ecuación diferencial de 1er orden con los siguientes pasos
1 Definiendo un problema de valor inicial
como:

2 calculando los K
3 calculando el valor de la iteración i+1

Ingrese como dato el error mínimo y compárelo con error relativo porcentual.
VE = p,q
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: p,q
Si: p<q, entonces
Escribir: “error”
Sino:
Si: (p mod q) =0, entonces
Escribir: “1”
Sino:
Escribir: “0”
FIN-SI
FIN-SI
FIN

66) Escribir un algoritmo que permita ingresar un entero n y que imprima si se trata o
no de un número capicúa

VE = N,P,Q,i
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: N
Mientras (i<N), hacer:
i=i*10
FIN_MIENTRAS
I=i/10
P= (n div i)
Q= (n mod 10)
Si: (P=Q), entonces
Escribir: “Si es Capicua”
Sino:
Escribir: “No es Capicua”
FIN-SI
FIN

67) Escriba un algoritmo que lea un número entero por teclado y escriba la tabla de
multiplicar de ese número
VE = N
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: N
i=0
Mientras (i<=10), hacer:
M=i*N
Escribir: N, “x” , i , “ = ”, M
i=i+1
FIN_MIENTRAS
FIN

68) Calcular la suma de las siguientes series:

Donde n es un número entero introducido por teclado.

VE = N
VS = A, B
PSEUDOCÓDIGO
INICIO
Leer: N
i ←1
A←0
B ←0
Mientras ( i <= N) , hacer :
Potencia ←2^( i )
A ← A+(1/ i )
B ← B + ( i /Potencia)
i←i+1
Fin_Mientras
Escribir: A, B
FIN

69) Realice un algoritmo que calcule y visualice el más grade, el más pequeño y la
media de n números (n>0). El valor de n se solicitará al principio del programa y los
números serán introducidos por el usuario.

VE = N, num
VS = Max, Min, Me
PSEUDOCÓDIGO
INICIO
Leer: N, num
Max ← num
Min ← num
i ←2
S ← num
Mientras ( i <=N), hacer:
Leer: num
Si: (Max<= num), entonces
Max ← num
Sino:
Si: (num<= Min) , entonces
Min ← num
FIN_SI
FIN_SI
S ← S + num
Fin_ Mientras
Me ← S/2
Escribir: Max, Min, Me
FIN

70) Realice un programa que determine si un número leído del teclado es primo o no

VE = N
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: N
i←1
P←0
Mientras ( i<= N), hacer:
R← resto (N/ i)
Si: R=0, entonces
P←P+1
Fin_Si
i←i +1
Fin_ Mientras
Si: P=2, entonces:
Escribir: N, “es primo”
Sino:
Escribir: N, “no es primo”
FIN_SI
FIN

71) Un número perfecto es un entero positivo, que es igual a la suma de todos los
enteros positivos (excluido él mismo) que son divisores del número. El primer
número perfecto es 6, ya que los divisores de 6 son 1, 2, 3 y 1 + 2 + 3 = 6. Escriba un
programa que lea un número entero positivo n y muestre por pantalla si ese número
es o no perfecto.

VE = N
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: N
Mientras ( i<=N), hacer
R← resto ( N/i)
Si: (R=0), entonces
P ←P+1
FIN_SI
i←i+1
Fin_ Mientras
Si: (P=2), entonces
Escribir: N,”Es Perfecto”
Sino:
Escribir: N, ”No es Perfecto”
FIN-SI
FIN

72) Realizar un programa que simule un juego de adivinar un número. El programa


pedirá al usuario dos números que representan el rango de valores entre los que se
encuentra el número a adivinar, así como el número de intentos para adivinar el
número. A continuación el programa generará un número aleatorio entre esos dos
números y el usuario deberá adivinarlo en el número máximo de intentos antes
indicado. Cada vez que el jugador introduce un número el programa le dice si es
mayor o menor y le indica cuantos intentos le quedan.
(Pista: (x + rand( ) % y) genera un numero aleatorio en el rango [x , y–1+x]).

VE = A, B, N°In, num
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: A, B, N°In
Y←B-A+1
Incognita← A + azar(Y)
i ← N°In
Mientras ( i>0),hacer:
Leer: num
i←i - 1
Si: (Incognita = num), entonces
Escribir: “Felicidades has adivinado el numero incognita, era:”, Incognita
i← - 1
Sino:
Si: (num>Incognita), entonces
Escribir: “El numero es Mayor, te quedan “, i,”intentos”
Sino:
Escribir: “El numero es Menor, te quedan “, i,”intentos”
FIN_SI
FIN_SI
FIN_MIENTRAS
Si: (i=0) , entonces
Escribir: “Su numero de intentos se a acabado el juego a Terminado”
FIN_SI
FIN

73) Realice un programa que pregunte aleatoriamente la tabla de multiplicar. El


programa debe indicar si la respuesta ha sido correcta o no (en caso que la respuesta
sea incorrecta el programa debe indicar cuál es la correcta). Una vez preguntado por
una multiplicación el programa debe preguntar si desea realizar otra. En caso
afirmativo preguntará aleatoriamente otra
VE = Respuesta, Consulta
VS = Mensaje
PSEUDOCÓDIGO
INICIO
i←1
Mientras (i>0), hacer:
A← azar (101)
B← azar (51)
M ← A*B
Escribir: “Cuanto es”, A,”*”,B
Leer: Respuesta
Si: (Respuesta=M), entonces
Escribir: “Es Correcto”
Sino:
Escribir: “Error, la Respuesta es: ”, M
FIN_SI
Escribir:”Si desea seguir escriba 1, sino 0”
Leer: Consulta
Si: (Consulta=0), entonces
i←0
FIN_SI
FIN_MIENTRAS
FIN

74) Modificar el ejercicio anterior de modo que el programa pregunta


aleatoriamente un total de n multiplicaciones siendo n un número dado por teclado.
En cada multiplicación el programa debe indicar si se ha acertado o no. Al final del
programa, éste deberá mostrar un resumen indicando el número de respuestas
correctas y erróneas, así como el porcentaje de aciertos y de fallos
VE = n
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: n
A←0
F←0
i←0
Mientras (i<=n), hacer:
B← azar (101)
C← azar (51)
M← B*C
Escribir: “Cuanto es”, B,”*”,C
Leer: Respuesta
Si: (Respuesta=M), entonces
Escribir: “Es Correcto”
A← A+1
Sino:
Escribir: “Error, la Respuesta es: ”,
F←F+1
FIN_SI
i=i+1
FIN_MIENTRAS
TOT←A+F
PA← (A/TOT)*100
PF← (A/TOT)*100
Escribir: “N° de aciertos :”, A ,”N° de fallos :”, F ,”PA : ”, PA ,”%, PF : “, PF , “ % ”
FIN

Ejercicio 74

Inicio
Leer n
C=o
I=o
Para i ← i hasta n hacer
a= random (1, 1000)
b= random (1, 1000)
r=a*b
escribir a*b=?
leer num
si (num=r)
escribir “correcto”
c=c+1
sino
escribir “incorrecto”
i=i+1
fin – si
escribir C,i
PC= (C/n)*100
Pi=(i/n)*100
Fin – para
Fin

Ejercicio 75

Inicio
Leer n,m
S=o
Si (m<n)
Para i ← 1 hasta m hacer
S = S +1
fin – para
sino
escribir “error”
Fin – si
Fin

Ejercicio 76

Inicio
leer n,m
S=0
Para i←1 hasta m hacer
S = S +n
Fin – para
Fin
Ejercicio 77

Ejercicio 78

Inicio
Leer n
S=0
I=1
C= 0
Mientras C < n
T = i mod 2
Si (t<>0)
S=S+i
C=C+1
Fin si
Fin – mientras
Escribir S
Fin

Ejercicio 79

Inicio
Leer n
Tem=n
Rev= 0
Rem=0
Mientras (tem <> 0)
Rem = tem mod 10
Rev = Rev*10 + Rem
Tem= Entero ( tem / 10)
Fin mientras
Escribir Rev
Fin