You are on page 1of 3

SEGUNDO EXAMEN DE ALGORITMO Y PROGRAMACION

PREGUNTA 1: En un script
Hallar los elementos de las siguientes matrices:
x=[1 10 42 6;5 8 78 23;56 45 9 13;23 22 8 9];
y=[ 1 2 3;4 10 12;7 21 27];
z=[10 22 5 13];
% 1. Con la notación de índice solo, encontrar los números índices de los
% elementos en cada matriz que contengan los valores mayores que 10
elementos_x=find(x>10)
elementos_y=find(y>10)
elementos_z=find(z>10)
% 2. Encontrar los números de fila y columna (o subíndices) de los
% elementos en cada matriz con valores mayores que 10
[filas_x,columnas_x] =find(x>10)
[filas_y,columnas_y] =find(y>10)
[filas_z,columnas_z] =find(z>10)
% 3. Encontrar los valores en cada matriz que sean mayores que 10
x(elementos_x)
y(elementos_y)
z(elementos_z)
% 4. Con la notación de índice solo, encontrar los números índice de los
% elementos en cada matriz que contengan valores mayores que 10 y menores
% que 40
elementos_x=find(x>10&x<40)
elementos_y=find(y>10&y<40)
elementos_z=find(z>10&z<40)
% 5. Encontrar los números de fila y columna para los elementos en cada
% matriz que contengan valores mayores que 10 y menores que 40
[filas_x,columnas_x]=find(x>10&x<40)
[filas_y,columnas_y]=find(y>10&y<40)
[filas_z,columnas_z]=find(z>10&z<40)
% 6. Encontrar los valores en cada matriz que sean mayores que 10 y menores
% que 40
x(elementos_x)
y(elementos_y)
z(elementos_z)
% 7. Con la notación de índice solo, encontrar los números índice de los
% elementos en cada matriz que contengan valores entre 0 y 10 p entre 70 y
% 80.
elementos_x=find((x>0&x<10)|(x>70&x<80))
elementos_y=find((y>0&y<10)|(y>70&y<80))
elementos_z=find((z>0&z<10)|(z>70&z<80))
% 8. usar el comando length junto con los resultados del comando find para
% determinar cuantos valores en cada matriz están entre 0 y 10 o entre 70 y
% 80.
length_x=length(find((x>0&x<10)|(x>70&x<80)))
length_y=length(find((y>0&y<10)|(y>70&y<80)))
length_z=length(find((z>0&z<10)|(z>70&z<80)))
PREGUNTA 2: Utilizando el o los scripts necesarios desarrollar el siguiente ejercicio:
Crear una función para determinar las calificaciones de exámenes con base en los puntos y
suponga una sola entrada a la función. Las calificaciones deben ser basadas en los
siguientes criterios:
Calificación Promedio
A 90 a 100
B 80 a 90
C 70 a 80
D 60 a 70
E < 60
a. Establecer el problema: Determinar la calificación obtenida en un examen
b. Describir las entradas y salidas: Entrada: Puntaje único, no un arreglo. Salida:
Calificación en letra
c. Aplicar con ejemplos a mano (85 debería ser una B. Pero, 90 ¿debería ser una A o
una B? Es necesario crear criterios más exactos
Calificación Promedio
A >90 a 100
B >80 y <90
C >70 a <80
D >60 a <70
E < 60
d. Desarrollar una solución en MATLAB
e. Poner a prueba la solución
NOTA: TODO EL ENUNCIADO INGRESAR EN UN SCRIPT COMO COMENTARIO (usar
%)
1ero: Crear la función grado:
function resultados=grado(x)
% Esta función requiere una entrada escalar
x=input('Ingrese un valor de x:')
if(x>=90)
resultados='A';
elseif(x>=80)
resultados='B';
elseif(x>=70)
resultados='C';
elseif(x>=60)
resultados='D';
else
resultados='E';
end

Y ejecutar en la ventana de comando


2do: Aunque la función parece funcionar, regresa calificaciones para valores por
encima de 100 y por debajo de cero. Hay que mejorar la función y agregar la lógica
para excluir dichos valores

function resultados=grado(x)
% Esta función requiere una entrada escalar
x=input('Ingrese un valor de x:')
if(x>=0&x<=100)
if(x>=90)
resultados='A';
elseif(x>=80)
resultados='B';
elseif(x>=70)
resultados='C';
elseif(x>=60)
resultados='D';
else
resultados='Entrada ilegal';
end

Modificando la parte del ingreso de x para poder ingresar un escalar:

function resultados=grado(x)
% Esta función requiere una entrada escalar
x=[95 42 83 77];
….

Se obtienen resultados que van a depender del tipo de datos del vector.

PREGUNTA 3:

Un sensor que monitorea la temperatura de un tubo de calentamiento de un patio trasero


registra los datos que se muestran en la tabla:
T(°F) 100 101 102 103 103 104 104 105 106 106 106 105 104 100 102 107 104
Hora 0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10 11 12 15 18 21 24

a. La temperatura nunca debe superar los 105°F. Use la función find para encontrar los
números índice de las temperaturas que superar la temperatura máxima permisible.
b. Use la función length con los resultados de la parte “a” para determinar cuántas veces
se superó la temperatura máxima permisible.
c. Determine en qué momentos la temperatura superó la temperatura máxima permisible
con los números índice que se encontraron en la parte “a”

You might also like