Академический Документы
Профессиональный Документы
Культура Документы
PRÁCTICA N° 04
CURSO: PROGRAMACIÓN
CICLO: III
INTEGRANTES:
2019
1. Hallar el factorial de un numero N utilizando la estructura mientras y repetir
Pseudocódigo (mientras):
V.E: n
V.S: fact
Inicio
Leer n
Si (n=0) entonces
fact ← 1
sino
i←1
fact ← 1
mientras (i=<n) hacer
fact ← fact*i
i ← i+1
fin-mientras
fin-si
escribir fact
fin
Pseudocódigo (repetir)
V.E: n
V.S: fact
Inicio
Leer n
Si (n=0) entonces
fact ← 1
sino
i←1
fact ← 1
repetir
fact ← fact*i
i ← i+1
hasta que i>n hacer
fin-si
escribir fact
fin
Diagrama de Flujo de Datos (mientras):
Inicio
Leer: n
n=o
Fact 11
I 1
Fact 1
i=<n
Fact fact*i
i i+1
Fin
Leer: n
n=o
Fact 11
I 1
Fact 1
Fact fact*i
i i+1
Fin
i>n
V.E:
V.S: a
Inicio
i←1
a(i) ← 4^i
i ← i+1
fin-mientras
escribir: a
fin
Pseudocódigo (Desde):
V.E:
V.S: a
Inicio
a(i) ← 4^i
fin-desde
escribir: a
fin
Pseudocódigo (repetir):
V.E:
V.S: a
Inicio
i←1
Repetir
a(i) ← 4^i
i ← i+1
escribir: a
fin
Inici
o
i
Diagrama de Flujo de Datos (mientras): ←
1
i=<
30
a(i) ← i
i ← i+1
Escribir: a
Fin
Inici
Diagrama de Flujo de Datos (repetir): o
i←
1
a(i) ← i
i ← i+1
i=<3
0
Escribir: a
Fin
Diagrama de Flujo de Datos (desde):
Inici
o
Desde i ←1
hasta 30
a(i)
←i
Escribir: a
Fin
V.E: n
V.S: s
Inicio
Leer: n
i←1
s←0
Mientras (i<=n)
s ← s+i
i ← i+1
fin-mientras
escribir s
fin
Pseudocódigo (repetir):
V.E: n
V.S: s
Inicio
Leer: n
i←1
s←0
Repetir
s ← s+i
i ← i+1
escribir s
fin
Pseudocódigo (desde):
V.E: n
V.S: s
Inicio
Leer: n
s←0
s ← s+i
fin-desde
escribir s
inicio
fin
Leer : n
Diagrama de Flujo de Datos (mientras):
I←1
(i<=n)
S←s+i
I←i+1
Escribir s
Fin
Leer : n
Desde i ←1
hasta n
S←s+i
Escribir s
Fin
inicio
Diagrama de Flujo de datos (repetir):
Leer : n
I←1
S←s+i
I←i+1
(i>n)
Escribir s
Fin
V.E: n
V.S: s
Inicio
Leer: n
i=1
s=0
Mientras (i<=n)
Si(mod(i,2)>0)
S=s+i
Fin-si
i=i+1
fin-mientras
escribir (s)
fin
Leer: n
i<=n
S=s+i
i=i+1
Escribir s
Fin
V.E: n
V.S: max
Inicio
Leer: n
i=1
max=n
mientras (i<=100)
Leer: n
si(max<n)
max=n
fin-si
i=i+1
fin-mientras
escribir max
fin
i<=1
00
Leer:
n
max
<n
max=
n
i=i+
1
Escribir
max
Fin
6. Calcular los factoriales de n leído por teclado. Utilice las tres estructuras
Pseudocódigo (mientras):
V.E: n
V.S: fact
Inicio
Leer n
Si (n=0) entonces
fact ← 1
sino
i←1
fact ← 1
fact ← fact*i
i ← i+1
fin-mientras
fin-si
escribir fact
fin
Pseudocódigo (repetir)
V.E: n
V.S: fact
Inicio
Leer n
Si (n=0) entonces
fact ← 1
sino
i←1
fact ← 1
repetir
fact ← fact*i
i ← i+1
fin-si
escribir fact
fin
Pseudocódigo (desde)
V.E: n
V.S: fact
Inicio
Leer n
Si (n=0) entonces
fact ← 1
sino
fact ← 1
Mientras I ← 1 hasta n hacer
fact ← fact*i
fin-desde
fin-si
escribir fact
fin
Inicio
Leer: n
n=o
Fact 1
I 1
Fact 1
i=<n
Fact fact*i
i i+1
Fin
Leer: n
n=o
I 1
Fact 1
Fact fact*i
i i+1
Fin
i>n
Inicio
Leer: n
n=o
Fact 1 Fact 1
Desde i 1
hasta n
Fact fact*i
Fin
7. Realizar un algoritmo que escriba los N primeros números de la serie de Fibonacci
1,2,3,5,8,13,21 (Una serie de Fibonacci se genera a partir de la suma de los dos
números anteriores)
Pseudocódigo:
V.E: n
V.S: a
Inicio
Fibo1←0
a(1) ←fibo1
fibo2←1
a(2) ←fibo2
i←3
mientras( i<=n)
fibo3←fibo1+fibo2
a(i) ←fibo3
fibo1←fibo2
fibo2←fibo3
i←i+1
fin-mientras
Inicio
escribir (a)
fin
Diagrama de Flujo de Datos: Leer: n
Fibo1←0
a(1) ←fibo1
fibo2←1
a(2) ←fibo2
i←3
(i<=n
)
fibo3←fibo1+
fibo2
a(i) ←fibo3
fibo1←fibo2
fibo2←fibo3
i←i+1
Escribir: a
Fin
8. Realizar un algoritmo que escriba los N primeros números de la serie Fibonacci (Nota
lea los dos primeros números de la serie)
Pseudocódigo:
V.E: n,fibo1,fibo2
V.S:fibo3
Inicio
Leer n.fibo1,fibo2
Si(n>2)
I←3
Escribir: fibo1, fibo2
Mientras (i<=n) hacer
Fibo3←fibo1+fibo2
Fibo2←fibo3
I←i+1
Escribir fibo3
Fin-mientras
Sino
Escribir: ’error’
Fin
Inicio
Diagrama de Flujo de Datos:
Leer: n,fibo1,fibo2
Si(n>2)
I←3
Escribir Escribir:
: ‘Error’ fibo1, fibo2
i<=n
I←3
Escribir:
fibo1, fibo2
Fin
9. 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.
Pseudocódigo:
V.E: n
V.S: b,m,i
Inicio
Leer n
S←0
I←0
Mientras (n>0)
i←i+1
b(i) ←n
s←s+n
fin-mientras
m←s/i
escribir b,i,m
fin
Diagrama de Flujo de Datos:
Escribir b,i,m
M=s/i
fin
Leer: n
Si(n>0)
b(i)=n
s=s+n
i=i+1
Inicio
10.- Leer: l, n
V.E: l,n
V.S: a,b l=” si ”
Inicio
Leer l,n
J=1
Mientras l=” si ”
Si n=0
Fact=1
Sino
I=1
Fact=1
Mientras (i<=n) n=0
I<=n
Fact=fact*i
I=i+1
Fin-mientras Fact=1
Fin-si Fact=fact*i
a(j)=n
b(j)=fact
j=j+1 a(j)=n
fin mientras b(j)=fact
escribir a,b Escribir a,b
fin
fin
x x 2 x3 xn
, Para N > 0 e =1+x+ + +...+
2! 3! n!
Para un N dado
xn
Para que N sea tal que < e (por ejemplo e = 10 - 4)
n!
Escribir un algoritmos que calcule la exponencial de a según dicha fórmula, utilizando
n=10 y luego n=20.
Inicio
Leer: n,x
11.-
V.E: n,x
V.S: expo
Inicio fact=1
Leer n,x
i=1
fact=1
s=1
mientras (i<=n) hacer
pot=x^i (i<=n) expo=s
fact=fact*i
s=s+pot/fact
i=i+1
fin-mientras pot=x^i
expo=s fact=fact*i
escribir expo s=s+pot/fact
fin
Escribir
expo
fin
12. Diseñar un algoritmo que determine los números primos entre dos números dados.
13. Los empleados de una fábrica trabajan en dos turnos, diurno y nocturno. Se desea
calcular el jornal diario en una semana 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
13.- Inicio
V.E: d,hp,hn
Leer: d,hp,hn
V.S: s
Inicio (i<=hd)
Leer d,hp,hn
i=1
s=0
si (d=7) s=s+100
mientras (i<=hd) (i<=hn)
s=s+100
i=i+1 (i<=hd)
s=s+160
fin-mientras s=s+50
i=1
mientras (i<=hn)
s=s+160 Escribir d
i=i+1
fin
fin-mientras
sino
mientras (i<=hd)
s=s+50
i=i+1
fin-mientras
escribir d
fin
14. 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. Inici
o
14.-
Leer: a,b,j,k
V.E: l,n
V.S: a ,b, j, k
(l=”si”)
Inicio
Leer l,n
i=0
j=0
k=0
sino
k=k+1
fin
b (i)=”impar”
b (i)=str2num(x)
fin-si
escribir a,b,j,k
fin
V.E: n
Leer: n
(i<=n)
Inicio
V.S: s
Inicio
Leer n
I=1 S=5*n
S=1
Mientras (i<=n)
S=5*n fin
I=i+1
Fin-mientras
Escribir s
Fin
16. Diseñar el algoritmo que encuentre (muestre) los números pares Inicio
que hay entre 100 y
1000.
n=[]
N=[]
para i=100:1000
si mod (i,2)==0
n=[n,i]
Fin-si
Fin-para
Escribir n
fin n=[n,i]
i=100:1000
si mod (i,2)==0
Escribir n
fin
17. Diseñar el algoritmo que calcule la suma de los pares que hay entre dos números
dados.
17.-
V.E: i,s
V.S:r
Leer: i,s
Para p=(i):s
Inicio
Inicio
Leer i,s
r=0
para p=(i):s
si (mod(p,2)==0)
(mod(p,2)==0
r=r+p
)
fin-si
fin-para r=r+p
escribir r
Escribir r
fin
18. ¿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:
18). Inicio
V.S.: CU
Inicio
V.E.: C, IAv, NA, N
Leer C, IA, NA, N V.S.: CU
R (IA*100)/12
CU (R*C)/(1-(1/(1+R))^N)
Escribir: CV
Leer C, IA, NA, N
Fin R (IA*100)/12
Escribir: CV
Fin
Y el interés mensual será: interés anual / 100 /12
19. 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.
20. 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
xi1 xi
erp x100
xi 1
V.E: a, b, f, e
V.S: x
PSEUDOCODIGO:
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
Inicio
20.
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
Error
Repe
tir
c2←(b+a)/2
fc2←sen(c2)+cos(
1-c2^2)-1-f
Si
fb*fc2>=0,
entonces
b←c2
a←c2
h( f ( x0 ) 2 f ( x1 ) 2 f ( x2 ) ... 2 f ( xn 1 ) f ( xn ))
It
2
ba
h
n
a = f (xo)
b = f (xn)
Pseudocódigo:
V.E.: a, b, n
V.S.: I
Leer a, b, n
Fa←0.2+25*a-200*a^2+675*a^3-900*a^4+400*a^5
Fb←0.2+25*b-200*b^2+675*b^3-900*b^4+400*b^5
h←(b-a)/n
i←1
sma←0
mientras(i<=n)hacer
x←a+i*h
fx←0.2+25*x-200*x^2+675*x^3-900*x^4+400*x^5
sma←sma+fx
i←i+1
fin-mientras
I←(fa+2*sma+fb)*h/2
Escribir(I)
Fin
Diagrama de Flujo:
Inicio
Leer
a, b, n
Fa←0.2+25*a-200*a^2+675*a^3-900*a^4+400*a^5
Fb←0.2+25*b-200*b^2+675*b^3-900*b^4+400*b^5
h←(b-a)/n
i←1
sma←0
i<=n
x←a+i*h
I←(fa+2*sma+fb)*h/2 fx←0.2+25*x-200*x^2+675*x^3-900*x^4+400*x^5
22. Desarrolle el algoritmo del trapecio que consiste en la siguiente formula.
n1
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
Pseudocódigo:
V.E.: a, b, n
V.S.: I
Leer a, b, n
Fa←0.2+25*a-200*a^2+675*a^3-900*a^4+400*a^5
Fb←0.2+25*b-200*b^2+675*b^3-900*b^4+400*b^5
h←(b-a)/n
i←1
sma←0
mientras (i<=n) hacer
x←a+i*h
fx←0.2+25*x-200*x^2+675*x^3-900*x^4+400*x^5
sma←sma+fx
i←i+1
fin-mientras
I←(fa+2*sma+fb)*h/2
Escribir(I)
Fin
Inicio
Leer
a, b, n
Fa←0.2+25*a-200*a^2+675*a^3-900*a^4+400*a^5
Fb←0.2+25*b-200*b^2+675*b^3-900*b^4+400*b^5
h←(b-a)/n
i←1
sma←0
i<=n
x←a+i*h
fx←0.2+25*x-200*x^2+675*x^3-
900*x^4+400*x^5
I←(fa+2*sma+fb)*h/2
sma←sma+fx
i←i+1
23. Elabore el algoritmo de integración numérica de Simpson 1/3 que consiste de la
siguiente formula
n1 n2
f ( xa ) 4 f ( xi ) 2 f ( x j ) f ( xb )
i 1,3,5 j 2,4,6
I (b a )
3n
V.S.: I
Leer a, b, n
Fa ← a^2+2*a-4
Fb ← b^2+2*b-4
h←(b-a)/n
i←1
Sm3←0
Sn3←0
mientras (i<=n) hacer
x←a+i*h
fx←x^2+2*x-4
si resto (i/3)=0 y resto (i/2)~=0 entonces
sm3←sm3+fx
sino
sn3←sn3+fx
fin-si
i←i+1
fin-mientras
I←[(fa+4*sm3+2*sn3+fb)*h/3]
Fin
Diagrama de flujo.
inicio
Leer a, b, n
i←i+1
Fa ← a^2+2*a-4
Fb ← b^2+2*b-4
h←(b-a)/n
i←1
Sm3←0
Sn3←0
(i<=n)n
)
x←a+i*h
I←[(fa+4*sm3+2*sn3+fb)*h/3] fx←x^2+2*x-4
si resto (i/3)=0
y resto (i/2)~=0
24. Elabore el algoritmo de integración numérica de Simpson 3/8 que consiste de la
siguiente formula
b 3h n 1 n 3
f ( x)dx I f ( x0 ) 3b
a f ( xi ) 2 f ( xi ) f ( xn )
a 8 h i 1,2,4,5,... i 3,6,9,...
n
V.E.: a, b, n
V.S.: I
Leer a, b, n
Fa ← a^2+2*a-4
Fb ← b^2+2*b-4
h←(b-a)/n
i←1
Sm3←0
Sn3←0
mientras (i<=n) hacer
x←a+i*h
fx←x^2+2*x-4
si resto (i/3)=0 y resto (i/2)~=0 entonces
sm3←sm3+fx
sino
sn3←sn3+fx
fin-si
i←i+1
fin-mientras
I←[(fa+3*sn3+2*sm3+fb)*3*h/8]
Fin
Diagrama
inicio
Leer a, b, n
i←i+1
Fa ← a^2+2*a-4
Fb ← b^2+2*b-4
h←(b-a)/n
i←1
Sm3←0
Sn3←0
(i<=n)
x←a+i*h
I←[(fa+3*sn3+2*sm3+fb)*3*h/8] fx←x^2+2*x-4
si resto (i/3)=0
y resto (i/2)~=0
25. Elabore el algoritmo de integración numérica de Simpson 3/8 que consiste de la
siguiente formula
n1
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 s el número de
segmentos es 3.
V.E.: a, b, n
V.S.: I
Leer a, b, n
Fa ← a^2+2*a-4
Fb ← b^2+2*b-4
h←(b-a)/n
i←1
Sma←0
mientras (i<=n) hacer
x←a+i*h
fx←x^2+2*x-4
sma←sma+fx
i←i+1
fin-mientras
I←[(fa+3*sma +fb)*h/8]
fin
Diagrama de flujo.
Inicio
Leer
a, b, n
Fa ← a^2+2*a-4
Fb ← b^2+2*b-4
h←(b-a)/n
i←1
Sma←0
i<=n
x←a+i*h
fx←x^2+2*x-4
sma←sma+fx
Pseudocódigo
V.E.: x, n
V.S: sen
Leer x, n
fact←1
i←0
n←n*2+1
fact←fact*1
si resto (i/2)=0
sino
a←(-1^(i+1))
b←(x^i)*fact
fin-si
i←i+1
sen←x+a*b
fin-mientras
escribir(sen)
Diagrama de flujo:
inicio
Leer x, n
fact←1
i←0
n←n*2+1
(i<=n)
escribir(sen) fact←fact*1
si resto
(i/2)=0
a←(-1^(i+1))
b←(x^i)*fact
i←i+1
fin
Pseudocódigo.
27. INICIO
Leer x , n
i 1
fact1
y0
mientras(i<=n)hacer:
pot(-1)^i*X^(2*i)
fact(2*i)* (2*i-1)*fact
iy+pot/fact
ii+1
Fin mientras
Y1+y
Escribir :y
FIN
Pseudocódigo:
V.E.: n,x
Si x0
e1
Sino i 1
e 1
fact 1
Mientras (i <=n)
Fact fact*i
e e + ((x^i)/fact)
i i+1
Fin-mientras
Fin-si
Escribir : e
Pseudocódigo:
Inicio
V.E.: n,x
Si x == 0
E0
Sino
I1
e0
Mientras (i<=n)
ee+ ((-1)^(i-1))*(x^i)/i)
Fin-si
Fin-mientras
Escribir : (e)
V.E.: x,n
I 1
fact= 1
rexp (a)
Si (x==a)
Escribir : (r)
Sino
Mientras (i<=n)
Fact i*fact
r r + (exp(a)*((x-a)^i))/fact
i i+1
Fin- mientras
Escribir: (‘e^x es igual a ‘)
Fin-si
Escribir: r
e a ( x a ) e a ( x a ) 2 e a ( x a )3 ea ( x a) n
un e e ...
x a
31. Desarrollar 1! 2! 3! n!
algoritmo para
Aproximar la siguiente función y = Ln(a + x)
( x b) ( x b) 2 ( x b)3 (1) n ( x b) n
ln(a x ) ln( a b) ...
(a b) 2( a b) 2 3( a b) 3 n ( a b) n
Pseudocódigo:
V.E.: a,b,x,n
si x==b
Y log(a+b)
Sino
Y log(a+b)
Mientras i 1:n
Y1 ((-1)^(i+1)*(x-b)^i)/(i*(a+b)^i)
Yy+y1
Fin-mientras
Fin-si
Escribir ‘r’
x x2 x3 (1) n x n
L n(a x) L n(a ) 2
3
...
a 2( a) 3(a) n( a ) n
Pseudocódigo:
V.E.: x,n,a
Si x==0
Slog(a)
Sino
Slog(a)
Mientras i1:n
f(((-1)^(i+1))*(x^i))/(n*(a^i))
s= s+f
fin – mientras
Fin-si
Escribir: s
1 x x3 x5 x 2 n1
y L n( ) 2( x ... )
Pseudocódigo:
1 x 3 5 2n 1
V.E.: x,n
Si x==0
Y0
Escribir:y
Sino
Si (x>-1)y(x<1)
Y=0
Mientras i1:n
X1= x^(2*j-1)/(2*j-1)
Y=y+2*x1
Fin-mientras
Escribir: y
Sino
Escribir:’indeterminado’
Fin-si
Fin
Pseudocódigo:
V.E.: n
S=0
Mientras k1:n
Ss+(1/k)
Fin-mientras
Escribir (s)
n
1
s
k 1 ak
35. Se desea calcular la suma siendo los valores ak los elementos de la 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.
Pseudocódigo:
Inicio
Leer: n
s←0
s←s+1/k
fin-desde
escribir: s
fin
Escribir: s
Leer: n
Fin
s←0
Inicio
s ← s + 1/k
n
1
s
hacer
m
36. Se desea calcular la suma k 1 k , siendo m y n dos números enteros positivos que
se suponen dados.
Pseudocódigo:
Inicio
Leer: m , n
s←0
s ← s + 1/(k^m)
Fin-desde
fin
Escribir: s
Inicio
Leer: n,m
s←
Diagrama de Flujo de Datos:
0
Desde k ← 1 hasta n
hacer
s ← s + 1/(k^m)
Escribir: s
Fin
1
an (1 ) n
37. Escriba los n primeros términos de la sucesión dada por n , siendo n un
Leer: n
s←0
s ← s + (1+1/i) ^i
Fin-desde
Fin
Leer: n
s←0
Desde k ← 1 hasta n
hacer
s ← s + (1+1/i) ^i
Escribir: s
Fin
38. Escribir un programa que imprima las n primeras líneas de pascal (n se
ingresa por teclado, además utilice las combinaciones para calcular cada coeficiente)
1
11
121
1331
14641
Pseudocódigo:
Inicio
Leer n
a(i,1) ←1
a(i,i) ←1
fin – desde
a(i,j)=a(i-1,j-1)+a(i-1,j)
Inicio
fin - desde
Leer: n
escribir= a
fin
a(i,1)←1
a(i,i)←1
desde i←3
hasta n
desde j←2
hasta i-1
Escribir: a
a(i,j)=a(i-1,j-1)+a(i-1,j)
Fin
39. Escribir un programa que halle los logaritmos de una base a otra base, se conoce el
número positivo X. la base a y la otra base b, estos deben ser mayores que uno y
diferente de uno. El programa debe terminar hasta que se ingrese un valor X igual que
0 log a ( x)
log b ( x)
log a (b)
Pseudocódigo:
Leer : n
P←0
p← p + 1
fin- desde
si p←0 entonces
escribir = “1”
sino
escribir = “0”
s ← s + (1+1/i) ^i
Escribir: s
Fin
40. 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).
Pseudocódigo:
Inicio
Leer: n
c←0
Si (n mod j = 0) entonces
c←c+1
Fin – si
Fin – desde
Si c=2 entonces
r←1
Sino
r←0
Fin – si
Escribir: r
Fin
Inicio
Leer:
n
Diagrama de Flujo de Datos: c←
0
Desde j ← 1 hasta n
hacer
n mod j =
0
c←c+
1
c=2
r←0 r←1
Escribir:
r
Fin
41. Dado un numero entero mayor que uno se ha de escribir la lista de sus divisores
comprendidos en el intervalo (1, x).
Pseudocódigo:
Inicio
Leer: n, x
i←1
Si (n mod i = 0) entonces
a(i) ← i
Fin – si
Fin – mientras
a(a=0) ← []
Escribir: a
Fin
a(i) ← i
a(a=0) ← []
Mientras i <=x
Escribir:
n mod i =
Leer: n,
hacer
Fin
Inicio
a
i←
x
0
1
42. Dado dos números enteros positivos p y q escriba un algoritmo que permita hallar el
máximo común divisor de los mismos
Pseudocódigo:
Inicio
Leer: p, q
mcd ← i
Fin – si
Fin – desde
Escribir: mcd
Fin
mcd ← 1
(p mod 1 = 0) y (q mod i =
Desde j ← 1 hasta p
Leer: p,
Escribir:
hacer
Inicio
mcd
0)
Fin
q
A ← []
Si isprime(i) = 1
A ← [A, i]
Fin – si
Fin – desde
Escribir: A
Fin
Diagrama de Flujo de Datos:
A ← [A, i]
Desde j ← 2 hasta 100
Escribir: A
isprime(i) =
A ← []
hacer
Fin
Inicio
44. Queremos un algoritmo que nos permita generar la siguiente serie: 1, 4, 9, 16, 25, 36,
49, 64, 81,… de n términos.
Pseudocódigo:
Inicio
Leer: n
f1 ← 1
a(1) ← f1
f2 ← f1 + (2*i-1)
a(i) ← f2
f1 ← f2
Fin - desde
Escribir: a
Fin
Diagrama de Flujo de Datos:
Desde i ← 2 hasta n
f2 ← f1 + (2*i-
Escribir:
a(i) ← f2
hacer
f1 ← f2
a(1) ←
f1 ← 1
Inicio
Fin
Leer:
a
f1
1)
n
45. Mostrar los N primeros términos de la siguiente serie, donde N debe estar entre 5 y
30
5, 7, 10, 14, 19
Pseudocódigo:
Inicio
Leer: n
f1 ← 5
a(1) ← f1
f2 ← f1 + i
a(i) ← f2
f1 ← f2
Fin – desde
Escribir: a
Sino
Escribir: ‘Error’
Fin – si
Fin
Escribi
‘Error’
r:
n>5 y
Inicio
n<30
Leer:
n
Fin
Desde i ← 2 hasta n
f2 ← f1 + i
a(i) ← f2
f1 ← f2
a(1) ←
f1 ← 1
Escribir:
hacer
f1
a
46. Mostrar los N primeros términos de la siguiente serie, indicando además la suma de
los mismos.
7, 9, 12, 16, 21
Pseudocódigo:
Inicio
Leer: n
f1 ← 5
a(1) ← f1
s ← f1
f2 ← f1 + i
s ← s + f2
a(i) ← f2
f1 ← f2
Fin – desde
Escribir: a, s
Fin
Escribir: a,
f2 ← f1 + i
s ← s + f2
a(i) ← f2
a(1) ←
hacer
f1 ← 1
s ← f1
f1 ← f2
Inicio
Leer:
Fin
s
f1
n
47. 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
Pseudocódigo:
Inicio
f1 ← 6
a(1) ← f1
i←i
n←0
i ← i+1
Si f1 mod 3 =0 entonces
n←n+1
Fin – si
Si i <=200 entonces
f2 ← f1 + 2
a(i) ← f2
f1 ← f2
Fin – si
Fin – mientras
Escribir: a, n
Fin
Diagrama de Flujo de Datos: Inici
o
f1 ← 6
a(1) ← f1
i←1
n←0
i←i+
1
f1 mod 3
=0
n←n+
1
i <=
200
f2 ← f1 + 2
a(i) ← f2
f1 ← f2
Escribir: a,
s
Fin
48. Contar y sumar los números enteros positivos leídos por teclado. Se termina cuando
se ingresa un número negativo.
Pseudocódigo:
Inicio
Leer: n
i←0
s←0
s←s+n
i←i+1
Leer: n
Fin – mientras
Escribir: i, s
Fin Inicio
Diagrama de Flujo de Datos: Leer:
n
i←0
s←0
Mientras n >=0
hacer
i←i+1
s←s+
n
Leer:
n
Escribir: i,
s
Fin
s←0
Si i mod 5 > 0
s←s+i
Fin – si
Fin – desde
Escribir: s
Fin
Escribir: s
i mod 5 >
hacer
s←0
Fin
Inicio
50. Calcule la suma y el producto de los números impares comprendidos entre 11 y 111.
Resolver con tres estructuras distintas.
Pseudocódigo:
Inicio
s←0
p←1
i ← 11
s←s+i
p ← p*i
i←i+2
Fin – mientras
Escribir: s, p
Fin
s←0
p←1
i←
11
s←s+i
p ← p*i
i←i+2
Escribir: s,
p
Fin
51. Calcule el MCD (Máximo Común Divisor) de dos números A y B de acuerdo con el
algoritmo de Euclides.
Pseudocódigo:
Inicio
Leer: a, b
r ← a mod b
b←r
r ← a mod b
Fin – mientras
Escribir: b
Fin
r ← a mod b
Leer: a, b
Leer: a, b
a←b
b←r
Inicio
Fin
52. 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.
Pseudocódigo:
Inicio
Leer: p, q
Si p<=0 entonces
Escribir: ‘Error’
Sino
B ← []
a(i) ← j*i
Fin – desde
b ← [b, a]
Fin – desde
Fin – si
Escribir: b
Fin
Leer:
p<=0
Incio
b ← [b, a]
Escribir:
Escribir:p, q
Fin b“Error”
53. 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,…
Pseudocódigo:
Inicio
fibo1 ← 0
a(1) ← fibo1
fibo2 ← 1
a(2) ← fibo2
fibo3 ← 0
i←3
Si fibo3<= 1500
fibo1 ← fibo2
fibo3 ← fibo1 +
fibo2
fibo3<=1
500
fibo1 ←
fibo2
fibo2 ←
fibo3
a(i) ←
fibo3
i ← i+1
Escribir
:a
Fin
54. Imprima los 50 primeros números múltiplos de 3 anteriores al 500 y la suma total de
estos 50 primeros números.
Pseudocódigo:
Inicio
i←1
n←1
s←0
Si (i mod 3 = 0) entonces
a(i) ← i
Fin –si
i ← i+1
Fin – mientras
i←1
Si (i mod 3 = 0) entonces
b(i) ← i
s ← s + b(i)
n←n+1
Fin – si
i←I+1
Fin – mientras
a(a=0) ← []
Escribir: s, a
Inicio
i←1
Fin n←1
s←0
i mod 3 = 0
Diagrama de Flujo de Datos:
a(i) ← i
i←i+1
i←1
i mod 3 = 0
b(i) ← i s
← s + b(i) n
←n+1
i←i+1
a(a=0) ← []
Escribir: s, a
Fin
55. 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.
n
k 2 1
k 1 k
Pseudocódigo:
Inicio
n←0
s←0
k←0
k1 ← (k^2 +1)/k
s ← s + k1
n ← n+1
k ← k+1
Fin – mientras
Escribir: n
Fin
k1 ← (k^2
+1)/k
s ← s + k1
n ← n+1
k ← k+1
Escribir:
n
Fin
Leer: n
s←0
s ← s+i
Fin – desde
p ← (n/2)*(n+1)
Escribir: s, p
Fin
(n/2)*(n+1)
Escribir: s,
s←s+
Fin
Leer:
p←
s←0
Inicio
p
i
n
hacer
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.
Pseudocódigo:
Inicio
a(1) ← fibo1
a(2) ← fibo2
i←3
s ← fibo1 + fibo2
p ← 10000
fibo3 ← 0
Si fibo3 < p
p ← p – fibo3
s ← s + fibo3
a(i) ← fibo3
fibo1 ← fibo2
fibo2 ← fibo3
i←i+1
Fin – si
Fin – mientras
Escribir: a
Fin
Inicio
Leer: fibo1,
fibo2
58.
Inicio
a(1) ← fibo1
a(2) ← fibo2
i←3
s ← fibo1 +
Pseudocódigo:
fibo2
p ← 10000
fibo3 ← 0
Diagrama de Flujo de Datos:
fibo3 ← fibo1 +
fibo2
fibo3 <
p
Escribir:
a
Fin
c←0
a(1) ← 2
Si (i mod j = 0)
c ← c+1
Fin – si
Fin – desde
Si c = 2 entonces
a(i) ← i
Fin – si
c ←0
Fin – desde
a(a=0) ← []
Escribir: a
Fin
Diagrama de Flujo de Datos: Inici
o
fibo1 ← 0
a(1) ←
fibo1
fibo2 ← 1
a(2) ←
fibo2
fibo3 ← 0
i←3
Desde j ←1 hasta i
hacer
i mod j =
0
c←c+
1
c
=2
a(i) ←
i
c←
0
a(a=0) ←
[]
Escribir:
a
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.
Pseudocódigo:
Inicio
Leer: nombre, c, a
age ← 1
s←0
s←s+i
d(i) ← age
age ← age+1
Fin – desde
cd ← c*(j/s)
b(j) ← cd
Fin – desde
e ← fliplr(b)
Escribir: nombre, d, e
Fin
Inicio
Leer: nombre,
c, a
age ←
1
s← 0
s←s+i
d(i) ← age
age ←
age+1
Desde j ← 1 hasta a
hacer
cd ← c*(j/s)
b(i) ← cd
c ← fliplr(b)
Escribir: nombre,
d, e
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 x 2 18
Pseudocódigo:
Inicio
syms fx x
fx ← 2*x*(18-2*x^2)
f ← inline(fx)
Dfx ← diff(fx, x)
double Dfx
Df ← inline(Dfx)
froots ← solve(Dfx)
x ← length(froots)
Maximo ←0
y←0
y ← f(froots(i))
vp ← eval(y);
Si vp > Maximo
Maximo ← vp
pos ← froots(i)
Fin – si
Fin – desde
z ← 18-2*pos^2
p1 ← [pos z]
p2 ← [-pos z]
p3 ← [-pos 0]
p4 ← [pos 0]
area ← pos*z
Fin
Diagrama de Flujo de Datos: Inicio
syms fx x
fx ← 2*x*(18-
2*x^2)
f ← inline(fx)
Dfx ← diff(fx, x)
double Dfx
Df ← inline(Dfx)
froots ←
solve(Dfx)
x ← length(froots)
Maximo ←0
y←0
Desde i ← 1 hasta x
hacer
y ← f(froots(i))
vp ← eval(y);
Vp>Maxim
o
pos ←
froots(i)
z ← 18-
2*pos^2
p1 ← [pos z]
p2 ← [-pos z]
p3 ← [-pos 0]
p4 ← [pos 0]
area ← pos*z
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.
Pseudocódigo:
Inicio
Leer: a, b
c←0
c←c+1
Fin – si
Fin – desde
Si c=1 entonces
Sino
Fin – si
Fin
Leer: a, b
Inicio
c←0
Fin
c=1
c←c+1
primos entre si’
Escribir: ‘son
62. 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).
Pseudocódigo:
Inicio
Leer: a, l
syms fx x
fx ← (a – 2*x)*(l – 2*x)*x
f ← inline(fx)
Dfx ← diff(fx, x)
double Dfx
Df ← inline(Dfx)
froots ← solve(Dfx)
x ← length(froots)
Maximo ←0
y←0
y ← f(froots(i))
vp ← eval(y);
Si vp > Maximo
Maximo ← vp
pos ← froots(i)
Fin – si
Fin – desde
Fin
Inicio
Leer: a,
l
63.
syms fx x
fx ← (a-2*x)*(l-
2*x)*x
f ← inline(fx)
Dfx ← diff(fx, x)
double Dfx
Df ← inline(Dfx)
froots ← solve(Dfx)
x ← length(froots)
Maximo ←0
y←0
Diagrama de Flujo de Datos:
Desde i ← 1 hasta x
hacer
pos ←
froots(i)
Escribir: pos,
Maximo
Desarrollar el algoritmo de Runge Kutta para dar una solución aproximada de una
Fin
2 calculando los K
Pseudocódigo:
Inicio
Leer: x, y, h, n
k1 ← -2*x^3+12*x^2-20*x+8.5
k2 ← -2*(x+h/2)^3+12*(x+h/2)^2-20*(x+h/2)+8.5
k3 ← k2
k4 ← -2*(x+h)^3+12*(x+h)^2-20*(x+h)+8.5
fxy ← y+h*(k1+2*k2+2*k3+k4)/6
y ← fxy
Fin – desde
Escribir: fxy
Fin
Diagrama de Flujo de Datos: Inici
o
Leer: a,
l
Desde i ← 1 hasta n
hacer
k1 ← -2*x^3+12*x^2-20*x+8.5
k2 ← -2*(x+h/2)^3+12*(x+h/2)^2-
20*(x+h/2)+8.5
k3 ← k2
k4 ← -2*(x+h)^3+12*(x+h)^2-20*(x+h)+8.5
fxy ← y+h*(k1+2*k2+2*k3+k4)/6
y ← fxy
Escribir:
fxy
Fin
64. Escribir un algoritmo que permita ingresar un entero n y que imprima si se trata o no
de un número capicúa
Pseudocódigo:
Inicio
Leer: n
m←0
c ← 10
m←m+1
c ← c*10
Fin – mientras
x←n
d←0
s←0
x ← x mod 10^m
s ← a*10^d + s
m←m–1
d←d+1
Fin – mientras
Si n=s entonces
Sino
Fin – si
Fin
Escribir: ‘el
a ← x div 10^m
s ← a*10^d + s
Mientras x>0
m←m–1
x ← x mod
n>=c hacer
d←d+1
Mientras
d←0
10^m
x←n
s←0
c*10
m←
m+1
hacer
c←
c←
10
Fin
n
=
s
Escribir: ‘el
número es
capicúa’
65. Escriba un algoritmo que lea un número entero por teclado y escriba la tabla de
multiplicar de ese número
Pseudocódigo:
Inicio
Leer: n
a(i) ← n*i
Fin – desde
Escribir: a
Fin
Inici
o
Leer: n
Desde i ← 1 hasta 12
hacer
a(i) ← n*i
Escribir:
a
Pseudocódigo (a):
Inicio
Leer: n
s←0
Desde i ← 1 hasta n hacer
s ← s + 1/i
Fin – desde
Escribir: s
Fin
Leer: n
s←0
s ← s + 1/i
Escribir: s
Fin
Pseudocódigo (b):
Inicio
Leer: n
s←0
s ← s + i/(2^i)
Fin – desde
Escribir: s
Inici
Fin o
Leer:
Diagrama de Flujo de Datos (b): n
s←0
Desde i ← 1 hasta n
hacer
s←s+
i/(2^i)
Escribi
r: s
Fin
67. 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.
Pseudocódigo:
Inicio
Leer: n, p
sup ← p
inf ← p
s←p
Leer: p
SI p>sup entonces
sup ← p
Fin – si
Si p<inf entonces
inf ← p
Fin – si
s ← s+p
Fin – desde
m ← s/n
Fin
Diagrama de Flujo de Datos:
inf ← p
sup ←
p
Leer: p
inf ← p
sup ←
m←
s←p
Inicio
hacer
s/n
p>inf
p>su
m
s←
Fin
s+p
p
68. Realice un programa que determine si un número leído del teclado es primo o no
Pseudocódigo:
Inicio
Leer: n
c←0
Desde j ← 1 hasta n hacer
Si (a mod j = 0) entonces
c←c+1
Fin – si
Fin – desde
Si c=2 entonces
Sino
Fin – si
Fin
Desde j ← 1 hasta n
(a mod j =
Leer: n
hacer
Inici
c←
Fin
o
0)
0
c=
2
c←c+
1
Escribir: ‘el
número es
primo’
69. 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.
Pseudocódigo:
Diagrama de Flujo de Datos:
VE = N
VS = Mensaje
PSEUDOCÓDIGO
INICIO
Leer: N
R← resto ( N/i)
P ←P+1
FIN_SI
i←i+1
Fin_ Mientras
Sino:
FIN-SI
FIN
INICIO
LEER: N
i←1
P←0
Mientras ( i<=
N), hacer:
R← resto (N/ i)
si: R=0,
entonces
P←P+1
i←i+1
Si: P=2,
entonces:
La 72
V.E: n, m
V.S: s
PSEUDOCÓDIGO:
Inicio LEER: n, m
s=0
Para i=n: hasta m hacer
s=s+i
fin para
ESCRIBIR: s
FIN
Inicio
Leer: n,m
A=0
I=n:m
S=s+i
Escribir: s
Fin
73. Implementar un algoritmo que calcule el producto de dos números enteros (n*m)
haciendo sólo sumas.
V.E: n, m
V.S: a
PSEUDOCÓDIGO:
INICIO Leer: n, m
Para i=1hasta m hacer
s=s+n
fin para
ESCRIBIR: s
FIN
Inicio
Leer: n,m
s=0
Para I=n:m
S=s+n
Escribir: s
Fin
74. Diseñar una función que calcule el cociente y resto de la división entera de dos
números mediante restas sucesivos.
V.E: a, b
V.S: f(x, y)
PSEUDOCÓDIGO:
Inicio
LEER: x, y, h, n
Si (a>0)y (b>0)
entonces
Para i=b:b:a
i=i+b; a=a-b;
c=c+1;
fin para
ESCRIBIR: c, a
sino
escribir “no se puede dividir mediante restas sucesivas”
fin si
FIN inicio
Leer a, b
SI (a>0)y (b>0))
Para
i=b:b:a
i=i+b;
a=a-b;
c=c+1;
escribir c,a
75. Escribir un algoritmo que calcule el cuadrado de un número haciendo sólo sumas.
Ayuda: el cuadrado de un número n es la suma de la n primeros números impares.
Ejemplo: 3^2=1+3+5=9
V.E: n
V.S: s
PSEUDOCÓDIGO:
Inicio
LEER: n
Si n=0 entonces
S=0
Sino
S=0
Para i=1 hasta n hacer
P=2*i-1
S=s+p
Fin para
Fin si
ECRIBIR: s
FIN
inicio
LEER: n
Si n=0
S=0 S=0
Para
i=1: n
P=2*i-1
S=s+p
escribir s
escribir s
76. Escribir un algoritmo que convierta un número entero en otro número entero que
será el primero pero con las cifras que lo forman escritas al revés
V.E: n
V.S: s
PSEUDOCÓDIGO:
Inicio
LEER: n
mientras n>=c entonces
m=m+1
c=c*10
fin mientras
x=n
d=0
s=0
mientras x>0
a=floor(x/(10^m));
x=mod(x,10^m);
s=a*10^d+s;
m=m-1;
d=d+1;
Fin mientras
ECRIBIR: s
FIN
inicio
LEER: n
x=n
d=0
s=0
mient
ras
x>0
mientras resto
n>=c *1 (i/2)=
resto (i/2)=0
0
a=floor(x/
(10^m));
x=mod(x,1
0^m);
s=a*10^d+
m=m+1
s; m=m-1;
c=c*10
d=d+1;
escribir s escribir s
fin
77. Escriba un algoritmo permita ingresar 2 enteros positivos e imprima sus divisores
comunes
V.E: x, y
V.S: a
PSEUDOCÓDIGO:
Inicio
LEER: x, y, a
Si x>y entonces
Para i=1 hasta x hacer
SI (mod(x,i)==0)&&(mod(y,i)==0) entonces
a(i)=i
fin si
fin para
si no
para i=1 hasta y hacer
SI (mod(x,i)==0)&&(mod(y,i)==0) entonces
a(i)=i
fin si
fin para
fin si
escrbir a
FIN
78. Suponga que se piden X Nuevos Soles prestados a un banco, con el acuerdo de
devolver Y soles cada mes hasta devolver el préstamo completo. Parte del pago
mensual serán intereses, calculados como el i por ciento del capital por devolver en
ese momento. El resto del pago mensual se aplica a reducir el capital a devolver. El
programa debe determinar:
a.- La cantidad de intereses pagada cada mes.
b.- La cantidad de dinero aplicada cada mes al capital por devolver
c.- La cantidad acumulada de intereses pagados al final de cada mes.
d.- La cantidad del préstamo aún pendiente al final de cada mes.
e.- El número necesario de pagos mensuales para devolver el préstamo completo.
f.- La cantidad del último pago (probablemente menor que Y)
Compruebe el programa usando los siguientes datos: X = 7.200.000, Y = 360.000, i=
1%
V.E: x, y
V.S: a,b,c, in, m, cd
PSEUDOCÓDIGO:
Inicio
LEER: x, y, a, b, c, in, m, cd
cd=x;
j=1;
in=0;
m=1;
para cd=0 hacer
i=0.01*cd;
in=in+i;
a(j)=i;
pm=y-i;
b(j)=pm;
cd=cd-pm;
c(j)=cd;
m=m+1;
j=j+1;
fin para
Inicio
escrbir a,b,c,in,m,cd
FIN Leer: x, y, a, b, c, in,
m, cd
cd=x;
j=1;
in=0;
m=1;
Para cd=0
i=0.01*cd;
in=in+i;
a(j)=i;
pm=y-i;
b(j)=pm;
cd=cd-
pm;
c(j)=cd;
m=m+1;
Escribir: a,b,c,in,m,cd j=j+1;
Fin
79. Un número primo es una cantidad entera positiva únicamente divisible por uno o por
sí mismo. Calcular y tabular los n primeros números primos .
V.E: a,
V.S: r
PSEUDOCÓDIGO:
Inicio
LEER: a,r
P=0;
N=0;
R=[ ];
Para i=1 hasta a hacemos
N=i;
Para e=2 hasta n-1 hacer
Si mod(n,e)==0
P=p+1
Fin si
Fin para
Si p==0
R=[r,n]
Si no
P=0
Fin si
Fin para
Escribir r
80. Elaborar un algoritmo para calcular el pronóstico por el método media móvil simple,
según la formula
At 1 At 2 At 3 ... At n
Ft
n
Donde
Ft: Pronostico para el siguiente periodo
N: número de periodos para promediar
At-1: Ocurrencia real en el periodo pasado
At-2, At-3 y At-n: Ocurrencias reales hace dos periodos, hace tres periodos y así
sucesivamente hasta hace n periodos
81. Elaborar un algoritmo para calcular el pronóstico por el método de media móvil
ponderada, según la siguiente formula
Ft w1 At 1 w2 At 2 ... wn At n
Donde
W1: Ponderación dada en la ocurrencia real para el periodo t-1
W2: Ponderación dada en la ocurrencia real para el periodo t-2
Wn: Ponderación dada en la ocurrencia real para el periodo t-n
n : Número total de periodos en el pronostico
Se debe cumplir que la suma total de las ponderaciones debe ser igual a uno
n
i 1
wi 1
82. Elaborar un algoritmo para medir el error en los pronósticos, según el
método de desviación media absoluta (MAD)
n At Ft
MAD
i 1 n
Dónde:
N: La cantidad de periodos considerados
V.E: n
V.S: a
PSEUDOCÓDIGO:
Inicio
LEER: n
S=0
Para i=1 hasta n hacer
Leer at, ft
M=abs ( at-ft )/n
S= s+m
Fin para
Escribir s
fin
Inicio
Leer: n
s=0
Para I=1:n
M=abs(at-ft)/n
S=s + m
Escribir: s
Fin
83. Elaborar un algoritmo para medir el error en los pronósticos, según el método de la
raíz de la media del error cuadrático medio (RMSE)
At Ft
2
n
RMSE
t 1 n
V.E: n
V.S: s
PSEUDOCÓDIGO:
Inicio
LEER: n
S=0
Para i=1 hasta n hacer
Leer a, f
E=(((a-f) ^2) ^1/2)/(n) ^1/2
S=s+e
Fin para
Escribir s
Fin
Inicio
Leer: n
s=0
Para I=1:n
Escribir: s
Fin
84. Elaborar un algoritmo para calcular los errores de pronóstico en porcentajes, por el
método error porcentual absoluto (MAPE)
1 n At Ft
MAPE
n t 1 At
Px ( nx ) p x q n x
V.E: p, q, n, x
V.S: cd
PSEUDOCÓDIGO:
Inicio
LEER: p, q, n, x
Fact=1 ;
Para i=1 hasta n hacer
Fact =fact*i
R1=fact
Fin para
Fact=1
Para i=1 hasta x hacer
Fact=fact*i
R2=fact
Fin para
Fact=1
Para i=2 hasta n-x
Fact=fact*i
R3=fact
Fin para
R=r1/(r2*r3)
Cd=r*(p^x)*(q^(n-x))
Escribir cd
m
n
86. Elabore un algoritmo para calcular la combinación de un número , siendo m y n dos
enteros positivos.