Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
EXAMEN FINAL
Profesores: Ings. Augusto Tam, Julio Vásquez, Máximo Obregón, Ricardo Castañeda.
Secciones: A-B-C-D-E-F-G-H-I
Fecha: Lunes, 10 de Diciembre del 2018 Hora: 10 a 12 horas Duración: 110 minutos
Indicaciones:
• El desarrollo se realiza sin apuntes, ni calculadoras.
Problema 1 (5 puntos)
Escriba un programa que lea “n” y posteriormente lea n valores y me muestre el segundo mayor, el
programa utilizará variables simples, no podrá utilizar arreglos.
Ejemplo 1: n=3 con los valores 5, 6 y 7 El segundo mayor será 6
Ejemplo 2: n=5 con los valores 4, 1, 3, 4 y 1 El segundo mayor será 4
Problema 2 (5 puntos)
Desarrolle un método/función que reciba como parámetro un arreglo unidimensional (vector) de
números enteros y retorne en otro arreglo unidimensional (vector) aquellos números que tengan sólo
2 cifras.
Problema 3 (5 puntos)
El área de un triángulo cuyos vértices son los puntos (𝑥1 , 𝑦1), (𝑥2 , 𝑦2 ) y (𝑥3 , 𝑦3 ) (ver figura 1)
Se pide crear un subprograma que calcule el perímetro, así como también el área del polígono.
Escribir un programa que lea un conjunto de puntos ordenados (los vértices del polígono) en 2
arreglos unidimensionales, y que llame al subprograma antes diseñado, de tal manera que se devuelva
el área y perímetro del polígono.
Problema 4 (5 puntos)
Desarrolle un programa que procese las notas de n alumnos de un aula en una tabla de n filas y 12
columnas. Descripción de las columnas:
Columna Descripción
1 Número de alumno (correlativo)
2..11 Práctica 1, Práctica 2, Práctica 3, ,…. Práctica 10
12 Promedio de práctica (PP)
• El programa deberá pedir solo el número de alumnos y deberá generar aleatoriamente las notas
de todas las evaluaciones de -2 a 20, considerando -2 si ha plagiado y -1 si faltó a la evaluación.
Para el cálculo de PP considerar 0 en la evaluación que no asistió.
• La columna 1, debe ser llenada con números correlativos. La columna 12, debe consignar -2 si
plagio en alguna práctica, caso contrario, si falto por lo menos en 2 prácticas debe consignar 0,
caso contrario, debe calcular el promedio de prácticas, redondeado a 0 decimales.
• Muestre todas las notas mediante una función llamado imprimir(A). Asuma que esta función ya
está implementada.
Los profesores
SOLUCIONARIO:
Probl1:
n = input('Ingrese cantidad==> ');
for i = 1 : n
valor = input('Ingrese un valor ==> ');
if i==1
mayor1 = valor;
else
if i == 2
if valor > mayor1
mayor2 = mayor1;
mayor1 = valor;
else
mayor2 = valor;
end
elseif valor > mayor1
mayor2 = mayor1;
mayor1 = valor;
else
if valor > mayor2
mayor2 = valor;
end
end
end
end
fprintf('El segundo mayor es %3d\n',mayor2);
Probl2:
int[] solo2cifras(int[] vector){
int[] x = new int[vector.length];
int j=0;
for(int i=0; i<vector.length; i++){
if(vector[i] >9 && vector[i] < 100){
x[j] = vector[i];
j++;
}
}
return x;
}
Probl3:
Programa principal
clc
clear all
home
x=input('Ingrese las coordenadas x de los vertices del poligono, en sentido antihorario: ');
y=input('Ingrese las coordenadas y de los vertices del poligono, en sentido antihorario: ');
[area,per]=Fun_area_perimetro(x,y);
fprintf('El perímetro es: %f\nEl área es: %f\n',per,area)
Funciones o Procedimientos
%calculando perímetro
P=0;
for i=1:1:(n-1)
P=P+norma_euclidiana(x(i),y(i),x(i+1),y(i+1));
end
P=P+norma_euclidiana(x(1),y(1),x(end),y(end));
%calculando área
A=0;
for j=1:1:(n-2)
A=A+area_triangulo(x(1),y(1),x(j+1),y(j+1),x(j+2),y(j+2));
end
end
function z=norma_euclidiana(x1,y1,x2,y2)
z=sqrt((x1-x2)^2+(y1-y2)^2);
end
function z=area_triangulo(x1,y1,x2,y2,x3,y3)
z=0.5*(x1*(y2-y3)-x2*(y1-y3)+x3*(y1-y2));
end
Probl4:
n=input('Ingrese numero de alumnos:');
A=round(rand(n,12)*22)-2;
A(:,1)=(1:n)';
for i=1:n
s=0;np=0;ni=0;
for j=2:11
if A(i,j)>0
s=s+A(i,j);
end
if A(i,j)==-2
np=np+1;
end
if A(i,j)==-1
ni=ni+1;
end
end
if np>0
A(i,12)=-2;
elseif ni>=2
A(i,12)=0;
else
A(i,12)=round(s/10,0);
end
end
imprimir(A)