Uploaded by Phaliña jhanmil Morales Ñivin

LISTA N°01

advertisement
“Universidad Nacional Santiago
Antúnez de Mayolo”
“Año del Fortalecimiento de la Soberanía Nacional”
FACULTAD DE INGENIERÍA CIVIL
Escuela Profesional de Ingeniería Civil
LISTA DE EJERCICIOS N°01
ALUMNO:
MORALES ÑIVIN, Phaliña Jhanmil
(201.0906.032)
CURSO:
MÉTODOS NUMÉRICOS
DOCENTE:
ASÍS LOPEZ, Maximiliano Epifanio
AÑO ACADÉMICO: 2022 – I
SEMESTRE: V
PROBLEMA N°01 (Algoritmo usando la sentencia IF anidada)
Enunciado:
Hacer un programa que calcule el total que una persona debe pagar en un almacén por
comprar llantas. El precio de cada llanta es de 80 soles y de 70 soles si se compra 5 y más.
Solución:
Programado en Octave:
Algoritmo:
function pago=compra(N)
if N<5
pago=80*N;
else
pago=70*N;
end
end
Al ejecutar con pago=compra (6) resulta:
>> pago=compra(6)
pago = 420
>>
1
PROBLEMA N°02 (Algoritmo usando el bucle FOR y la sentencia IF)
Enunciado:
Calcule los valores de la sucesión 𝑥0 = 1, 𝑥𝑛+1 =
𝑥𝑛
2
+
1
𝑥𝑛
con n desde 1 al 100,
modifique el programa para que se detenga en el momento que |𝑥𝑛+1 − √2| < 10−7.
Solución:
Programado en Octave:
Algoritmo:
x0=1,
for k=1:100
x(k)=x0/2+1/x0;
disp ([k x(k)])
if abs (x(k)-sqrt(2))<10^(-7)
break
end
x0=x(k);
end
Al ejecutar resulta:
>> Lista1problema2
x0 = 1
1.0000 1.5000
2.0000 1.4167
3.0000 1.4142
4.0000 1.4142
2
PROBLEMA N°03 (Algoritmo usando el bucle FOR y la sentencia IF)
Enunciado:
Realice un programa que encuentre todos los divisores positivos de un entero no negativo n
e imprima el numero de divisores que posee.
Solución:
Programado en Octave:
Algoritmo:
function CuentaDivisores(n)
numdiv=0;
for i=1:n
if rem(n,i)==0
disp(i)
numdiv=numdiv+1;
end
end
fprintf('%d tiene %d divisores\n',n,numdiv)
end
Al ejecutar con CuentaDivisores(7) resulta:
>> CuentaDivisores(7)
1
7
7 tiene 2 divisores
>>
3
PROBLEMA N°04 (Algoritmo usando el bucle WHILE y la sentencia IF)
Enunciado:
Sea n un numero entero. Si n es par, divídalo entre 2, sino lo es multiplíquelo por 3 súmale
1. Repite este proceso hasta que el número obtenido sea 1. Realice un programa en el que
implemente dicho proceso.
Solución:
Programado en Octave:
Algoritmo:
clear all;
n=input('Ingrese n:');
while n~=1
disp(n)
if rem(n,2)==0
n=n/2
else
n=3*n+1
end
end
Aldisp(n)
ejecutar con Ingrese n:8 resulta:
>> Numeros
Ingrese n:8
8
n=4
4
n=2
2
n=1
1
>>
4
PROBLEMA N°05 (Algoritmo usando el bucle WHILE y la sentencia IF)
Enunciado:
Realizar un programa que decida si un número natural es primo.
Solución:
Programado en Octave:
Algoritmo:
n=input('Numero natural que deseas saber si es
primo:');
i=2;
primo=1;
while i<=sqrt(n)
if rem(n,i)==0 % Resto de dividir n entre i
primo=0;
break
end
i=i+1;
end
if primo
disp('El numero dado es primo.')
else
disp('De hecho, es divisible por:')
disp(i)
end
5
Al ejecutar con los números 10, 68, 97, 1027 resulta:
>> NumeroPrimo
Numero natural que deseas saber si
es primo:10
De hecho, es divisible por:
2
>> NumeroPrimo
Numero natural que deseas saber si
es primo:68
De hecho, es divisible por:
2
>> NumeroPrimo
Numero natural que deseas saber si
es primo:97
El numero dado es primo.
>> NumeroPrimo
Numero natural que deseas saber si
es primo:1027
De hecho, es divisible por:
13
>>
6
Download