Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SOLUCIÓN
PREGUNTAS DE TEORIA
Consiste en comparar la clave con el elemento situado en la mitad del array (elemento medio). Si es igual la búsqueda ha
terminado. Si la clave es menor que el elemento medio, se busca en la primera mitad del array, si no en la segunda mitad,
repitiendo sucesivamente el mismo procedimiento.
La búsqueda continua hasta que la clave sea igual al elemento medio del subarray que queda o hasta que el subarray que
queda conste de un solo elemento distinto de la clave de búsqueda.
Sirve para buscar una clave en arrays ordenados.
El algoritmo de búsqueda binaria elimina de la búsqueda la mitad de los elementos que quedan en el array después de cada
comparación. Es un algoritmo muy eficiente. El número máximo de comparaciones es el exponente de la primera potencia de
2 mayor que el número de elementos del arreglo. Orden de complejidad: O(log2 n)
PREGUNTA 2. Comente cómo se puede distinguir una variable local que se llama igual que
una de instancia. Ponga un ejemplo (0.5 puntos).
La palabra reservada this permite a un objeto disponer de una referencia a sí mismo. Esto es útil para poder distinguir
variables de instancia que tienen el mismo identificador que las variables locales a un método (aunque siempre podrá
evitarse).
public class prueba{
private String s;
public void m1(){
String s; // se llama igual a la variable de instancia.
System.out.println(s); // esta es la local.
System.out.println(this.s); // esta es la de instancia.
} }
Java permite definir métodos (sobrecargados) con el mismo nombre siempre que difieran en los argumentos de entrada.
Un método sobrecargado se distingue del resto por la firma del método: nombre + argumentos de entrada.
EJERCICIO 1. Implemente una clase que declare e inicialice un array e implemente un método que
realice una búsqueda binaria de una clave en dicho array (1 punto).
Class Búsqueda_Binaria {
int bajo = 0;
int alto = a.length –1;
int medio;
return medio;
else
bajo = medio + 1;
}
}
EJERCICIO 2. Escriba un método que dado una array bidimensional devuelva si es matriz
(1 punto).
public boolean es_matriz(int [ ][ ] m ) {
return true;
}
INGENIERO DE TELECOMUNICACIÓN.
SOLUCIÓN
PROBLEMA (5 puntos)
1. Implemente en Java una clase para trabajar con triángulos isósceles. Para ello, defina
las variables de estado mínimas que requiera, proporcione métodos de consulta, un
método constructor e implemente otros métodos para calcular el perímetro y el área
de un triángulo (1 punto).
2. Implemente en Java una clase para trabajar con círculos. Para ello, defina las
variables de estado mínimas que requiera, proporcione métodos de consulta, un
método constructor e implemente otros métodos para calcular el perímetro y el área
de un círculo (1 punto).
3. Implemente en Java un método que a partir de un array de triángulos devuelva el de
mayor superficie (1.5 puntos)
4. Implemente en Java un método que a partir de un array de círculos devuelva el de
mayor diámetro. (1.5 puntos)
Triangulo mayor=t[0];
return mayor;
}
Circulo mayor=t[0];
return mayor;
}