Sie sind auf Seite 1von 17

Universidad de Guayaquil

Facultad de Ingeniería Química


Carrera de Ingeniería Química

Simulación de Procesos Industriales II

Deber #5
Tema: Ejercicios de Programación con Ciclos

Estudiante:
Verónica Patricia Bastidas Navarrete

Docente: Ing. Quim. Gonzalo Villa


Curso: 7-1
Año Lectivo: 2019-2020 CI

Fecha de practica: 03/06/2019 Fecha de entrega: 10/06/2019

1
1. Calcule el promedio, el menor valor y el mayor valor de los pesos de n paquetes
en una bodega. Estos datos ingresan uno a la vez dentro de un ciclo. n es un dato
ingresado al inicio.

clear,clc

%EJERCICIO 1

n=input('número de paquetes ');

promedio=0;

valormax=0;

valormin=0;

l=0;

for i=1:n

disp('Caja')

disp(i)

m=input('Ingrese peso de la
caja ');

if i>1

l=[l m];

promedio=mean(l);

valormax=max(l);

valormax=valormax(1);

valormin=min(l);

valormin=valormin(1);

else

l=m;

end

end

disp('Promedio de los pesos de las cajas')

disp(promedio)

disp('Valor mayor de las cajas')

disp(valormax)

disp('Valor menor de las cajas')

disp(valormin)

2
3. Dado un número par n, sume los primeros n números
impares: Ejemplo.

n=4: s = 1+3+5+7 = 16

Verifique si esta s suma es igual a n2 y muestre un mensaje

%EJERCICIO 3

n=input('número natural par ');

m=1;

s=0;

for i=1:n

s=s+m;

m=m+2;

end

disp(s)

if n^2==s

disp('n^2 es igual a la suma de los números primos indicados')

end

disp(n^2)

5. Calcule un valor aproximado para la constante π usando la siguiente expresión:


π/4 = 1 – 1/3 + 1/5 – 1/7 + 1/9 – 1/11 + 1/13 ...
La cantidad de términos es un dato que debe ser ingresado al inicio.

%EJERCICIO 5

n=input('número de términos a utilizar para exactitud ');

m=0;

PI=1;

3
format rat

for i=1:n

if i>1

m=(1/(i+(i-1)))*(-1)^(i+1);

PI=[PI m];

end

end

disp(PI)

PI=cumsum(PI);

PI=4*PI(end);

format short

disp(PI)

7. Lea las coordenadas de u, v de la ubicación de una fábrica y las coordenada x,


y de n sitios de distribución. Encuentre cual es la distancia del sitio más alejado de
la fábrica
%ejercicio 7

u=input('Ingresar primera coordenada del local ');

v=input('Ingresar segunda coordenada del local ');

n=input('Número de sitios de distribución ');

distancia=0;

s=0;

for i=1:n

disp('Sitio de distribución')

disp(i)

x=input('Primera coordenada del sitio de distribución ');

4
y=input('Segunda coordenada del sitio de distribución ');

d=sqrt(((x-u)^2+(y-v)^2));

s=[s d];

end

disp('Distancias de los locales de distribución')

disp(s)

disp('Distancia del local más alejado')

r=max(s);

r=r(1);

disp(r)

9. Se tienen una lista de las coordenadas (x, y) de n puntos en un plano. Lea


sucesivamente las coordenadas de cada punto y acumule las distancias del
punto al origen. Muestre el total acumulado.

%EJERCICIO 9

n=input('Número de puntos en el plano ');

s=0;

for i=1:n

5
disp('Punto en el plano
número')

disp(i)

x=input('Primera coordenada ');

y=input('Segunda coordenada ');

d=sqrt((x^2+y^2));

if i>1

s=[s d];

else

s=d;

end

end

disp(s)

disp('Total acumulado')

r=cumsum(s);

r=max(r);

r=r(1);

disp(r)

11. Determine la suma de los n primeros números de la serie:


1, 1, 2, 3, 5, 8, 13, 21, ....
en la cual cada término, a partir del tercero, se obtiene sumando los dos términos
anteriores

clear,clc

%ejercicio 11

n=input('número de los primeros terminos sumados ');

a=1;

y=1;

w=2;

x=0;

s=0;

u=0;

for i=1:n

6
u=u+1;

switch u

case 1

x=1;

case 2

x=1;

case 3

x=2;

otherwise

x=w+y;

y=w;

w=x;

end

s=s+x

end

disp(s)

13. Una empresa compra una máquina en $20000 pagando cuotas anuales
Durante cinco años. La siguiente fórmula relaciona el costo de la máquina P, el
pago anual A, el número de años n y el interés anual r:
r(1 r)n
AP
(1 r)n  1
Escriba un programa que permita calcular el valor de P para valores de r = 0.01,0.02, …, 0.1

clear,clc

%ejercicio 13

p=input('Ingresar costo de la maquinaría ');

n=input('Ingresar número de años ');

x=input('Ingresar interes inicial ');

y=input('Ingresar incremento gradual de interes ');

z=input('Ingresar interes final ');

r=x;
7
a=p*(r*(1+r)^n)/((1+r)^n-1);

for i=x:y:z

r=i;

p=a*((1+r)^n-1)/(r*(1+r)^n);

disp('Costo de maquinaria con interes de')

disp(r)

disp(p)

end

15. La plataforma de un transporte tiene capacidad para llevar hasta m kilos. Se


tiene una lista ordenada en forma creciente con el peso de n paquetes. Determine
cuantos paquetes pueden ser transportados. La elección debe hacerse
comenzando con los paquetes de menor peso.

%EJERCICIO 15

m=input('Cantidad máxima de peso de la plataforma ' );

l=input(‘lista de pesos ordenada ascendentemente de las cajas entre []


');

p=size(l);

disp('número de cajas')

n=max(p)*min(p);

disp(n)

s=m+1;

while s>m

s=cumsum(l);

s=s(n);
8
l(n)=0;

n=n-1;

end

n=n+1;

disp('número de cajas que se puede llevar en la plataforma')

disp(n)

disp('peso total de las cajas que se pueden poner en la plataforma')

disp(s)

17. escriba un programa para simular la extracción de n bolas de una caja que
contiene m bolas numeradas con los números naturales del 1 al m. cada vez que
se saca la bola se muestra el número y se la devuelve a la caja, por lo tanto
pueden salir bolas repetidas.

%EJERCICIO 17

n=input('número de bolas extraidas ');

m=input('número de bolas en la caja ');

l=0;

disp('numeración de cada bola extraida')

for i=1:n

l=fix(m*rand+1);

disp(l)

end

9
19. Escriba un programa que muestre dos números aleatorios con valores
enteros entre 1 y 100 tales que la suma sea un número primo.

clear,clc

%EJERCICIO 19

n=0;

while n==0

a=fix(100*rand+1);

b=fix(100*rand+1);

s=a+b;

n=isprime(s);

end

disp('números aleatorios')

disp(a)

disp(b)

disp('suma de números aleatorios')

disp(s)

21. Lea un número par. Encuentre dos números al azar tales que sean primos y
la suma sea igual al dato dado.

10
clear,clc

%EJERCICIO 21

n=input('ingresar número par ');

a=0;

b=0;

s=0;

y=0;

while s~=n

while y~=2

a=fix(n*rand+1);

b=fix(n*rand+1);

y=isprime(a)+isprime(b);

end

s=a+b;

y=0;

end

disp('números primos encontrados')

disp(a)

disp(b)

disp(s)

23. Realice la simulación de n intentos de lanzamientos de un dado con las


siguientes reglas: si sale 6 gana $5. Si sale 1 gana $1. Si sale 2, 3, 4 o 5 pierde
$2. Determine la cantidad acumulada al final del juego

clear,clc

%ejercicio 23

n=input('número de lanzamineto del dado ');

a=0;

d=0;
11
s=0;

for i=1:n

d=fix(6*rand+1);

disp(d)

switch d

case 6

a=5;

case 1

a=1;

otherwise

a=-2;

end

s=s+a;

end

disp('cantidad de dinero al final del juego')

disp(s)

25. Escriba un programa que genere n parejas de número primos gemelos. Estos
números primos tienen la propiedad que además de ser primos, la distancia entre
ellos es 2.
Ejemplo. 3 y 5, 5 y 7, 11 y 13, 17 y 19, etc
%ejercicio 25

n=input('determine el número de parejas de números ');

m=input('escriba una potencia de 10 para determinar el rango de los números


primos ');

a=0;

12
b=0;

z=0;

y=0;

disp('parejas de números primos generadas')

for i=1:n

while z~=2

a=fix(m*rand+1);

b=a+2;

c=isprime(a);

d=isprime(b);

z=c+d;

end

y=[a b];

disp(y)

z=0;

end

13
27. Analice el siguiente algoritmo. Escriba los resultados que se obtendrían si el dato que
ingresa para n es 25

n = input('Ingrese un dato ');


r = 0;
while n>0
d = mod(n, 2);
n = fix(n/2);
r = 10*r + d;
disp([d, n, r]);
end

clear,clc

%ejercicio 27

n=input('Ingrese un dato ');

r=0;

while n>0

d=mod(n,2);

n=fix(n/2);

r=10*r+d;

disp([d,n,r]);

end

29. Analice el siguiente algoritmo

14
1 Leer a,b,c
2r0
3 Si a<b  c<0 salte a la línea 8
4 Si b es par salte a la línea 6

5rr+c

6bb-1

7 Salte a la línea 3

8 Mostrar r

a) Construya un diagrama de flujo ordenado que sea equivalente al algoritmo


propuesto.
b) Interprete el diagrama de flujo y codifíquelo en notación MATLAB

a, b, c

𝑟←0

𝑎 <𝑏˅𝑐 < 0

B mod 2 =0

𝑟 ←r+c

15
𝑏 ← b−1

31. Analice el siguiente programa que usa un ciclo FOR. Escriba un programa equivalente
que produzca el mismo resultado, pero sustituyendo el ciclo FOR por un ciclo WHILE
Debe definir una variable para conteo de repeticiones y la condición para salir del ciclo.

n = input(‘Ingrese un
dato ‘);
s = 0;
for i = 1: n
s = s + i^2;
end
disp(s);

16
clear,clc

%EJERCICIO 31

disp('Logaritmo con for')

n=input('Ingrese un dato ');

s=0;

for i=1:n

s=s+i^2;

end

disp(s);

disp('Logaritmo con while')

n=input('Ingrese un dato ');

s=0;

i=0;

while i<n

i=i+1;

s=s+i^2;

end

disp(s);

17

Das könnte Ihnen auch gefallen