Beruflich Dokumente
Kultur Dokumente
Deber #5
Tema: Ejercicios de Programación con Ciclos
Estudiante:
Verónica Patricia Bastidas Navarrete
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
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)
disp(valormax)
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
%EJERCICIO 3
m=1;
s=0;
for i=1:n
s=s+m;
m=m+2;
end
disp(s)
if n^2==s
end
disp(n^2)
%EJERCICIO 5
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)
distancia=0;
s=0;
for i=1:n
disp('Sitio de distribución')
disp(i)
4
y=input('Segunda coordenada del sitio de distribución ');
d=sqrt(((x-u)^2+(y-v)^2));
s=[s d];
end
disp(s)
r=max(s);
r=r(1);
disp(r)
%EJERCICIO 9
s=0;
for i=1:n
5
disp('Punto en el plano
número')
disp(i)
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)
clear,clc
%ejercicio 11
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
AP
(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
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(r)
disp(p)
end
%EJERCICIO 15
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)
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
l=0;
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(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
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(a)
disp(b)
disp(s)
clear,clc
%ejercicio 23
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(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
a=0;
12
b=0;
z=0;
y=0;
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
clear,clc
%ejercicio 27
r=0;
while n>0
d=mod(n,2);
n=fix(n/2);
r=10*r+d;
disp([d,n,r]);
end
14
1 Leer a,b,c
2r0
3 Si a<b c<0 salte a la línea 8
4 Si b es par salte a la línea 6
5rr+c
6bb-1
7 Salte a la línea 3
8 Mostrar r
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
s=0;
for i=1:n
s=s+i^2;
end
disp(s);
s=0;
i=0;
while i<n
i=i+1;
s=s+i^2;
end
disp(s);
17