Académique Documents
Professionnel Documents
Culture Documents
1. Escribir un programa que imprima una tabla de conversión de grados centígrados a fahrenheit para las
temperaturas en centígrados entre 1 y 100 grados.
2. a) Definir las clases necesarias para representar puntos, vectores y rectas del plano.
b) En el apartado anterior has escogido una de las posibles formas de definir una recta (p.e. coeficientes de la
ecuación implícita). Define distintos constructores para permitir otras formas alternativas de crear rectas (p.e.
un punto y un vector).
c) Definir las funciones necesarias para realizar las siguientes operaciones:
− Distancia entre dos puntos
− Distancia de una recta a un punto
− Determinar si dos rectas son paralelas
− Pertenencia de un punto a una recta
Opcional: modificar las clases anteriores para definir los objetos correspondientes en IR3. Definir la clase
Plano con sus constructores y una función que determine si dos planos son perpendiculares.
Sugerencias:
− Establece para las variables y métodos las modalidades de acceso que consideres adecuadas.
− Para cada paso, escribe un pequeño programa main que utilice las clases definidas, para comprobar
que funcionan correctamente.
5. La siguiente función ordena una lista de números decimales por el método de la burbuja:
void ordenar (double lista[], int n) {
int i, j;
for (i = 0; i < n; i++)
for (j = n-1; j > i; j--)
if (lista[j] < lista[j-1]) intercambiar(lista,j,j-1);
}
d) Definir la función intercambiar, necesaria para la función anterior.
Comprobar la corrección del código con un programa main que ordene una lista de números.
e) Generalizar la función ordenar para que ordene listas de cualquier tipo de datos sobre los que tenga sentido
definir una relación de orden.
Programa CITIUS de iniciación profesional en la empresa 1/3 Universidad Autónoma de Madrid, Escuela Politécnica Superior
Indicación: definir una interface Ordenable, con un método de comparación menor(Ordenable).
f) Definir las clases Persona y Automovil, de forma que los objetos de estas clases se puedan ordenar por
apellido y precio respectivamente.
Escribir un programa main que cree listas de estos objetos y las ordene, para comprobar la corrección de los
métodos definidos.
g) Definir las clases Rectangulo, Circulo y Figura, de tal manera que sea posible ordenar listas de figuras
por área. Escribir un programa main.
6. Escribir un programa que sea una calculadora matemática. Por simplicidad, esta calculadora deberá admitir sólo
las operaciones de suma y multiplicación (sería un ventana con los botones: 0,1,2,3,4,5,6,7,8,9,+,*,=).
7. Escribir un applet que incluya un botón (hora), de modo que al pulsarlo, aparezca la hora exacta.
8. Escribir un applet que se comporte como un reloj, mostrando la hora exacta cada segundo (para ello se deberá
utilizar un hilo auxiliar).
Programa CITIUS de iniciación profesional en la empresa 2/3 Universidad Autónoma de Madrid, Escuela Politécnica Superior
FICHERO "TestPolinomio.java"
public class TestPolinomio {
public static void main(String args[ ]) {
double coefs1[] = {3, 0, 0, 0, -3};
double coefs2[] = {1, 1, -2, 0, 1, 0, 6};
double []x = {1.0, 2.0, 3.0};
Polinomio pol1 = new Polinomio(coefs1);
Polinomio pol2 = new Polinomio(coefs2);
Polinomio pol3;
//Polinomio 1
System.out.println("El polinomio 1, " + pol1.toString() + ", es de " + pol1.dameGrado() + "º grado");
System.out.println("Algunos valores para el polinomio 1:");
for(int i=0;i<x.length;i++)
System.out.println("f(" + x[i] + ") = " + pol1.f(x[i]));
//Polinomio 2
System.out.println("El polinomio 2, " + pol2 + ", es de " + pol2.dameGrado() + "º grado");
System.out.println("Algunos valores para el polinomio 2:");
for(int i=0;i<x.length;i++)
System.out.println("f(" + x[i] + ") = " + pol2.f(x[i]));
pol3 = pol1.suma(pol2);
Programa CITIUS de iniciación profesional en la empresa 3/3 Universidad Autónoma de Madrid, Escuela Politécnica Superior