Parcial de repaso - Campus Virtual

Anuncio
Universidad del Valle
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
Examen Final Diciembre de 2012
NOMBRE: _______________________________________ GRUPO: ___
CALIF:_______
1. [30%] Arreglos unidimensionales
Suponga que una empresa tiene 100 empleados y sus datos los almacena en arreglos como se muestra en
el ejemplo siguiente.
codigos
120
500
712
113
111
800
401
813
123
318
…
nombres
Pepe
Juan
David
Luisa
Ana
Antonio
Teresa
Felipe
Paco
Luis
…
salarios
5000
7000
3000
3100
12000
4000
3300
1000
3000
4000
…
1.1) 15% Escriba en pseudocódigo un algoritmo que cálcule el valor mensual de la nómina de la empresa
1.2) 15% Escriba en pseudocódigo calcule el salario más alto de la empresa y quien es el empleado que lo
tiene.
2. [30%] Pruebas de escritorio.
2.1) [15%] Prueba de escritorio con arreglos unidimensionales.
public static void metodoUno(){
int arreglo[] = new int[10];
String salida = "";
for (int i = 0; i < arreglo.length ; i=i+1){
if(i%2==0){
arreglo[i] = arreglo[i] + 1;
}
else{
arreglo[i]= i * i;
}
}
for (int i = 0; i < arreglo.length ; i=i+1){
salida = salida + arreglo[i] + " - "
}
System.out.print(salida);
}
Al invocar metodoUno( ) en el cuadro de diálogo se visualiza el mensaje: _____________________
2.2) [15%] Prueba de escritorio con matrices. Dadas las siguientes matrices:
matrizUno
0
5
2
5
2
0
3
4
3
3
3
matrizDos
0
5
2
5
3
2
0
3
3
0
5
4
3
0
5
3
0
3
3
3
0
// Nota: matrizUno y matrizDos son variables globales
public void metodoDos(){
int res = 0;
for(int i = 0; i<matrizUno.length; i = i + 1){
for(int j = matrizUno[0].length - 1; j >= 0; j = j - 1){
if ( i > j ){
res = res + matrizUno[i][j] + matrizDos[i][j];
}
}
}
JOptionPane.showMessageDialog(null, "salida = " + res)
}
Al invocar metodoDos( ) en el cuadro de diálogo se visualiza el mensaje: ______________________
3) [20%] En un curso de algoritmia se han almacenado las notas y los códigos de los estudiantes como
se muestra a continuación. En el arreglo codigos se almacena el código de los estudiantes matriculados
en el curso. La matriz notas contiene las calificaciones de cada estudiante. Cada fila de la matriz
contiene las notas de un estudiante. Suponga que en el curso se han matriculado 50 estudiantes. La
primera fila de la matriz contiene las notas del primer estudiante del arreglo (090001), la segunda fila
contiene las notas del estudiante de la segunda posición (090002), y así sucesivamente.
Códigos
090001
090002
090003
090004
090005
090006
090007
090008
090009
…
Notas
Parcial 1
Parcial 2
Labs
proy
4,5
4,0
3,0
4,0
4,5
4,0
3,0
4,0
4,5
4,0
3,0
4,0
4,5
4,0
3,0
4,0
…..
…..
……
…..
3.1) [10%] Desarrolle un método que calcule la nota definitiva de cada estudiante y la almacena en un
nuevo arreglo llamado definitiva. Suponga que cada tipo de nota vale el 25%.
3.2) [5%] Desarrolle un método que cuente el número de estudiantes que ganaron el curso.
3.3) [5%] Desarrolle un método que calcule el promedio de notas definitivas en el curso.
4)
[20%] Interfaces gráficas. Suponga que la Universidad del Valle usa un programa para guardar
los datos de los estudiantes y el valor a pagar por matrícula. Suponga también que en este programa se
han creado 3 arreglos de tamaño n. El primer arreglo llamado estudiantes guarda el código de cada
estudiante, el segundo arreglo llamado nombres guarda el nombre de cada estudiante y el tercero
arreglo llamado matriculas guarda el valor de la matrícula de cada estudiante.
4.1) [5%] Escriba un método en Java (método actionPerformed) que lea los datos del estudiante y los
almacene en cada uno de los arreglos cuando el usuario oprima el botón Guardar,
4.2) [5%] Escriba un método en Java (método actionPerformed) que muestre en el área de texto el
código, nombre y valor de la matricula de todos los estudiantes cuando el usuario oprima el botón Listar,
4.3) [10%] Escriba un método en Java (método actionPerformed) que permita encontrar la información
de un estudiante por medio del código cuando el usuario oprima el botón Buscar. El usuario escribe el
código y el algoritmo debe buscarlo en el arreglo. Si lo encuentra es porque el estudiante está
matriculado y se muestra el nombre y el valor a pagar. Si el código no se encuentra en el arreglo, se
mostrará un mensaje que diga que ese estudiante no está matriculado.
DESCRIPCION
Mostrar el área de texto
Ingresar un valor entero
INSTRUCCION
JOptionPane.showMessageDialog(null,scroll);
variable=Integer.parseInt(JOptionPane.showInputDialog(“Digite un valor”));
Sentencia do-while
do{
instrucciones a repetir
}while (condición);
for (inicializar variable de control ; condición ; actualizar variable de control)
instrucciones a repetir
Inicializar variable de control
while(condición){
Instrucciones a repetir
}
if (condición){
Instrucciones si se cumple la condición
}
else{
Instrucciones si no se cumple la condición }
TipoDeDato nombreArreglo [] = new tipoDeDato [tamaño]
Ej.: int enteros []= new int[7];
TipoDeDato nombreArreglo [][] = new tipoDeDato [filas] [col]
Ej.: int matrizEnteros [][] = new int [5][7];
Sentencia for
Sentencia while
Sentencia if-else
Crear un arreglo
unidimensional
Crear un arreglo
bidimensional
Descargar