Unidad 3 Programación Orientada a Objetos. Programación JAVA. Cuestiones I:

Documentos relacionados
Unidad 3 Programación Orientada a Objetos. Programación JAVA. Parte I:

Unidad 3 Programación Orientada a Objetos. Programación JAVA. Parte I (7.5)

Unidad 3 Programación Orientada a Objetos. Programación JAVA. Parte I (7.5)

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Guía - Taller # 2 (JAVA)

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

Examen Teórico Convocatoria de Junio de 2012

Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar

Tema 4. Excepciones en Java

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

Estructura de datos y Programación

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

Estructuras de control selectivas

TEMA 1. Introducción a la programación. CONSIDERACIONES GENERALES.

CURSO : Programacion Java DOCENTE : ING. JUAN ZEVALLOS VALLE

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Examen escrito de Programación 1

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

Construcciones del Lenguaje Java

int[] nombrearray1; int nombrearray2[];

Metodología y Tecnología de la Programación

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Introducción a Java. Introducción a Java. Programación I

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Examen Teórico. Convocatoria de Julio de 2015

Objetivos. El alumno empleará el concepto de excepción en la programación orientada a objetos para el manejo de errores de ejecución.

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Esta aplicación se compone de 3 programas o clases, según el siguiente esquema: SueldoMedio.java. Sueldo.java

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Si bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias.

CLASE ARRAYS DEL API JAVA. MÉTODOS PARA ARRAYS EQUALS (COMPARAR), COPYOF (COPIAR), FILL (RELLENAR). EJEMPLOS. (CU00676B)

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Ejercicios de evaluación de fundamentos de programación en Java

7. Otras sentencias Sentencia break. 84 A. García-Beltrán y J.M. Arranz

Parte I: Programación en un lenguaje orientado a objetos

Conceptos básicos de Orientación a Objetos, manejo con Eclipse.

JAVA 1. Introducción

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Java Optional ifpresent y como utilizarlo

Bloque II. Elementos del lenguaje de programación Java

Capítulo 3. Introducción a la programación. Continuar

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

o Una clase es un tipo al cual pertenecen objetos o instancias de la clase.

4. Operadores Operador asignación

PROGRAMACIÓN GENÉRICA

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Elementos léxicos del lenguaje de programación Java

EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

EXAMEN PROGRAMACIÓN 15 de Junio de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas

Introduciendo datos desde el

Programación. Test Autoevaluación Tema 6

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Examen de Métodos de Programación Ingeniería Informática Primera Parte

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Tema 3. Estructuras de control y programación estructurada

Prueba N o 1. Programación II

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Examen Teórico. Convocatoria de Febrero de 2018

PRACTICA Nº Realizar una aplicación que calcule el volumen de una esfera, que viene dado por la fórmula:

Tema 2. El lenguaje de programación Java (Parte 1)

Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

Práctica No. 2. Tipos de Datos y Entrada/Salida Estándar

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

Transcripción:

WEB: http://dis.um.es/~lopezquesada Pag. 1 Unidad 3 Programación Orientada a Objetos. Programación JAVA. Cuestiones I: Alumno: 1. Corregir los errores del siguiente código JAVA. (0.5p): // Obtener el menor divisible por 3 y el mayor divisible por 5 de un vector public class XX { public static void main(string[] args) throws IOException { int vector[]; int mayor= Integer.MAX_VALUE; int menor= Integer. MIN_VALUE; BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); System.out.println("...?"); int longitud=integer.valueof(in.readline()).intvalue(); vector=new int[]; for(int i=0 ; i<vector.length ; i++) { System.out.println("...:"); vector[i] = Integer.valueOf(in.readLine()).intValue(); if ((vector[i] % 5) = 0) && (vector[i] > mayor)) mayor = vector[i]; if ((vector[i] % 3) == 0) && (vector[i] < menor)) menor = vector[i]; System.out.println("...: "+mayor); System.out.println("...: "+menor);

WEB: http://dis.um.es/~lopezquesada Pag. 2 2. Corregir los errores del siguiente código JAVA (0.5p): import java.io.*; public class XX { public static void main(string[] args) throws IOException { float longitud; int [] vector; BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); System.out.println("...?"); longitud=integer.valueof(in.readline()).intvalue(); vector=new int[longitud]; for(i=0 ; i<longitud ;) { try { System.out.println("...:"); vector[i] = Integer.valueOf(in.readLine()).intValue(); catch(numberformatexception e) { System.out.println("...:"); catch(exception ) { System.out.println("...:");

WEB: http://dis.um.es/~lopezquesada Pag. 3 3. Supongamos una máquina que dispone de un conjunto de N pulsadores numerados de 0 a N-1, cada uno de los cuales puede estar activo o no, en un instante de tiempo. Necesitamos una clase en JAVA (Class Pmaquina), que permita almacenar la información de cuáles de esos pulsadores están o no activos en un instante dado. La clase necesitará los siguientes métodos (1p 0.25p/método): activarpulsador : que recibirá un número de pulsador y hará que figure como activo. desactivarpulsador : que recibirá un número de pulsador y hará que figure como NO activo. activado : que recibirá un número de pulsador y devolverá si este está activo o no. numactivos : que devolverá el número de pulsadores que están activados.

WEB: http://dis.um.es/~lopezquesada Pag. 4 4. Qué resuelve este código JAVA? (0.5p): import java.io.*; public class Main { public static void main(string[] args) throws IOException{ int vector[]; int aux=integer. MIN_VALUE; String valor; BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); System.out.println("...?"); valor= in.readline(); int longitud=integer.valueof(valor).intvalue(); vector=new int[longitud]; for (int i=0 ; i<vector.length ; i++){ System.out.println("...: "); valor= in.readline(); vector[i]=integer.valueof(valor).intvalue(); for (int i=0 ; i<vector.length ; i++){ if ((i % 2== 0) && (vector[i] > aux)) aux = vector[i]; System.out.println("...: "+aux);

WEB: http://dis.um.es/~lopezquesada Pag. 5 5. Escriba en la clase Java Gpoligono el siguiente método (0.75p): Atributos: Métodos: Números de lados (int). int nlados; Vector de (class Punto). Punto [] posicionamiento; Color de relleno (class Rgb). Rgb color; public gpoligono(){// Constructor por defecto public gpoligono(int num, Rgb c){/* Mediante este constructor sobrecargado se proporciona el número de lados y su color. Dentro del cuerpo de este método te preguntará por cada uno de los puntos (X,Y) que formarán su posicionamiento en el espacio.*/.. public boolean comparetopoligono(gpoligono a){/* Método que dado un polígono determina si es igual a él. Son iguales cuando coinciden el color, número de lados y su posicionamiento. */ Nuevo Método: public boolean igualestopoligonos(gpoligono [] a){/* Método que dado un vector de polígonos determina si todos los Gpoligonos son iguales. */ public boolean igualestopoligonos(gpoligono [] a) { // Fin del new método

WEB: http://dis.um.es/~lopezquesada Pag. 6 6. Escriba los nuevos métodos de la clase Java que represente un Viaje (1.5p): Atributos: Números de trayectos (int). int ntra; Vector de (class Trayecto). Trayecto [] sectrayectos; Clase Trayectoria public class Trayecto { public String origen; public String destino; public double distancia;... Métodos: public viaje(){// Constructor por defecto public viaje(int num){/* Mediante este constructor sobrecargado se proporciona el número de trayectos. Dentro del cuerpo de este método te preguntará cada uno de los trayectos que forman el viaje.*/ public Trayecto mayortrayecto()){/* Devuelve el mayor trayecto en longitug.*/ public double distanciaviaje(){// Resultado de la suma de los trayectos public boolean combinables(viaje v1) {/*Si coincide el destino de último trayecto de v1 con el origen del primer trayecto de this, los trayectos son combinables true*/. Nuevo Método (0.75p): public viaje maximadistancia(viaje [] a){/* Método que dado un vector de viajes devuelve aquel viaje con mayor distancia. */ // Nota Double.MIN_VALUE public Viaje maxdistancia(viaje [] a){

WEB: http://dis.um.es/~lopezquesada Pag. 7 // Fin del new método Nuevo Método (0.75p): public Trayecto mayortrayectoviajes(viaje [] a){/* Método que dado un vector de viajes devuelve el trayecto más largo. */ public Trayecto mayortrayectoviajes(viaje [] a) // Fin del new método

WEB: http://dis.um.es/~lopezquesada Pag. 8 7. Cuestionario tipo test (1.25p)(2 mal quitar 1 bién): 1. Dada la siguiente definición: Cuál debería ser el contenido del constructor? class Temperatura { double t; Temperatura(double t) {? a) t=t; b) double t=t; c) this.t=t; d) No se puede llamar igual el parámetro del constructor que el atributo de la clase 2. Dado el siguiente fragmento de programa: Indique que afirmación es cierta: int k; for (k=5 ; k>0 ; k--) System.out.print(k); System.out.print(k); a) Se imprime 543210 b) Se imprime 5432100 c) Se imprime 554433221100 d) Se imprime 543210-1 3. Qué es cierto respecto de este fragmento de programa? Temperatura p[] = new Temperatura[12]; p[2].calentar(3); a) Funciona correctamente. b) Funciona correctamente, aplicándose el método a la 3ª clase Temperatura. c) Funciona correctamente pero hay que capturar las excepciones provocadas en los arrays de objetos. d) Produce un error de ejecución, ya que no puede invocarse un método sobre una referencia null o una variable no inicializada. 4. Se quiere definir el método 'prueba' que no recibirá ningún argumento y tampoco devolverá ningún valor. Cuál de las siguientes declaraciones es correcta? a) prueba(void) b) void prueba(void) c) prueba() d) void prueba() 5. Indique la salida de: int a= 7, b= 3; System.out.println ((++a) * b); a) 24 b) 21 c) 10 d) 73

WEB: http://dis.um.es/~lopezquesada Pag. 9 6. Evalúe el valor final que toma la variable "s": int n= 1; s= 0; while (n <= 9) s+=n; a) 45 b) 0 c) 9 d) el programa no termina nunca 7. En Java this a) hace referencia al objeto que invoca al método b) hace referencia sólo a los atributos propios de la clase en la que se encuentra. c) hace referencia a la super-clase d) hace referencia a las variables del método en el que se encuentra. 8. Qué se imprimirá al ejecutar el siguiente bucle? for (int i=0; i < 5; i++) { if (i==3) { i=5; System.out.println (i + " "); 0 1 2 3 4 0 1 2 3 0 1 2 4 0 1 2 9. Dado el siguiente código, indique qué ocurriría al llamar al método wom(): class CExamen{ private int i=0; public void wom(){ for (int i=0; i<5;i++) System.out.println(this.i); a) imprime 00000 b) imprime 01234 b) imprime infinitos ceros c) se producirá un error en tiempo de compilación. 10. Dados los siguientes fragmentos de código: class ClaseC { public void fmet (int i) {... public int fmet (int i) {...... ClaseC c = new ClaseC(); c.fmet(4); Se produce: a) la llamada al primer método fmet. b) la llamada a ningún método porque hay sobrecarga. c) un error al compilar. d) un error al ejecutar.

WEB: http://dis.um.es/~lopezquesada Pag. 10 11. Indique qué valor imprime el siguiente programa: static void proc (int x) { x= 1; public static void main (String [] arg) { int x= 4; proc (x); System.out.print (x); a) 4 b) 1 c) 0 d) El programa producirá un error 12. Dada el siguiente código: class ClaseA { public int campo; class PruebaClaseA { public static void main(string x[]){ ClaseA a1 = new ClaseA(); ClaseA a2 = new ClaseA(); ClaseA a3 = new ClaseA(); a1.campo=150; a2.campo=150; a3 = a2; if (a1 == a2) { System.out.println(" UNO"); if (a1 == a3) { System.out.println(" DOS"); if (a2 == a3) { System.out.println(" TRES"); El resultado sera: a) UNO b) UNO TRES c) UNO DOS TRES d) TRES 13. En una sentencia try-catch-finally: a) Los bloques catch se pueden repetir tantas veces como excepciones de distinto tipo se desee atrapar. El bloque finally debe aparecer al menos una vez y se ejecuta siempre. b) Los bloques catch se pueden repetir tantas veces como excepciones de distinto tipo se desee atrapar. El bloque finally no es opcional y se ejecuta siempre. c) Los bloques catch se pueden repetir tantas veces como excepciones de distinto tipo se desee atrapar. El bloque finally es opcional y solo puede aparecer una vez. Este bloque se ejecuta siempre. d) Todas las afirmaciones son falsas 14. Para utilizar componentes que están en otro paquete diferente se debe añadir una declaración de importación con la sintaxis: a) include nombre-del-paquete b) import nombre-del-paquete c) package nombre-del-paquete d) class nombre-del paquete

WEB: http://dis.um.es/~lopezquesada Pag. 11 15. Para qué se usan las clases asociadas a los tipos primitivos? a) Para facilitar la programación en Java. Estas clases proporcionan métodos útiles para convertir un tipo primitivo en otro, para imprimir los números con diversos formatos.. etc b) Para definir nuevos tipos simples c) Para convertir cadenas de texto a otros tipos d) Para poder leer valores proporcionados por el usuario. 16. Dado el siguiente código cual es la salida por la consola para valores de la nota 4, 6, 3, 8. public class Resultados { public static void main(string[] args) { int nota = 7; System.out.println((nota>=5)? (nota<8)?"entrevistar" : "Contratar" : "Rechazar"); a) Contratar Entrevistar Rechazar Contratar b) Rechazar Entrevistar Contratar Contratar c) Rechazar Entrevistar Rechazar Contratar d) Contratar Entrevistar Rechazar Contratar 17. La declaración Cliente[] clientes = new Cliente[5] corresponde a: a) Un array de tipo base Cliente, de una dimensión y tamaño 5, con identificador clientes b) Un array de tipo base Cliente, de una dimensión, con identificador clientes, que aún no ha sido instanciado c) Un array de tipo base Cliente, de una dimensión y tamaño 5,que puede almacenar objetos en las posiciones: clientes[1],clientes[2], clientes[3], clientes[4], clientes[5] d) Todas las afirmaciones son falsas. 18. Declare un array de objetos de la clase Cliente de tamaño 10 con identificador misclientes. El segundo cliente con NIF 43658713X, nombre Juan y apellidos Fernández López, recuperándose el nombre del mismos: public class Cliente { private String nif; public String nombre; private String apellidos; public Cliente(String nif, String nombre, String apellidos) { this.nif = nif; this.nombre = nombre; this.apellidos = apellidos; a) misclientes[2]=new Cliente( 43658713X, Juan, Fernández ); System.out.print(misClientes[1].nombre); b) Cliente [] misclientes= new Cliente[10]; misclientes[2]=new Cliente( 43658713X, Juan, Fernández ); System.out.print(misClientes[2].nombre); c) Cliente [] misclientes= new Cliente[10]; misclientes[1]=new Cliente( 43658713X, Juan, Fernández ); System.out.print(misClientes[1].nombre); d) Cliente [] misclientes= new Cliente( 43658713X, Juan, Fernández ); System.out.print(misClientes[1].nombre);

WEB: http://dis.um.es/~lopezquesada Pag. 12 Unidad 3 Programación Orientada a Objetos. Programación JAVA. Cuestiones II Alumno: Desarrolla un proyecto JAVA llamado nombre_examen_asir que contenga los siguientes elementos (4p): Un paquete Ejercicio1_Examen. Un paquete Ejercicio2_Examen. Una clase Main.java que se utilizará para probar de manera opcional los ejercicios resueltos. Es evidente que el examen estará dividido en dos ejercicios y cada una de ellos se resolverá con una, dos..etc clases que serán definidas en su correspondiente paquete. Ejercicios 1 (2 puntos).- (Paquete Ejercicio1_Examen) Clase ArrayAsir /* clase que moldea y contiene las operaciones relacionadas con un vector de enteros (int v[]) */ Atributos (el alumno decidirá si un atri. es público o privado): int [] elementos; int num_elemente; Métodos (cada método 0,5p): public ArrayAsir(int num,int [] a); /* Contructor que inicializa cada uno de los atributos. */ public Estado comparetoarrayasir(arrayasir a); /* Método que devuelve un objeto de la Clase Estado con el valor 1 (no tienen el mismo número de elementos),2 (tienen el mismo número de elementos pero tienen algún valor discordante) o 3(tienen el mismo número de elementos y tienen los mismos valores y en las mismas posiciones). */ public int suma_max_min_arrayasir(); /* Método que devuelve la suma del mayor y menor. */ public boolean iguales(arrayasir [] a); /* Método que devuelve true si todos los ArrayAsir son iguales en número de elementos y contienen el mismos valores en las mismas posiciones. */

WEB: http://dis.um.es/~lopezquesada Pag. 13 Ejercicios 1 (2 puntos).- (Paquete Ejercicio2_Examen) Clase Hucha Atributos (el alumno decidirá si un atri. es público o privado): int [] cantidad_tipo_moneda ; int [] tipo_modena; Métodos (cada método 0,5p): public Hucha(int [] ctm,int [] tm); /* Contructor que inicializa cada uno de los atributos. */ public int total(); /* Devolverá el valor total del contenido de la hucha. */ public boolean ingresar(int tipo,int cantidad) ; /* Recibirá un tipo de moneda y cantidad de moneda para añadirla a la hucha. Si ese tipo de moneda no está considerada en la hucha devolverá false y si se ha realizado el proceso devolverá true */ public boolean existetipo(int tipo) ; /* Recibirá un tipo de moneda y devolverá true si existe ese tipo de moneda y false si no existe. */