Está en la página 1de 11

TALLER 2 LÓGICA DE PROGRAMACIÓN ALGORITMOS MATLAB

YUDOLFT AGUIRRE Y ARDILA CALDERON

1. Desarrollar un algoritmo que permita calcular el cuadrado de un número.


teniendo en cuenta que solo se debe hacer el proceso si se ingresa 10, 20,
30 o 40.; en los demás casos hacer el cuadrado igual a 0.
N=input("ingrese numero para calcular su cuadrado");
if N==10 | N==20 | N==30 | N==40
cuadrado=N^2
fprintf("el cuadrado calculado del numero es: %d", cuadrado);
else N~=10 | N~=20 | N~=30 | N~=40
cuadrado=0
fprintf("el cuadrado calculado del numero es: %d", cuadrado);
end

2. Resolver la siguiente ecuación por medio de un algoritmo, teniendo en


cuenta que solo se puede realizar si la variable "r" es diferente de 2: en
caso contrario hacer P = 1.
P= (r-2)
r=input("ingrese numero para calcular su ecuacion");
if r~=2
P=(r-2)^3
fprintf("La ecuacion calculada del numero es: %d", P);
else P=1
fprintf("La ecuacion calculada del numero es: %d", P);
end

3. Calcule el promedio de goles anotados por un jugador en cuatro


encuentros, solo si la suma de estos es mayor a 10; de lo contrario imprima
"No se pide determinar el promedio".
encuentro1=input("ingrese numero de goles anotados en su primer
encuentro");
encuentro2=input("ingrese numero de goles anotados en su segundo
encuentro");
encuentro3=input("ingrese numero de goles anotados en su tercer encuentro");
encuentro4=input("ingrese numero de goles anotados en su cuarto encuentro");
suma_goles_anotados=encuentro1+encuentro2+encuentro3+encuentro4
if suma_goles_anotados>10
promedio=suma_goles_anotados/4
fprintf("El promedio calculado de goles anotados por un jugador en cuatro
encuentros es: %d", promedio);
else fprintf("No se pide calcular el promedio %d");
end

4. Una empresa tiene cuatro escalas de salario para sus empleados


numeradas consecutivamente del 1 al 4. Además, tiene un programa de
incentivos de acuerdo con la categoría y si el número de unidades
producidas es mayor de 50. Si un empleado está en la categoría 1, se le da
un incremento de sueldo equivalente al 5% de su salario; si está en la 2, del
7%; en la 3, del 10%; y en la 4, del 15%. Del empleado se
ene la siguiente información: nombre, salario mensual, categoría y número
de unidades producidas.
nombre=input("ingrese nombre", "s");
salario_mensual=input("ingrese su salario mensual");

unidades_producidas=input("ingrese el numero de unidades producidas");


categoria=input("ingrese la categoria a la que pertenece del 1 al 4");
if unidades_producidas>50

if categoria==1
salario=salario_mensual+(salario_mensual*0.05)
elseif categoria==2
salario=salario_mensual+(salario_mensual*0.07)
elseif categoria==3
salario=salario_mensual+(salario_mensual*0.1)
else categoria==4
salario=salario_mensual+(salario_mensual*0.15)
end

else unidades_producidas<=50
salario=salario_mensual
end
fprintf('Nombre del empleado: %s\n', nombre)
fprintf('Salario mensual original: %d', salario_mensual)
fprintf("Salario mensual final: %d", salario)
fprintf('Su categoria es: %d', categoria)
fprintf('Sus unidades producidas son: %d', unidades_producidas)

5. Hacer un algoritmo que encuentre la suma de los valores de un conjunto de


números enteros, la cantidad de valores negativos, positivos e iguales a
cero y el total de números en el conjunto.
C=input("ingrese cantidad de numeros");
suma=0
negativo=0
positivo=0
cero=0
total=0
for i=1:C
NUM=input("ingrese numero"+i);
total=total+1
if NUM<0
negativo=negativo+1
elseif NUM>0
positivo=positivo+1
else cero=cero+1
end
suma=suma+NUM
end
fprintf('La suma de los numeros es: %d', suma);
fprintf('La cantidad de valores negativos es: %d', negativo);
fprintf('La cantidad de valores positivos es: %d', positivo);
fprintf('La cantidad de valores iguales a cero es: %d', cero);
fprintf('El total de los numeros es: %d', total);

6. Una industria de sobres de tarjetas de navidad dispone en la actualidad de


500 sobres, distribuidos así: 300 sobres de 15 cm de largo por 10 cm de
ancho y 200 sobres de 20 cm de largo por 15 cm de ancho. Para que sea
posible introducir una tarjeta en un sobre se requiere que el largo y ancho
de la tarjeta sean menores o iguales al largo y ancho del sobre. La industria
requiere un algoritmo que imprima el número de sobres que necesitará y el
número de sobres que tendrá que producir para cubrir la demanda de
tarjetas. Por cada tarjeta pedida se suministra el largo y el ancho de esta.
La industria solo produce sobres cuando no tiene existencias de las
dimensiones pedidas.
demanda_tarjetas=input("Ingrese la cantidad de tarjetas");
cont1=0;
cont2=0;
cont3=0;
for i=1:demanda_tarjetas
TA=input("Ingrese la medida de ancho en cm de la tarjeta"+i);
TL=input("Ingrese la medida de largo en cm de la tarjeta"+i);
if TA<=10 && TL<=15
fprintf("La industria solo produce sobres cuando no tiene existencias de
las dimensiones pedidas %d")
cont1=cont1+1;
elseif TA<=15 && TL<=20
fprintf("La industria solo produce sobres cuando no tiene existencias de
las dimensiones pedidas %d")
cont2=cont2+1;
else cont3=cont3+1
end
end
conT=cont1+cont2+cont3;
fprintf("El numero de sobres que necesitara la industria es: %d",conT)
fprintf("El numero de sobres que necesitara la industria para cubrir la demanda
de tarjetas es: %d", cont3)

Demanda=input("ingrese cantidad de cartas que desea fabricar teniendo en


cuenta las dimensiones que maneja la industria");
cont1=0;
cont2=0;
for i=1: Demanda
MA=input("ingrese la medida del ancho en cm");
ML=input("ingrese la medida de largo en cm");
if MA<=10 && ML<=15
cont1=cont1+1;
elseif MA<=15 && ML<=20
cont2=cont2+1;
else
fprintf("la fabrica no hace cartas de estas dimenciones\n")
end
end
fprintf("la cantidad de sobres de cartas de 15 cm de largo por 10cm de ancho
son %d\n",cont1);
fprintf("la cantidad de sobres de cartas de 20 cm de largo por 15 cm de ancho
son %d\n",cont2);

7. Anualmente el DANE realiza encuestas con el fin de obtener estadísticas


que son fundamentales para el país. Este año realizará la encuesta de
forma virtual, de manera que inicialmente establece una cantidad de
hogares determinados a encuestar y en cada hogar se deben responder las
siguientes preguntas: a. Número de personas por hogar
b. Número de personas mayores de edad
c. Por cada persona mayor de edad preguntar si estudia o trabaja
d. Ingresos de cada persona que labora
e. Por cada persona menor de edad preguntar si estudia o no La encuesta
se deberá́ procesar, teniendo en cuenta que si los ingresos por hogar no
superan el valor de $1.029.732, el hogar estará́ considerado como
́ ea de pobreza extrema. De esta forma se espera
perteneciente a la lın
saber lo siguiente
a. Cuántas personas mayores de edad hay en el paı́s
b. Cuántos menores de edad hay en el paı́s
c. Cuántos mayores de edad tienen empleo y cuántos estudian
d. Cuántos trabajan de forma independiente
e. Cuántos menores de edad estudian
f. Cuántos hogares pertenecen a la lı́nea de pobreza extrema

C=input("ingrese la cantidad de hogares que quiere encuestar")


A=0;
B=0;
N=0;
E=0;
X=0;
Z=0;
Y=0;
T=0;
G=0;

for i=1: C
a=input("Ingrese el numero de personas que viven en el hogar: ");
b=input("Ingrese el numero de personas mayores de edad que viven en
el hogar: ");
for l=1:b
B=B+1;
end
m=a-b;
for n=1:m
N=N+1;
end
for k=1:m
menores=input("Si el menor de edad estudia escriba 1, si no estudia
escriba 0: ");
if(menores==1)
Y=Y+1;
else
end
end
for j=1:b
cargo=input("Escriba el numero 1. si la persona mayor de edad trabaja
y el numero 2. si estudia: ");
if(cargo==1)
ingreso=input("Ingreso laborales de la persona: ");
A=A+1;
T=T+ingreso;
if(T<1029732)
fprintf("El hogar se considera dentro de la linea de pobreza\n")
G=G+1;
else
end
T=0;
indep=input("Si trabaja de forma independiente escriba 1, si no,
escriba 0: ");
if(indep==1)
X=X+1;
else
Z=Z+1;
end
else
E=E+1;
end
end
end
fprintf("Numero de hogares encuestados %d\n", C);
fprintf("Numero de personas que viven en el hogar son %d\n", a);
fprintf("Numero de personas mayores de edad en el pais son %d\n", B);
fprintf("Numero de personas menores de edad en el pais son %d\n", N);
fprintf("Numero de mayores de edad que estudian de forma independiente
%d\n", X);
fprintf("Numero de personas menores de edad que estudian %d\n", Y);
fprintf("Numero de familias que viven en extrema pobreza %d\n", G);

8. Una Fábrica que fabrica y exporta máquinas, tiene un pedido para Perú y
se requiere que el ingeniero encargado digite los siguientes datos
a. Tipo de Máquina (Extractora de Pulpa, Incubadora Industrial,
Refrigerador de carnes)
b. Cantidad de cada Máquina
c. Costo por Máquina
Es importante tener en cuenta que se pagará un impuesto del 25% sobre el
valor de cada máquina para poder exportarla, dicho valor lo paga la
empresa peruana, de forma que una vez digitados los datos se requiere
conocer el costo Total que deberá pagar la empresa peruana, incluido el
impuesto. Si el costo total supera los $100 millones, se realizará un
descuento del 10% sobre el valor total. imprimir
a. Cantidad de máquinas a fabricar en total
b. Cantidad por cada tipo de máquina
c. Costo Total que deberá pagar la empresa peruana, incluido el impuesto.

Cantidad=input("ingrese cantidad de maquinas");


Costo_Total=0;
M1=0;
M2=0;
M3=0;
for i=1:Cantidad
Maquina=input("ingrese 1 si es extractora de pulpa, ingrese 2 si es
Incubadora Industrial, ingrese 3 si es refrigerador de carnes"+i);
Costo=input("ingrese costo por maquina"+i);
if Maquina==1
Costo_Maquina=Costo*0.25+Costo
M1=M1+1
elseif Maquina==2
Costo_Maquina=Costo*0.25+Costo
M2=M2+1
else Maquina==3
Costo_Maquina=Costo*0.25+Costo
M3=M3+1
end
Costo_Total=Costo_Total+Costo_Maquina
end
if Costo_Total>100000000
Costo_Total=Costo_Total-Costo_Total*0.1
else Costo_Total=Costo_Total
end
fprintf("La cantidad de maquinas de extractora de pulpa es: ");M1
fprintf("La cantidad de maquinas de incubadora industrial es: ");M2
fprintf("La cantidad de maquinas de refrigerador de carnes es: "); M3
fprintf("La cantidad de maquinas total es: "); Cantidad
fprintf("El costo Total que deberá pagar la empresa peruana, incluido el
impuesto es: "); Costo_Total

9. La Industria metalmecánica Ken y Asociados realiza mantenimiento a las


diferentes máquinas de su empresa, considerando que se cuenta con una
pulidora, una tronzadora, un esmeril. Cada vez que se realiza
mantenimiento se requiere ingresar:
a. El tipo de máquina
b. El tipo de mantenimiento realizado (Correctivo, predictivo, preventivo)
c. El mes en que se realiza dicho mantenimiento
d. Si el mantenimiento fue correctivo, hubo necesidad de cambiar piezas,
cuantas piezas se cambiaron
Después de ingresar los datos determine
d. Cuántos mantenimientos se hicieron en total
e. Cuál fue el tipo de mantenimiento que más se realizo
f. Cuántos por máquina
g. Cuántas piezas se cambiaron

Cantidad = input("Ingrese la cantidad de máquinas a las que se les va a


realizar mantenimiento: ");

maquina1 = 0;
maquina2 = 0;
maquina3 = 0;

mantenimientos_total = 0;
mantenimientos_correctivos = 0;
mantenimientos_predictivos = 0;
mantenimientos_preventivos = 0;

piezas_cambiadas = 0;

for i = 1:Cantidad

Maquina = input("Ingrese el tipo de máquina " + num2str(i) + " (1 -


pulidora, 2 - tronzadora, 3 - esmeril): ");
Mantenimientos = input("Ingrese la cantidad de mantenimientos que
quiere realizar a la máquina " + num2str(i) + ": ");
mantenimientos_total = mantenimientos_total + Mantenimientos;

for j = 1:Mantenimientos

Mantenimiento = input("Ingrese el tipo de mantenimiento que quiere


realizar a la máquina " + num2str(i) + " (1 - Correctivo, 2 - Predictivo, 3 -
Preventivo): ");

if Mantenimiento == 1
piezas_cambiadas = piezas_cambiadas + input("Ingrese la cantidad
de piezas que se cambiaron: ");
mantenimientos_correctivos = mantenimientos_correctivos + 1;
elseif Mantenimiento == 2
mantenimientos_predictivos = mantenimientos_predictivos + 1;
else
mantenimientos_preventivos = mantenimientos_preventivos + 1;
end
end

if Maquina == 1
maquina1 = maquina1 + Mantenimientos;
elseif Maquina == 2
maquina2 = maquina2 + Mantenimientos;
else
maquina3 = maquina3 + Mantenimientos;
end
end

fprintf("La cantidad de mantenimientos que se hicieron en total es: %d\n",


mantenimientos_total);

if mantenimientos_correctivos > mantenimientos_predictivos &&


mantenimientos_correctivos > mantenimientos_preventivos
fprintf("El tipo de mantenimiento que más se realizó es Correctivo con %d
mantenimientos\n", mantenimientos_correctivos);
elseif mantenimientos_predictivos > mantenimientos_preventivos
fprintf("El tipo de mantenimiento que más se realizó es Predictivo con %d
mantenimientos\n", mantenimientos_predictivos);
else
fprintf("El tipo de mantenimiento que más se realizó es Preventivo con
%d mantenimientos\n", mantenimientos_preventivos);
end

fprintf("La cantidad de mantenimientos por máquina es:\n");


fprintf("- Máquina 1: %d\n", maquina1);
fprintf("- Máquina 2: %d\n", maquina2);
fprintf("- Máquina 3: %d\n", maquina3);

fprintf("La cantidad de piezas que se cambiaron es: %d\n",


piezas_cambiadas);

También podría gustarte