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

AÑO DE LA LUCHA CONTRA LA CORRUPCIÓN Y LA IMPUNIDAD

PRÁCTICA N° 04

CURSO: PROGRAMACIÓN

ESCUELA PROFESIONAL: INGENIERÍA EN ENERGÍA

CICLO: III

INTEGRANTES:

- ESPINOZA CASTILLO ELENA 1-17


- MANZO CHUQUIMANGO JAIR 18-34
- MIRANDA CUEVA DIEGO 35-51
- PIMENTEL POMA LUIS 52-68, 86
- ZUÑIGA CALDERON WALTER 69-85
DOCENTE:
REYNA ROJAS KENE A.

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

Diagrama de Flujo de Datos (repetir):


Inicio

Leer: n

n=o

Fact 11
I 1
Fact 1

Fact fact*i
i i+1

Fin
i>n

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


tres estructuras.
Pseudocódigo (mientras)

V.E:

V.S: a

Inicio

i←1

mientras (i<=30) hacer

a(i) ← 4^i

i ← i+1

fin-mientras

escribir: a
fin

Pseudocódigo (Desde):

V.E:

V.S: a

Inicio

Desde i ←1 hasta 30 hacer

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

Hasta que i>30 hacer

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

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


Pseudocódigo (mientras)

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

Hasta que i>n hacer

escribir s

fin

Pseudocódigo (desde):

V.E: n

V.S: s

Inicio

Leer: n

s←0

Desde i ← 1 hasta n hacer

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

Diagrama de Flujo de Datos (Desde): inicio

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

4. Diseñar un algoritmo para imprimir la suma de los números impares menores o


iguales que n
Pseudocódigo:

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

Diagrama de Flujo de Datos: Inicio

Leer: n

i<=n

S=s+i
i=i+1

Escribir s

Fin

5. Calcular el número máximo de una serie de 100 números.


Pseudocódigo:

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

Diagrama de Flujo de Datos: Inici


o
Leer:
n

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

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

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

Diargrama de flujo de Datos mientras:

Inicio

Leer: n

n=o

Fact 1
I 1
Fact 1

i=<n

Fact fact*i
i i+1
Fin

Diagrama de Flujo de Datos (repetir):


Inicio

Leer: n

n=o
I 1
Fact 1

Fact fact*i
i i+1

Fin
i>n

Diagrama de Flujo de Datos (desde):

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. Calcular el factorial de los n números leídos por teclado


Pseudocódigo:
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

11. 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
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

mientras (l=”si”) si mod(n,2)=0 b (i)=”impar”


i=i+1 b (i)=str2num(x)
a(i)=n
x=” par “
si mod(n,2)=0
b(i)=str2num(x)
j=j+1

x=” par “ Escribir


a,b,j,k
b(i)=str2num(x)

sino

k=k+1
fin
b (i)=”impar”

b (i)=str2num(x)

fin-si

escribir a,b,j,k

fin

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


15.-

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.E.: C, IA, NA, N

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

Algoritmo de la Bisección en un intervalo [a, b], tal que f(a)*f(b)<0


 (1) Sea c = ( b + a )/2
 (2) Si b - c ≤ є, se aceptar c como la raíz y parar
 (3) Si f(b)*f(c) ≤ 0, tomar a = c, por el contrario hacer b = c
 (4) Volver a (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
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

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

21. fin del trapecio


Desarrolle el algoritmo del trapecio: para calcular por medio del método
la integral de la siguiente función.
F(X) = 0.2 + 25 X - 200 X2 + 675 X3 - 900 X4 + 400 X5
El proceso consiste de la siguiente manera
 Leer el intervalo a, b y el número de sub intervalos
 Dividir el intervalo en n sub intervalo
 Evaluar la función en los extremos de los sub intervalos
 Aplicar la formular
 Salida integral aproximada

h( f ( x0 )  2 f ( x1 )  2 f ( x2 )  ...  2 f ( xn 1 )  f ( xn ))
It 
2
ba
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.

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
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

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.
Pseudocódigo:
23.-
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+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

Donde los valores


de a y b es el intervalo de la integral definida y n es el número de segmentos impares
y múltiplo de 3.
Pseudocódigo:

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
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 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

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

Pseudocódigo
V.E.: x, n

V.S: sen

Leer x, n

fact←1

i←0

n←n*2+1

mientras (i<=n) hacer

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

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

fin

Pseudocódigo.
27. 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
iy+pot/fact
ii+1
Fin mientras
Y1+y
Escribir :y
FIN

28. Desarrollar un algoritmo para Aproximar la siguiente función y = ex

Pseudocódigo:
V.E.: n,x

Si x0

e1

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

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

Pseudocódigo:
Inicio

V.E.: n,x

Si x == 0
E0

Sino

I1

e0

Mientras (i<=n)

ee+ ((-1)^(i-1))*(x^i)/i)

Fin-si

Fin-mientras

Escribir : (e)

30. Desarrollar un algoritmo para Aproximar la siguiente función y = ex


Pseudocódigo:
Inicio

V.E.: x,n

I 1

fact= 1

rexp (a)

Si (x==a)

Escribir (‘e^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)
Yy+y1

Fin-mientras
Fin-si

Escribir ‘r’

32. Desarrollar un algoritmo para Aproximar la siguiente función y = Ln(a + x)

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

Slog(a)

Sino
Slog(a)

Mientras i1:n

f(((-1)^(i+1))*(x^i))/(n*(a^i))

s= s+f

fin – mientras

Fin-si

Escribir: s

33. Desarrollar un algoritmo para Aproximar la siguiente función y

1 x x3 x5 x 2 n1
y  L n( )  2( x    ...  )
Pseudocódigo:
1 x 3 5 2n  1
V.E.: x,n

Si x==0

Y0

Escribir:y
Sino

Si (x>-1)y(x<1)

Y=0

Mientras i1:n

X1= x^(2*j-1)/(2*j-1)

Y=y+2*x1

Fin-mientras

Escribir: y

Sino

Escribir:’indeterminado’

Fin-si

Fin

34. Dado n>0 hallar la suma


n
1
s
k 1 k

Pseudocódigo:
V.E.: n

S=0

Mientras k1:n

Ss+(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

desde k←1 hasta n

s←s+1/k

fin-desde

escribir: s

fin

Diagrama de Flujo de Datos:


Desde k ← 1 hasta n

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

Desde k ← 1 hasta n hacer

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

numero entero positivo dado.


Pseudocódigo:
Inicio

Leer: n

s←0

Desde k ← 1 hasta n hacer

s ← s + (1+1/i) ^i

Fin-desde

Fin

Diagrama de Flujo de Datos:


Inicio

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

desde i=1 hasta n hacer

a(i,1) ←1

a(i,i) ←1

fin – desde

desde i←3 hasta n hacer

desde j←2 hasta i-1

a(i,j)=a(i-1,j-1)+a(i-1,j)
Inicio
fin - desde
Leer: n
escribir= a

fin

Diagrama de Flujo de Datos:


Desde k
←1 hasta
n

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

Desde i←2 hasta n-1 hacer


Si k← mod (n/i) = 0

p← p + 1

fin- desde

si p←0 entonces

escribir = “1”

sino

escribir = “0”

Diagrama de Flujo de Datos:


Inici
o
Leer: n
s←
0
Desde k ← 1 hasta n
hacer

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

Desde j ← 1 hasta n hacer

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

Mientras (i<=x) hacer

Si (n mod i = 0) entonces
a(i) ← i

Fin – si

Fin – mientras

a(a=0) ← []

Escribir: a

Fin

Diagrama de Flujo de Datos:

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

Desde i ← 1 hasta p hacer

Si (p mod i = 0) y (q mod i = 0) entonces

mcd ← i
Fin – si

Fin – desde

Escribir: mcd

Fin

Diagrama de Flujo de Datos:

mcd ← 1
(p mod 1 = 0) y (q mod i =
Desde j ← 1 hasta p
Leer: p,

Escribir:
hacer
Inicio

mcd
0)

Fin
q

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


Pseudocódigo:
Inicio

A ← []

Desde i ← 2 hasta 100 hacer

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

Desde i ← 2 hasta n hacer

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

Si n>5 y n<30 entonces

f1 ← 5

a(1) ← f1

Desde i ← 2 hasta n hacer

f2 ← f1 + i
a(i) ← f2

f1 ← f2

Fin – desde

Escribir: a

Sino

Escribir: ‘Error’

Fin – si

Fin

Diagrama de Flujo de Datos:

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

Desde i ← 2 hasta n hacer

f2 ← f1 + i

s ← s + f2

a(i) ← f2

f1 ← f2

Fin – desde

Escribir: a, s

Fin

Diagrama de Flujo de Datos:


Desde i ← 2 hasta n

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

Mientras I <=200 hacer

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

Mientras I <= 200


hacer

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

Mientras n>=0 hacer

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

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


Pseudocódigo:
Inicio

s←0

Desde i ← 1 hasta 200 hacer

Si i mod 5 > 0

s←s+i

Fin – si

Fin – desde

Escribir: s

Fin

Diagrama de Flujo de Datos:


s←s+
i
Desde i ← 1 hasta 200

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

Mientras i <=111 hacer

s←s+i

p ← p*i

i←i+2

Fin – mientras

Escribir: s, p

Fin

Diagrama de Flujo de Datos: Inicio

s←0
p←1
i←
11

Mientras i <= 111


hacer

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

Mientras r ~=0 hacer


a←b

b←r

r ← a mod b

Fin – mientras

Escribir: b

Fin

Diagrama de Flujo de Datos:

Mientras r ~=0 hacer


r ← a mod b

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 ← []

Desde j ← p hasta q hacer


Desde i ← 1 hasta 12 hacer

a(i) ← j*i

Fin – desde

b ← [b, a]

Fin – desde

Fin – si

Escribir: b

Fin

Diagrama de Flujo de Datos:


Desde
Desdei j←

a(i)
B1p←
hasta
hasta
[]
j*i 12
q hacer
hacer

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

Mientras fibo3<=1500 hacer

fibo3 ← fibo1 + fibo2

Si fibo3<= 1500

fibo1 ← fibo2

fibo2 ← fibo3 Inic


io
a(i) ← fibo3 fibo1 ←
0
i ← i+1 a(1) ←
fibo1
Fin – si fibo2 ←
1
Fin – mientras a(2) ←
fibo2
Escribir: a fibo3 ←
0
Fin
i←3
Diagrama de Flujo de Datos:
Mientras fibo3<=1500
hacer

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

Mientras i <= 500 hacer

Si (i mod 3 = 0) entonces

a(i) ← i

Fin –si

i ← i+1

Fin – mientras

i←1

Mientras n<50 hacer

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

Mientras i<=500 hacer

i mod 3 = 0
Diagrama de Flujo de Datos:

a(i) ← i

i←i+1

i←1

Mientras n<=50 hacer

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

Mientras s<=1000 hacer

k1 ← (k^2 +1)/k

s ← s + k1

n ← n+1

k ← k+1

Fin – mientras

Escribir: n

Fin

Diagrama de Flujo de Datos: Inicio


n←
0
s←
0
k←
0
Mientras s<=1000
hacer

k1 ← (k^2
+1)/k
s ← s + k1
n ← n+1
k ← k+1

Escribir:
n
Fin

56. Gauss demostró que


n
n

i 1
i  ( n  1)
2
Para verificar la validez de esta fórmula, necesitamos un
algoritmo que calcule ambos términos de la ecuación.
Pseudocódigo:
Inicio

Leer: n

s←0

Desde i ← 1 hasta n hacer

s ← s+i

Fin – desde

p ← (n/2)*(n+1)

Escribir: s, p

Fin

Diagrama de Flujo de Datos:


Desde i ← 1 hasta n

(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

Leer: fibo1, fibo2

a(1) ← fibo1

a(2) ← fibo2

i←3

s ← fibo1 + fibo2

p ← 10000

fibo3 ← 0

Mientras fibo3 < p hacer

fibo3 ← fibo1 + fibo2

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:

Mientras fibo3 < p


hacer

fibo3 ← fibo1 +
fibo2
fibo3 <
p

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


p←p–
fibo3
s←s+
fibo3
a(i) ← fibo3
fibo1 ←
fibo2
fibo2 ←
fibo3
i←i+1

Escribir:
a

Fin
c←0

a(1) ← 2

Desde i ← 3 hasta 100 hacer

Desde j ← 1 hasta i hacer

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 i ←3 hasta 100


hacer

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

Desde i ← 1 hasta a hacer

s←s+i

d(i) ← age

age ← age+1

Fin – desde

Desde j ← 1 hasta a hacer

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

Diagrama de Flujo de Datos: Desde i ← 1 hasta a


hacer

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

Desde i ← 1 hasta x hacer

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

Escribir: p1, p2, p3, p4, area

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

Escribir: p1, p2, p3, p4,


area

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

Desde j ← 1 hasta a hacer

Si (a mod j = 0) y (b mod j =0) entonces

c←c+1

Fin – si

Fin – desde

Si c=1 entonces

Escribir: ‘son primos entre si’

Sino

Escribir: ‘no son primos entre si’

Fin – si

Fin

Diagrama de Flujo de Datos:


Escribir: ‘no son
primos entre si’

(a mod j = 0) y (b mod j =0)

Desde j ← 1 hasta a hacer

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

Desde i ← 1 hasta x hacer

y ← f(froots(i))

vp ← eval(y);

Si vp > Maximo

Maximo ← vp

pos ← froots(i)

Fin – si

Fin – desde

Escribir: pos, Maximo

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

1 Definiendo un problema de valor inicial como:


y ← f(froots(i))
vp ← eval(y);

ecuación diferencial de 1er orden con los siguientes pasos


Vp>Maxim
o

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

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

f ( x, y )  2 x3  12 x 2  20 x  8.5 para h  0.5 con y  1 en x  0

Pseudocódigo:
Inicio

Leer: x, y, h, n

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

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

Mientras n >=c hacer

m←m+1

c ← c*10

Fin – mientras

x←n

d←0

s←0

Mientras x>0 hacer


a ← x div 10^m

x ← x mod 10^m

s ← a*10^d + s

m←m–1

d←d+1

Fin – mientras

Si n=s entonces

Escribir: ‘el número es capicúa’

Sino

Escribir: ‘el número no es capicúa’

Fin – si

Fin

Diagrama de Flujo de Datos:


número no
es capicúa’

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

Desde i ← 1 hasta 12 hacer

a(i) ← n*i

Fin – desde

Escribir: a

Fin

Diagrama de Flujo de Datos:

Inici
o

Leer: n

Desde i ← 1 hasta 12
hacer

a(i) ← n*i

Escribir:
a

66. Calcular la suma de


Fin las siguientes series:

Donde n es un número entero introducido por

Pseudocódigo (a):

Inicio

Leer: n

s←0
Desde i ← 1 hasta n hacer

s ← s + 1/i

Fin – desde

Escribir: s

Fin

Diagrama de Flujo de Datos (a): Inicio

Leer: n

s←0

Desde i ← 1 hasta n hacer

s ← s + 1/i

Escribir: s

Fin

Pseudocódigo (b):

Inicio

Leer: n

s←0

Desde i ← 1 hasta n hacer

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

Desde i ← 2 hasta n hacer

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

Escribir: sup, inf, m

Fin
Diagrama de Flujo de Datos:

inf ← p
sup ←
p

Escribir: sup, inf,


Desde i ← 2 hasta n
Leer: n,

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

Escribir: ‘el número es primo’

Sino

Escribir: ‘el número no es primo’

Fin – si

Fin

Diagrama de Flujo de Datos:


número no es
Escribir: ‘el
primo’

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

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
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:

ESCRIBIR: ‘NO ES PRMO ESCRIBIR: ‘ ES PRIMO


PERFECTO’ PERFECTO’
70. Realice un programa que pregunte
FIN 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 multiplicación. En caso negativo el
programa finalizará.
71. 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
72. Escribir un algoritmo que calcule la suma de los números enteros de n a m (m>n).

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))

escribir “no se puede


dividir mediante
restas sucesivas”

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

E=(((a-f) ^2) ^1/2)/(n) ^1/2


S=s+e

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

85. Elaborar un algoritmo para calcular la probabilidad según la distribución binomial

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.

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