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

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

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

Estructuras de control selectivas

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

Guía - Taller # 2 (JAVA)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Curso de Java Introducción a la Programación I

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

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

FACULTAD DE INGENIERÍA

JAVA 1. Introducción

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

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

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

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

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

a) Reescribir P1 introduciendo un error sintáctico (de compilación), otro de ejecución, y

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

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

Curso Informática Lección 6. Métodos de objetos y clases

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

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

Estructura de datos y Programación

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Java. Introducción a la Programación Orientada a Objetos

Java para programadores

Construcciones del Lenguaje Java

5. Sentencias selectivas o condicionales

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?

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

Cuales son los tipos de instrucciones que se utilizan en la programación?

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández

Instrucciones de control

TEMA 4. ESTRUCTURAS DE CONTROL

Práctica #4: Uso de control de flujo

Tema 15: Aserciones 0

Examen Teórico Convocatoria de Junio de 2012

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Examen escrito de Programación 1

Introducción al lenguaje Java

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

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

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

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 7.- Fundamentos de la Programación Orientada a Objetos

String s = t.readline() 4. Si el valor leído desde teclado, se requiere almacenar en una variable de un tipo diferente a

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

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

Tema 6 Control de Flujo

Tema 4. Excepciones en Java

6. Sentencias repetitivas o bucles

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

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

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros

Guia#9: Punteros en C#.

Bloque II. Elementos del lenguaje de programación Java

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

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

James Gosling, creador de Java

Lenguajes de programación. Algoritmos y Estructuras de Datos I. Lenguajes compilados. Lenguajes compilados

12. Tipos de atributos

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

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

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

Por el contrario System.in es un byte Stream sin caracteristicas de character Stream.

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

TEMA 5: Subprogramas, programación modular

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

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Tema 3. Estructuras de control y programación estructurada

Formato para prácticas de laboratorio

Elementos léxicos del lenguaje de programación Java

Programación Orientada a Objetos. Java: Excepciones

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

Examen de Procesadores de Lenguaje

Programación Orientada a Objetos. Java: Excepciones

PROGRAMACIÓN GENÉRICA

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO INGENIERÍA EN COMPUTACIÓN

2. Estructura de un programa en Java

3.3 Conceptos Básicos del Lenguaje Java

Arquitecturas cliente/servidor

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

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

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

UNIDAD 3 Modularidad

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1

18. Interfaces Declaración de una interfaz

CURSO : Programacion Java DOCENTE : ING. JUAN ZEVALLOS VALLE

Ejercicios de Lenguaje Java y Entorno de Desarrollo

Apunte JAVA + SVN. Emi Höss

Tema 7: Polimorfismo. Índice

Programación. Test Autoevaluación Tema 4

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Estructuras de Control JAVA

Transcripción:

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10. 2. Cuántos métodos diferentes se invocan en el siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles"); //

A. 1. B. 4. C. 6. 3. Dado el código siguiente Cuál de los métodos que se utilizan es un método de objeto? public class PruebaRegistro { static void cargartabla (RegistroAlumno [ ] alumnos) throws IOException { for (i = 0; i < 6; i ++) { System.out.println ("Datos del alumno N: " + i); alumnos [i] = alumnos [i].cargarregistro (); static float mediacalif (RegistroAlumno [ ] alumnos) { float resul; resul = 0; for (i = 0; i < 6; i ++) resul = resul + alumnos [i].calificacion; return resul / 6; public static void main (String [ ] args) throws IOException { RegistroAlumno [ ] alumnos = new RegistroAlumno [6]; float media; for (i = 0; i < 6; i ++) alumnos [i] = new RegistroAlumno (); cargartabla (alumnos); media = mediacalif (alumnos); System.out.println ("La media de las calificaciones es: " + media); A. cargarregistro. B. mediacalif. C. RegistroAlumno. 4. Qué resultado aparecería en la pantalla del ordenador al ejecutar el código siguiente si el usuario introduce como opción: 3. public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles");

default: System.out.println ("opcion no valida"); A. miercoles B. miercoles jueves C. El código anterior no puede ejecutarse. Se generaría previamente un error de compilación. 5. Qué resultado aparecerá en la pantalla del ordenador si el usuario responde con 0 la primera vez que el programa la pide un dato? public class PruebaDoWhile { int opc = 7; BufferedReader linea=new BufferedReader(new InputStreamReader(System.in)); do { case 2: System.out.println ( martes"); case 3: System.out.println("miercoles"); case 6: System.out.println ("sabado"); System.out.print ("Opción: "); while (opc!= 0); System.out.println ("Adiós"); A. Adiós. B. domingo Adiós. C. opción no válida.

6. Qué resultado aparecerá en la pantalla del ordenador si en la primera ejecución el usuario responde con 0? public class PruebaDoWhile { do { case 3: System.out.println ("miércoles"); System.out.print ("Opción: "); while (opc!= 0); System.out.println ("Adiós"); Seleccione una respuesta: A. El código anterior no puede ejecutarse. Se generaría previamente un error de compilación. B. El resultado es imprevisible. No se ha inicializado la variable opc. C. domingo Adiós. 7. En un método main escrito en Java se desea invocar a un método estático que devuelva un número real (media) correspondiente a un conjunto de edades de alumnos almacenadas en un vector. Cuál de las siguientes afirmaciones es correcta? A. El resultado media se debe pasar como argumento por valor. B. El resultado media se debe pasar como argumento por referencia. C. El resultado media no se puede pasar como argumento. 8. Dada la siguiente clase en Java Cuál es el máximo número de copias del método recursivo que pueden llegar a encontrarse en la memoria al introducir como dato de entrada el valor 3? public class PruebaRecursividad { static int factorial (int dato) { int resul; if (dato > 0) resul = dato * factorial (dato - 1); else resul = 1; return resul;

public static void main(string[] args) throws NumberFormatException,IOException { int d, f; System.out.print ("Introduzca el dato: "); d = Integer.parseInt (linea.readline ()); if (d >= 0) { f = factorial (d); System.out.println ("El factorial de " + d + " es: " + f); else System.out.println ("No existe el factorial de un número negativo"); A. 3. B. 4. C. No puede determinarse a priori. 9. El código siguiente constituye un paquete (package) junto con la clase RegistroAlumno Cuántos ficheros.class se generan al compilarlo? public class PruebaRegistro { static void cargartabla (RegistroAlumno [ ] alumnos) throws IOException { for (i = 0; i < 6; i ++) { System.out.println ("Datos del alumno N: " + i); alumnos [i] = alumnos [i].cargarregistro (); static float mediacalif (RegistroAlumno [ ] alumnos) { float resul = 0; for (i = 0; i < 6; i ++) { System.out.println (alumnos [i].tostring ()); resul = resul + alumnos [i].calificacion; return resul / 6; public static void main (String [ ] args) throws IOException { RegistroAlumno [ ] alumnos = new RegistroAlumno [6]; float media; for (i = 0; i < 6; i ++) alumnos [i]= new RegistroAlumno (); cargartabla (alumnos); media = mediacalif (alumnos); System.out.println ("La media de las calificaciones es: " + media); A. Uno, correspondiente a la clase PruebaRegistro. B. Uno, correspondiente al método main. C. Dos, correspondientes, respectivamente, a las clases PruebaRegistro y RegistroAlumno.

10. La siguiente clase define un registro que va a constituir un paquete (package) con otra que pretende generar un fichero binario en disco de dichos registros: class RegistroAlumno { public String numeromatricula; public String apellidos; public String nombre; public String email; public int año; public float calificacion; public RegistroAlumno () { numeromatricula= null; apellidos = null; nombre = null; email= null; año = 1980; calificacion = 0; public String acadena () { return numeromatricula + " " + apellidos + " " + nombre + " " + email +" " + año + " " + calificacion; public void cargarregistro () throws IOException { System.out.println ("Numero de matricula: "); numeromatricula = new String (linea.readline ()); System.out.println ("Apellidos: "); apellidos = new String (linea.readline ()); System.out.println ("Nombre: "); nombre = new String (linea.readline ()); System.out.println ("Correo electronico: "); email = new String (linea.readline ()); System.out.println ("Año de nacimiento: "); año = Integer.parseInt (linea.readline()); System.out.println ("Calificación: "); calificacion = Float.parseFloat (linea.readline()); System.out.println (this.acadena ()); Cuál de las siguientes afirmaciones es cierta? A. El paquete funcionará correctamente. B. Se producirá un error de compilación. C. Se producirá un error de ejecución.

Soluciones: Pregunta Respuesta Justificación 1 B La estructura de mayor nivel jerárquico del programa contiene 4 sentencias: 1. Asignación. 2. Entrada /salida. 3. Asignación. 4. Control de flujo. Alternativa múltiple (Ésta es compuesta). Ver apartado 1.2.5 Sentencias 2 C En el programa se invocan 6 métodos distintos: print, println, parseint, readln y dos constructores sobre diferentes clases. Ver apartado 1.2.4 Clases, objetos, métodos y excepciones. 3 A o Los métodos de objeto se aplican sobre objetos definidos en otras clases con la sintaxis general <objeto>.<método> o mediacalif es un método estático (definido en la propia clase). o RegistroAlumno es una clase externa (se supone accesible). Ver apartado 1.2.3 Clases, objetos, métodos y excepciones. 4 B Al entrar en la sentencia switch con el valor 3: o Se salta a la línea que hace mostrar el literal "miercoles", ya que la siguiente sentencia break está comentada (no se ejecuta). o Se pasa a la línea que hace mostrar el literal "jueves". o Se ejecuta la sentencia break. o Se sale del ámbito de la sentencia switch y finaliza la ejecución del programa. Ver apartado 1.2.3 Clases, objetos, métodos y excepciones. 5 B Se trata de una estructura do..while en que el módulo que se repite se ejecuta (al menos) una vez. A continuación se solicita al usuario el nuevo valor de opc que al ser "0" hace salir de la estructura. Ver apartado 1.2.5.3.2 Estructura iterativa. 6 A Se trata de una estructura do...while en la que el bloque que se repite se ejecuta al menos una vez, pero no se ha inicializado la variable opc. Lo que suceda depende de cómo esté diseñado el compilador que utilice. En el caso del entorno de desarrollo utilizado en la asignatura esta circunstancia produce un error de compilación y no se genera la clase PruebaDoWhile.class. Ver apartado 1.2.5.3.2 Estructura iterativa. En este caso deberá ejecutar el código para comprobarlo. 7 C o El módulo de llamada no tiene acceso a los cambios producidos sobre un parámetro pasado por valor en el módulo llamado. o El lenguaje Java no permite pasar por referencia tipos primitivos. o No se puede recuperar desde el módulo de llamada una variable de un tipo primitivo generado o modificado por un método. Deberá ser un miembro accesible de la clase o bien el resultado del método (static float). Ver apartado 1.3.3 Mecanismos para el paso de información. 8 B Se ejecutan 4 instancias en la fase de "ida" (3 más la de "transición") que irán desapareciendo progresivamente en la fase de "vuelta"). Ver apartado 1.3.5 Recursividad. 9 C Los métodos no generan ficheros.class. Se generan tantos ficheros.class como declaraciones de clases existan (contando tanto las del paquete como clases internas). Ver apartado 1.4.2.2 Estructuras de datos heterogéneas. 10 A Los objetos de la clase RegistroAlumno deben ser serializables (opción implements Serializable en la declaración de la clase). Esta circunstancia no es detectada por el compilador (al menos en el entorno de desarrollo utilizado en la asignatura) pero sí producirá un error de ejecución cuando se intente leer o escribir registros en el fichero. Ver apartado 1.5.2 Ficheros binarios