Segunda Practica Calificada Octave
Segunda Practica Calificada Octave
Segunda Practica Calificada Octave
Problema 06. El cuadrante de un punto (x,y) se puede determinar a partir del signo de x e y. Escribir un
programa tal que dadas las coordenadas x e y, indique a qué cuadrante pertenece el punto.
function problema6
x=input ('ingrese el valor de x =');
y=input ('ingrese el valor de y =');
if x>0 && y>0
disp('Pertenece al primer cuadrante');
else
if x<0 && y>0
disp('Pertenece al segundo cuadrante');
else
if x<0 && y<0
disp('Pertenece al tercer cuadrante');
else
disp('Pertenece al cuarto cuadrante');
endif
endif
endfunction
Problema 10. Realizar un programa que dado el capital inicial de un plazo fijo y un interés anual fijo muestre
en la pantalla cómo evoluciona el dinero invertido año a año, hasta llegar a un año en el que los intereses
superen el 50 % del capital invertido. Un ejemplo de la ejecución del programa es:
function problema10
c=input ('Introducir el capital inicial: ');
int=input ('Introducir el interes anual fijo : ');
i=0;
tol=c*0.5;
fprintf('%4s\t%s\n','Año','Capital');
disp(' --- -------');
while tol>I
i=i+1;
I=c*(((1+(int/100))^i)-1);
cmas1=c+I;
fprintf('%4d\t%4.2f\n',1,cmas1);
endwhile
endfunction
Problema 05. Las cuentas de electricidad de los residentes en una comunidad rural muy pequeña son
calculadas de la siguiente manera:
si se usan 500 unidades o menos, el costo es de 2 centavos por unidad;
si se usan más de 500, pero no más de 1000 unidades, el costo es de $ 10 para las primeras 500
unidades, y luego 5 centavos por cada unidad en exceso de 500;
si se usan más de 1000 unidades, el costo es de $ 35 para las primeras 1000 unidades más 10
centavos por cada unidad en exceso de 1000;
Además, se cobra una tarifa de servicio básico de $ 5, sin importar cuánto se usa electricidad
Hacer un programa que pida la cantidad consumida del usuario en unidades y determine el monto a pagar.
function problema5
cuenta = 0
cantidadCon =0
cantidadCon= input('Ingrese cantidad consumida por el usuario')
if(cantidadCon<=500
cuenta = cantidadCon*0.02 +5
elseif ((cantidadCon > 500)&&(cantidadCon<=1000)
cuenta = 500*10.0 + (cantidadCon - 500)*0.05+5
else
cuenta = 1000*35.0 + (cantidadCon - 1000)*0.10+5
endif
fprintf('El monto a pagar por el usuario es: %.2f ', cuenta)
endfunction
Problema 07. El método computacional más común para calcular raíces cuadradas es el método de Newton
de aproximaciones sucesivas. Cada vez que tenemos una estimación y del valor de la raíz cuadrada de un
número x, podemos hacer una pequeña manipulación para obtener una mejor aproximación (una más cercana
a la verdadera raíz cuadrada) promediando y con x/y.
Por ejemplo, calculemos la raíz cuadrada de 2 usando la aproximación inicial √2≈1:
Escriba un programa que reciba como entrada un número real x y calcule su raíz cuadrada usando el método
de Newton. El algoritmo debe detenerse cuando el cuadrado de la raíz cuadrada estimada difiera de x en
menos de 0,0001.
%problema7
%CAlculamos los valores iniciales
estimacion = 1
cociente = 2/estimacion
promedio = (estimacion + cociente)/2.00
%Mientras el error sea mayor 0.0001, seguimos operando
while(abs(estimacion-promedio) >=0.0001)
estimacion = promedio; %asignamoss a estimacion el valor de promedio
cociente = 2/estimacion
promedio = (estimacion+ cociente)/2,0;
endwhile
Problema 08. La temperatura máxima diaria (en °F) en Nueva York y Anchorage, Alaska, durante el mes de
enero de 2001 vienen dadas en los siguientes vectores (datos tomados del Ministerio Nacional de Meteorología
y Oceanografía de Estados Unidos).
TNY= [31 26 30 33 33 39 41 41 34 33 45 42 36 39 37 45 43 36 41 37 32 32 35 42 38 33 40 37 36 51 50],
TANC = [37 24 28 25 21 28 46 37 36 20 24 31 34 40 43 36 34 41 42 35 38 36 35 33 42 42 37 26 20 25 31],
Escriba un programa que calcule:
a) La temperatura media en ese mes para cada ciudad.
b) El número de días que estuvo la temperatura de cada ciudad por debajo de la media.
c) El número de días, y a qué días del mes corresponden, en los cuales la temperatura de Anchorage fue
mayor que la temperatura de Nueva York.
d) El número de días, y a qué días del mes corresponden, en los cuales la temperatura fue igual en ambas
ciudades.
%problema8
clear
clc
TNY = [21 26 30 33 33 39 41 41 34 33 45 42];
TANC = [37 24 28 25 21 28 46 37 36 20 24 31];
tMediaNY = 0
tMediaAnc = 0
tMediaNy = sum(TNY/lenght(TNY);
tMediaAnc = sum(TANC)/lenght(TANC);
fprintf('La temperatura media en Ney York para el mes de enero(2001):%.2f\n', tMediaNY)
fprintf('La temperatura media en Anchorange para el mes de enero(2001):%.2f\n', tMediaAnc)
numBajoMNY = 0;
numBajoMANC = 0;
arrayMayor = TNY>TANC;
dias = 1: lenght(TNY);
dias = arrrayMayor.*dias;
fprintf('El número de días en los que la temperatura en Nueva York fue mayor que en Anchorange es:
%d\n',sum(arrayMayor))
fprintf('Los dias respectivos: \n')
disp(dias)
donde Fn son los números Fibonacci 1, 1, 2, 3, 5, 8, 13, .... Cada elemento en esta secuencia de números es la
suma de los dos anteriores. Establecemos los dos primeros elementos iguales a 1, luego Fn = Fn-1 + Fn-2 .
Escribir un programa en octave que calcule para un valor dado n.
SOLUCIÓN:
clear
clc
%Problema2
n=20;
for i = 3:n
fib(i) = fib(i - 2) + fib(i -1);
endfor
El índice de masa corporal es el cociente entre el peso del individuo en kilos y el cuadrado de su estatura en
metros. Escriba un programa que reciba como entrada la estatura, el peso y la edad de N personas, y calcule
el número de personas con bajo, medio y alto riesgo.
SOLUCIÓN:
clear
clc
%Ingresamos el numero de personas con las que vamos a trabajar
N = input("Numero de personas: ");
%Creamos las matrices de peso, estatura y talla
peso = ones(1,N)
estatura = ones(1,N)
edad = ones(1,N)
%Creamos la matriz de donde se almacena el valor de IMC
indiceMasaCorp = ones(1,N)
%Ingresamos y almacenamos peso, estatura y edad para cada personas
for i = 1:N
fprintf("Persona N° %d\n", i);
peso(i) = input("Peso(kg): ");
estatura(i) = input("Estatura(m): ");
edad(i) = input("Edad(años): ");
endfor
%Calculamos el IMC
indiceMasaCorp = peso./((estatura).^2)
%Definimos y declaramos los contadores para # de personas con riesgo
%BAJO, MEDIO Y ALTO
numBajo = 0
numMedio = 0
numAlto = 0
for i = 1 : N
if(edad(i) <= 45)
if(indiceMasaCorp(i) <= 22.0)
numBajo = numBajo + 1
else
numMedio = numMedio + 1
endif
else
if(indiceMasaCorp(i) <= 22.0)
numMedio = numMedio + 1
else
numAlto = numAlto + 1
endif
endif
endfor
fprintf("Numero de personas con BAJO riesgo: %d\n", numBajo)
fprintf("Numero de personas con MEDIO riesgo: %d\n", numBajo)
fprintf("Numero de personas con ALTO riesgo: %d\n", numBajo)
Problema 04. Se desea dar un aumento a los trabajadores de una empresa, de acuerdo a los años de
antigüedad, los trabajadores cobran un sueldo anual de 30000 soles. El programa debe realizar los cálculos en
función de los siguientes criterios: Si lleva 10 años o más en la empresa se le aplica un aumento del 10%, si
lleva menos de 10 años pero más o igual a 5 se le aplica un aumento del 7%, si lleva menos de 5 años pero
más o igual a 3 se le aplica un aumento del 5%, y si lleva menos de 3 años se le aplica un aumento del 3%.
Calcular el sueldo mensual del trabajador después del aumento.
SOLUCIÓN:
clear
clc
%valor de sueldo
sueldo = 3000
aumento = 0