Teoría Fp2
![]() |
![]() |
![]() |
Título del Test:![]() Teoría Fp2 Descripción: preguntas de teoría |




Comentarios |
---|
NO HAY REGISTROS |
En Python existen muchas excepciones predefinidas. Empareje cada ejemplo de código con el mensaje que describe la excepción producida por ese código. 'abcdef'.index('x'). 'hallo'[10]. fun(). 123[0]. 5 / 0. open('data.txt'). def fun(): x += 1 fun(). 123 + 'x'. Analice la lógica del tratamiento de excepciones en el siguiente trozo de código: try: # some code to execute except Exception1: print('A', end='') except Exception2: print('B', end='') except (Exception3, Exception4): print('C', end='') except: print('D', end='') print('E'). Si se lanza Exception4, la salida es CE. Si se lanza Exception1, la salida es A. Las excepciones de tipo Exception3 y Exception4 siempre se lanzan juntas. Si se lanza Exception5, la salida es DE. Compare los siguientes ejemplos: EJEMPLO 1 try: x = 5 y = 'x' print(x + y) except err as TypeError: print(err) EJEMPLO 2 try: x = 5 y = 'x' print(x + y) except TypeError as err: print(err) En ambos se produciría una excepción de tipo TypeError cuando se intentase aplicar el operador + a los operandos x e y. ¿Cuál de los dos bloques except es correcto?. El del EJEMPLO 1. El del EJEMPLO 2. Empareje cada bloque de manejo de excepciones con la descripción de su función. else. try. finally. except. El código incluido en un bloque try puede contener más de una sentencia raise. Verdadero. Falso. Estudie el siguiente programa: def fun1(x=None): if x is None: raise TypeError try: y = int(x) + 1 print(y) except ValueError: print('ValueError') print('Goodbye from fun1()') def fun2(): try: fun1() except: raise print('Goodbye from fun2()') fun2() Elija las explicaciones correctas de lo que ocurre al ejecutarlo. La función fun1() se llama sin parámetros, por lo que se lanza TypeError. Este error no es controlado por la función fun2(). La excepción ValueError podría ser lanzada por la función int() en caso de que no se lance TypeError. Esta ocurrencia de ValueError es controlada por la función fun1(). La función fun1() se llama sin parámetros, por lo que se lanza TypeError. Este error es controlado por la función fun2(). La excepción ValueError podría ser lanzada por la función int() en caso de que no se lance TypeError. Esta ocurrencia de ValueError no es controlada por la función fun1(). ¿Qué afirmación es correcta?. Los asertos lanzan una excepción cuando no se cumple su condición. Los asertos detienen la ejecución del programa cuando se lanza una excepción. Los asertos detienen la ejecución del programa cuando no se cumple su condición. Las clases representan [1] o conceptos, mientras que los objetos son [2] de esos conceptos. 1. 2. En Python, suponiendo que existe una clase llamada Square. ¿Cómo podemos crear un nuevo objeto de la clase Square?. x = new Square(). x = Square(). x = new Object(Square). Estudie la clase Square: class Square: """a square is a regular quadrilateral (4 equal sides & 4 90º angles)""" def __init__(self, side_length): self.side_length = side_length ¿Cómo creamos un objeto de la clase Square?. my_square = __init__(Square, 10). my_square = new Square(10). my_square = Square(10). Las [1] definen nuevos tipos de objetos, representados por un conjunto de [2] (variables), y que muestran un comportamiento que viene dado por un conjunto de funciones que manipulan esas variables. Las funciones que son atributos de un objeto son conocidas como [3]. 1. 2. 3. El método __init__ ... Inicializa a cero todos los atributos de datos. Se ejecuta cuando se crea un objeto. Inicializa una clase para su uso. ¿Cuál es cierto?. Cuando creamos un nuevo objeto, debemos llamar explícitamente al método __init__ para inicializarlo. Cuando creamos un nuevo objeto, debemos pasar parámetros para el método __init__ en la expresión constructora. ¿Cuál es cierta?. Los métodos son inicializadores de las clases. Los métodos se declaran en el cuerpo de una clase. Los métodos se declaran como instancias de una clase. En el siguiente método: def my_method(self, param1, param2): pass. self representa la clase en la que se declara el método. self representa el objeto sobre el que actúa el método. self representa el propio método. ¿Cuál es cierta?. Los métodos de instancia se llaman como funciones normales, a menos que se vinculen con un objeto. Un método de instancia se vincula mediante un punto con la clase que lo define, usando la llamada "notación de punto". Los métodos de instancia requieren que exista un objeto de la clase que los define antes de poder llamarlos. ¿Cuál es cierta?. Los métodos mágicos se usan para inicializar los objetos. Los métodos mágicos son aquellos cuyo nombre comienza con dos guiones bajos. Los métodos mágicos se usan para añadir características especiales a una clase. Complete los tipos de docstrings: 1. ____ Docstrings: Class and class methods 2. ____ and 3. _____ Docstrings: Package, modules, and functions 4. ____ Docstrings: Script and functions (Respuestas en Mayúscula y orden). ¿Qué propiedad permite acceder a la documentación de una pieza de código en Python?. __doc__. docstring. __help__. help. ¿Qué información debe incluir una docstring de documentación de una clase?. Descripción de los parámetros de la expresión constructora. Lista de propiedades de la clase. Resumen del propósito y comportamiento de la clase. Lista de métodos públicos con una breve descripción. ¿Cuál es el número de caracteres máximo recomendado para una línea de comentario o una línea de docstring?. ¿Cual es el estándar oficial de documentación de Python?. Epytext. NumPy/SciPy docstrings. reStructure Text. Google docstrings. ¿Qué concepto cumple cada objetivo? Objetivo: describir el código a los desarrolladores del mismo, facilitando su mantenimiento. 1 Objetivo: describir el uso y la funcionalidad el código a los usuarios del mismo. 2. 1. 2. Complete el código para formar un docstring con el texto de la primera línea de la función: def hola(nombre): ___Muestra un saludo al nombre pasado.___ print(f"¡Hola, {nombre}."). ¿Cuál es el nombre de la función predefinida que se usa en Python para pedir una representación formal de un objeto como string?. repr. __repr__. print. ¿Qué método mágico debe proporcionar una representación más legible para el ser humano?. __repr__(). __str__(). Una clase es un mecanismo de encapsulamiento porque... proporciona métodos para implementar el comportamiento de los objetos. facilita el agrupamiento de los datos con los métodos que los manipulan. es un modelo para crear objetos en un programa. ¿Cuál es cierta?. El encapsulamiento es el mecanismo para interactuar con los objetos. El ocultamiento de información separa los objetos de las clases. Una interfaz se compone sólo de elementos públicos. ¿Cuál es cierta?. En Python, los nombres que comienzan con dos guiones bajos indican elementos privados. En Python, los nombres que acaban con dos guiones bajos indican elementos privados. En Python, los nombres que empiezan, pero no acaban, con dos guiones bajos indican elementos privados. Estudie el siguiente código: class Angle: def __init__(self, value): self.degrees = value ¿Cuál es el mangled name del atributo degrees?. El mangled name es _Angle__degrees. No existe mangled name para degrees. El mangled name es __Angle__degrees. ¿Cuál es cierta?. Un getter es un método que altera el estado de un atributo privado. Un getter es un método que devuelve el valor de un atributo privado. Un setter es un método que devuelve el valor de un atributo privado. Un ... es un método que se usa para controlar los cambios que se hacen a una variable privada. ¿Cuál es cierta?. Las propiedades complican el uso de getters y setters. Las propiedades simplifican el uso de getters y setters. Las propiedades reemplazan el uso de getters y setters. ¿Cuál es cierta?. Si omitimos el setter en un descriptor de propiedad, tenemos una propiedad modificable. Si omitimos el setter en un descriptor de propiedad, tenemos una propiedad de solo lectura. Si omitimos el getter en un descriptor de propiedad, tenemos una propiedad de solo lectura. ¿Cuál es cierta?. Si usamos un descriptor de propiedad, el getter correspondiente se puede ocultar, pero no el setter. Si usamos un descriptor de propiedad, no podemos ocultar los correspondiente getters y setters. Si usamos un descriptor de propiedad, los correspondientes getter y setter deberían ocultarse. ¿Cuál de los siguientes es un decorador correcto para una propiedad llamada "feature"?. @feature.decorator. @feature.setter. @setter.feature. ¿Qué afirmación es correcta?. Los atributos de clase se copian en cada objeto de la clase. Un atributo de clase define las propiedades comunes de un objeto. Un atributo de clase es compartido por todos los objetos de la clase. En Python ¿Qué afirmación es correcta?. Las variables de clase se declaran en el método __init_class__. Las variables de clase se declaran en el método __init__. Las variables de clase se declaran fuera de cualquier método. ¿Qué afirmación es correcta?. Los objetos de una clase pueden acceder y modificar las variables de su clase. Sólo las clases pueden modificar las variables de clase. Los objetos de una clase pueden acceder, pero no modificar las variables de su clase. Sólo las clases pueden acceder a sus variables de clase. ¿Qué decorador se utiliza para declarar métodos de clase?. @class_method. @classmethod. @Class_method. Observe el siguiente código: class MyClass: @classmethod def method1(cls, a, b): ... obj = MyClass() ¿Cuáles de las siguientes son formas válidas de llamar a continuación a method1?. obj.__class__.method1(x, y). MyClass.method1(cls, x, y). MyClass.method1(x, y). obj.method1(x, y). ¿Cuándo es buena idea usar un método de clase para crear objetos de la clase?. Cuando necesitamos tener una forma de llamar al método __init__ desde dentro de la clase. Cuando no podemos usar el método __init__. Cuando necesitamos tener diferentes formas de inicializar los objetos. ¿Qué afirmación es correcta?. La herencia es un mecanismo que permite definir nuevos objetos a partir de clases existentes. La herencia es un mecanismo que permite definir nuevas clases a partir de clases existentes. La herencia es un mecanismo que permite definir nuevas clases a partir de objetos existentes. ¿Cuál es la expresión correcta para que ClassB herede de ClassA?. class ClassB extends ClassA:. class ClassB(ClassA):. class ClassA(ClassB):. ¿De qué clase heredan todas las otras clases en Python 3.x?. Class. Object. object. Observe las siguientes clases: class ClassA: def __init__(self, x): self.x = x ... class ClassB(ClassA): ... ¿Cómo llamamos al inicializador de ClassA desde el inicializador de ClassB?. class ClassB(ClassA): def __init__(self, x): super().__init__(self, x) ... class ClassB(ClassA): def __init__(self, x): super().__init__(x) ... class ClassB(ClassA): def __init__(self, x): super(self).__init__(x) ... ¿Qué afirmación es correcta?. Un objeto de una clase derivada solo tiene los atributos públicos de la superclase correspondiente. Un objeto de una clase derivada no tiene acceso a ninguno de los atributos de la superclase correspondiente. Un objeto de una clase derivada tiene todos los atributos de la superclase correspondiente. Podemos saber si un objeto es instancia de una (sub)clase usando la función ___, podemos saber la clase de un objeto usando la función type o el atributo ___, y podemos saber si una clase deriva de otra usando la función ___. ¿Cómo se llama la clase de la que debe derivar en Python cualquier clase abstracta?. ¿Qué nombre se da a la capacidad de usar una misma interfaz y obtener comportamientos diferentes, dependiendo del tipo de los objetos con los que se use?. En Python, si una clase tiene un método y queremos sustituirlo en una clase derivada... escribimos en la clase derivada un método con el mismo nombre. tenemos que escribir un método con el mismo nombre y usar el decorador @override. debemos acceder al método de la superclase usando el método super() predefinido. Si una una clase tiene un método de inicialización sin parámetros (aparte de self) y queremos llamarlo desde el método de inicialización de una clase derivada, ¿cuál es la forma correcta?. self.super().__init(). super().__init__(). super().__init__(self). ¿Qué afirmación es cierta?. Las nuevas clases de excepciones deben incluir un mensaje descriptivo al crearse. Las nuevas clases de excepciones deben heredar de la clase predefinida Exception. Las nuevas clases de excepciones deben tener nombres que terminen con la palabra "Error". En Python, las clases que definen excepciones pueden hacer cualquier cosa que otra clase pueda hacer. Verdadero. Falso. Cuando construimos un módulo que puede lanzar varios tipos de excepciones propias diferentes... es aconsejable crear una jerarquía con las excepciones definidas en ese módulo. es aconsejable crear una única clase para todas las excepciones que pueden ocurrir en dicho módulo. es aconsejable crear una jeraquía de todas las clases definidas en ese módulo. Empareje cada descripción con el método mágico correspondiente. define el comporamiento del operador menor o igual <=. define el comportamiento del operador de igualdad ==. define el comportamiento del operador de desigualdad !=. define el comportamiento del operador mayor que >. define el comportamiento del operador mayor o igual >=. define el comportamiento del operador menor que <. Qué decorador debemos usar para sobrecargar automáticametne en una clase todos los operadores de comparación definiendo solo el método __eq__ y otro de los métodos de comparación enriquecida?. ¿Qué método mágico implementa el comportamiento del operador unario -?. __invert__(self). __minus__(self). __neg__(self). Empareje cada operador binario con el método mágico correspondiente. *. +. -. /. ¿Cuál es el nombre del método de operador reflejado correspondiente al operador de división /?. Python permite tener dos funciones diferentes con el mismo nombre en el mismo espacio de nombres como una forma de polimorfismo. Verdadero. Falso. A la vista del siguiente código: class Parallelogram: def __init__(self, side1, angle = 90, side2 = None): self.side1 = side1 if side2 == None or side1 == side2: if angle != 90: self.kind = "rhombus" self.angle = angle else: self.kind = "square" else: self.side2 = side2 if angle != 90: self.kind = "rhomboid" self.angle = angle else: self.kind = "rectangle" ¿Qué valor muestra la siguiente instrucción? print(Parallelogram(8, 90, 8).kind). square. rhomboid. rhombus. rectangle. A la vista del siguiente código: from fractions import Fraction def numberFunc(number1, number2): if type(number1) == int and type(number2) == int: return Fraction(number1, number2) elif type(number1) == float and type(number2) == float: return complex(number1, number2) ¿Qué valor muestra la siguiente instrucción? print(numberFunc(1, 2.0)). None. 1/2. (1+2j). Marque la afirmación correcta. En Python, un iterador es un objeto que recorre un rango de números devolviendo uno en cada iteración. En Python, un iterador es un objeto que devuelve datos, elemento a elemento. En Python, un iterador es un tipo especial de bucle, definido usando métodos mágicos. ¿Qué métodos deben definirse para que una clase sea un iterador?. __next__. __iter__. next. iter. ¿Qué sentencia debe incluirse en la definición de un generador?. next. iter. yield. Las pruebas de programas tienen como objetivo... depurar los errores presentes en un programa. detectar la existencia de posibles defectos en el código. garantizar que el programa es correcto. Cada 1___ se compone de un conjunto de 2___ y un conjunto de 3___ para esos datos. 1. 2. 3. Ordene los diferentes tipos de pruebas por su secuencia temporal. 1. 2. 3. 4. ¿Qué pruebas se basan exclusivamente en el conocimiento de la interfaz del código?. caja blanca. caja negra. caja gris. Ordene los pasos de la Prueba del Camino Básico: 1. 2. 3. 4. Cuántos nodos predicado tiene el grafo del flujo de ejecución de la función is_prime? def is_prime(num): if num <= 1: return False if num <= 3: return True if num % 2 == 0 or num % 3 == 0: return False i = 5 while i * num: if num % i == 0 or num % (i + 2) == 0: return False i = i + 6 return True. ¿Cuál es la complejidad ciclomática del la función bubble_sort? def bubble_sort(seq): length = len(seq) for i in range(length): for j in range(0, length-i-1): if seq[j] > seq[j+1] : seq[j], seq[j+1] = seq[j+1], seq[j]. Los conjuntos de datos de prueba se diseñan de forma que... cumplan la secuencia de condiciones representadas por los arcos salientes de los nodos predicados en cada camino básico. sean menos que el número total de caminos básicos encontrados. no se repita la ejecución de nodos del grafo de flujo de ejecución en diferentes casos de prueba. ¿Cuál de las siguientes NO es una técnica pra seleccionar casos de prueba para pruebas de caja negra?. Valores límite. Camino básico. Clases de equivalencia. Las clases de equivalencia son conjuntos de entradas para las que la unidad a probar debe tener un comportamiento distinto. Verdadero. Falso. Las clases de equivalencia no válidas. Representan conjuntos de valores para los que la solución no ha sido validada (probada). Representan conjuntos de valores que no son entradas válidas (correctas) para el problema plantaeado. Representan conjuntos de valores para los que la solución no funciona correctamente (funcionamiento no válido). En desarrollo de software, ¿qué representan las siglas TDD?. Test Debugging & Delivery. Tests Development Delay. Test Driven Development. ¿Las clases de equivalencia representan rangos de valores?. No, las clases de equivalencias representan conjuntos de valores, no rangos de valores. Sí, las clases de equivalencia siempre representan un rango de valores. No, las clases de equivalencia con frecuencia representan un rango de valores, pero no siempre. La técnica de prueba de valores límite se sustenta... ...en que los valores límite son más fáciles de identificar que cualquier otro valor de la clase. ...en que la mayoría de los errores suelen producirse en los valores extremos, o límites de una clase. ...en establecer un límite para la cantidad de valores a probar de cada clase de equivalencia. Al diseñar pruebas para los valores límite de un rango de números reales, debemos tener en cuenta, como factor adicional... La precisión requerida. Si los valores son positivos o no. No usar divisores negativos. ¿Qué factor adicional debemos tener en cuenta cuando diseñamos pruebas para contenedores?. El tamaño. La precisión. La monoticidad. Al probar un método de una clase... Debemos comprobar el resultado que devuelve, si lo hay. Debemos comprobar los cambios en el objeto asociado. No podemos usar los setter ni los getter predefinidos. ¿En qué consiste la técnica "una función, una prueba"?. En que una función solo se puede probar una vez. En desarrollar una función por cada caso de prueba. En desarrollar todas las puebas en una única función. Empareje cada concepto con su descripción. representa la preparación necesaria para realizar una o más pruebas y cualquier acción de limpieza asociada. organiza la ejecución de las pruebas y recopila y proporciona sus resultados. es la unidad individual de prueba, comprueba una respuesta específica a un conjunto particular de entradas. una colección de casos de prueba, conjuntos de pruebas o ambos, se utiliza para agregar pruebas que deben ejecutarse juntas. ¿Cómo se llama la clase de la que deben heredar las clases que implementen casos de prueba basados en unittest?. En la primera línea del informe de pruebas de unittest, una letra 'F' significa que... La ejecución de un caso de prueba ha ido bien ("Fine"). Ha ocurrido una excepción al ejecutar un caso de prueba. Se ha incumplido un aserto al ejecutar un caso de prueba. ¿Cuál de los siguientes métodos de aserto se usa habitualmente de forma diferente al resto?. .assertIs(). .assertEqual(). .assertRaises(). .assertTrue(). Cuando el resultado esperado y el obtenido son de tipo float ¿Qué método de aserto se usa para comprobar que el resultado es correcto?. .assertAlmostEqual(). .assertFloatEqual(). .assertEqual(). Empareje cada método con su descripción. Se ejecuta una sola vez, después de ejecutar todos los tests. Se ejecuta una sola vez, antes de empezar la ejecución de los tests. Se ejecuta después de cada test. Se ejecuta antes de cada test. Una test suite es... Una clase que se usa para implementar casos de prueba. Un conjunto de tests definidos en el mismo módulo. Un conjunto de tests que queremos ejecutar juntos. Un test loader sirve para... Generar un informe de pruebas. Ejecutar un conjunto de pruebas. Crear una test suite. Una estructura encadenada está formada por un conjunto de [1], generalmente denominados [2] de la estructura, que se referencian unos a otros. Deben existir objetos [3], que no referencian a otros objetos, así como al menos un objeto inicial (según la estructura puede denominarse primero, frente, cima, raíz, etc.) que es referenciado desde "fuera" de la estructura y sirve como "punto de [4]" a la misma. 1. 2. 3. 4. Un objeto de una clase puede tener atributos que sean referencias a otros objetos de la misma clase. Verdadero. Falso. Usando listas encadenadas es más fácil acceder a un elemento individual que usando arrays. Veradero. Falso. Seleccione la afirmación correcta. La inserción por delante es igual de eficiente en ambas implementaciones. La inserción por delante es más eficiente en un array list. La inserción por delante es más eficiente en una lista encadenada. En Python, para hacer que un contenedor sea iterable basta con... ...implementar el método __iter__() como una función generadora. ...hacer que herede de un contenedor predefinido (Tuple, List, Dict,...). ...implementar el método __next__() como una función generadora. Complete el siguiente código: class HolaMundo { public static void main(String[] arg) { for(int i = 0; i < 10; i += 1) { System.out.println("¡Hola, mundo!") } } }. ¿Qué opción en Java es equivalente a la siguiente sentencia en Python? print("¡Hola mundo!", end = ""). System.out.println("¡Hola mundo!");. System.out.print("¡Hola mundo!");. System.out.print("¡Hola mundo!", "");. En una declaración de variable en Java... El nombre del tipo va antes que el nombre de la variable y separado de éste por dos puntos. El nombre del tipo va antes que el nombre de la variable y separado de éste por espacios. El nombre del tipo va después que el nombre de la variable y separado de éste por dos puntos. En la siguiente lista de tipos de Java, marque los que representan números enteros. int. float. double. char. byte. long. En Java ¿cómo se llama el tipo wrapper del tipo int?. Complete el siguiente código: if 1___ a > b 2___ { System.out.println("a es mayor"); } else { System.out.println("a es menor o igual"); }. ¿Qué palabra reservada se usa en Java para acortar la concatenación "else if"?. Ninguna. elsif. elif. Complete el siguiente código: switch (day) { case 1: System.out.println("uno"); ____; case 2: System.out.println("dos"); ___; default: System.out.println("otro"); }. Complete el siguiente código: String[] names = {"Juan", "María", "Pedro", "Antonio"}; for (___ name: names) { System.out.println(name); }. ¿Cuántas iteraciones realiza el siguiente bucle? int i = 1;<br>while (i < 6) { System.out.println(i); i++; }. Complete el siguiente código: class Main { public static ___ fun(int param1, int param2) { return param1 + param2; } public static void main(String[] arg) { System.out.println(fun(10, 5)); } }. Declare una variable llamada numbers para referenciar un array de elementos de tipo double e inicialícela usando el operador new para crear un array de elementos de tipo double de tamaño 12. ¿Qué valor muestra el siguiente programa? class Main { public static void main(String[] arg) { int[][] myArray = { {10, 15, 20, 30, 40}, {12, 14, 16, 18}, {11, 17, 23, 29, 31} }; System.out.println(myArray[2][3]); } }. A la vista del siguiente programa: class Main { public static void main(String[] arg) { int[] array1 = {3, 4, 6, 2, 8, 1, 5}; array1 = Arrays.copyOf(array1, 10); Arrays.sort(array1); array1 = Arrays.copyOfRange(array1, 2, 8); int position = Arrays.binarySearch(array1, 3); } } ¿Qué valor tiene al final la variable position?. A la vista del siguiente programa: import java.util.Arrays; class Main { public static void main(String[] arg) { int[] array1 = new int[5]; Arrays.fill(array1, 0, 3, 5); Arrays.sort(array1); System.out.println(Arrays.toString(array1)); } } ¿Qué valor se muestra en la consola?. [0, 0, 5, 5, 5]. {0, 0, 5, 5, 5}. [5, 5, 5, 0, 0]. ¿Cuál de las siguientes instrucciones es correcta en Java?. String a = "Hola mundo". String a = 'Hola mundo';. String a = "Hola mundo";. Si x es una variable de tipo int y s es una variable de tipo String, ¿cuál es la forma correcta, en Java, de asignar a x la longitud de s?. x = s.len();. x = s.length();. x = len(s);. x = length(s);. Marque las sentencias que muestran true. System.out.println("Hola mundo".equalsIgnoreCase("hola mundo"));. System.out.println("Hola Mundo".equalsIgnoreCase("hola Mudo"));. System.out.println("hola mundo".equals("hola mundo"));. System.out.println("Hola mundo".equals("hola mundo"));. Empareje cada instrucción con su resultado. System.out.println("roma".compareTo("ramo"));. System.out.println("rima".compareTo("roma"));. System.out.println("ramo".compareTo("roma"));. System.out.println("remo".compareTo("rama"));. ¿Qué operador se usa en Java para concatenar strings?. +. &. *. &&. Suponiendo que a y b son strings, escriba la instrucción en Java que equivale a la siguiente instucción en Python: b = a[8, 12] Suponga que, en Java, las variables a y b ya están declaradas. ¿Cuál es el nombre del método que se usa en Java para averiguar si una string forma parte de otra?. Empareje cada método de Java con el método de Python que realiza una función más parecida. indexOf. lastIndexOf. Complete el siguiente código: import java.util.___.Matcher; import java.util.___.Pattern; class Main { public static void main(String[] args) { String text = "una fecha 12-12-2020 y otra fecha 01-10-2019"; Pattern pattern = Pattern.compile("\\d{2}-\\d{2}-\\d{4}"); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println(matcher.group(0)); } } }. ¿Cuál de las siguientes clases sirve en Java para instanciar objetos de expresión reguar?. Pattern. Matcher. Find. ¿Cuáles de los siguientes son nombres de métodos de la clase Matcher de Java?. group. compile. start. end. ¿Cuál es el nombre del método de la clase Matcher que sirve para sustituir todas las coincidencias de un patrón en un texto por un nuevo valor?. En Java, si tenemos una clase llamada Square, ¿cuál de las siguientes expresiones sirve para crear un objeto de la clase Square y declarar una referencia al mismo?. Square o = new Square();. o = new Square();. Square() o;. Square o = Square();. En Java, dentro del constructor de una clase, ¿cuál es el nombre de la variable que referencia al objeto que se está inicializando?. En Java, un método de instancia... Puede tener, o no, el modificador static. Debe tener el modificador static. No debe tener el modificador static. ¿Cuál no es un modificador de visibilidad en Java?. hidden. public. protected. private. En Java, ¿cuántos parámetros tiene un getter?. cero. uno. dos. En Java, los atributos de clase... Deben llevar el modificador classattr. No deben llevar el modificador classattr. Deben llevar el modificador static. Complete la declaración de la clase Two para que sea una subclase de la clase One. class One {} // Superclase class Two ___ One {} // Subclase. Complete el código para llamar al constructor de la clase de la que deriva Two pasándole value1. class Two extends One { // Subclase int attr2; public Two(int value1, int value2) { ___(value1); this.attr2 = value2; } }. ¿Qué etiqueta usamos en Java para indicar que un método de una clase pretende sustituir a uno con la misma signatura de la superclase?. ¿Qué modificador se usa en Java para indicar que una clase no es heredable?. Empareje cada método con el verbo que mejor describe su función. protected Object clone(). String toString(). boolean equals(Object obj). protected void finalize(). ¿Cómo se llama en Java el operador equivalente a la función isintance() de Python?. ¿Cuál de estas palabras no se usa en el control de excepciones en Java?. catch. except. try. Complete el código para tratar dos excepciones en un único bloque catch: import java.util.Scanner; class Excepciones { public static void main(String[] arg) { try { Scanner in = new Scanner(System.in); System.out.print("Dividendo: "); int dividendo = in.nextInt(); System.out.print("Divisor : "); int divisor = in.nextInt(); System.out.println(dividendo / divisor); } catch (java.util.InputMismatchException ___ ArithmeticException err) { System.out.println("Error en la entrada de datos"); } } }. Complete el código para recoger en el último bloque catch cualquier excepción no tratada en los bloques anteriores: import java.util.Scanner; class Excepciones { public static void main(String[] arg) { try { Scanner in = new Scanner(System.in); System.out.print("Dividendo: "); int dividendo = in.nextInt(); System.out.print("Divisor : "); int divisor = in.nextInt(); System.out.println(dividendo / divisor); } catch (java.util.InputMismatchException | ArithmeticException err) { System.out.println("Error en la entrada de datos"); } catch (___ err) { System.out.println("Excepción inesperada"); } } }. Complete el código para que el mensaje "Ejecución terminada" se muestre siempre ocurran, o no, excepciones: import java.util.Scanner; class Excepciones { public static void main(String[] arg) { try { Scanner in = new Scanner(System.in); System.out.print("Dividendo: "); int dividendo = in.nextInt(); System.out.print("Divisor : "); int divisor = in.nextInt(); System.out.println(dividendo / divisor); System.out.println("Operación realizada con éxito"); } catch (ArithmeticException err) { System.out.println(err.getMessage()); } ___ { System.out.println("Ejecución terminada"); } } }. ¿Qué palabra se usa en Java para lanzar una excepción?. raises. raise. throw. throws. ¿Cómo se llama en Java la clase de la que heredan todas las excepciones?. ¿Qué palabra se usa en Java para indicar que en un método puede ocurrir una excepción que se propage fuera de él?. throws. raise. throw. raises. ¿Qué afirmación es cierta en relación con las clases abstractas en Java?. Tienen que tener métodos abstractos. Derivan de la clase ABC. Se marcan con el modificador abstract. ¿Qué palabra clave debe usar una clase para declarar que se adhiere a una interfaz determinada?. Si queremos que varias clases hereden un conjunto de atributos de datos modificables e implementen un conjunto de métodos específico, ¿qué debemos hacer?. Que implementen una interfaz común. Que hereden de una clase base abstracta común. ¿Cómo se llama la interfaz que una clase debe implemetar para poder redefinir el método Object.clone()?. ¿Cúal es el nombre del método que declara la interfaz Comparable<T>?. |