Programación de Algoritmos
![]() |
![]() |
![]() |
Título del Test:![]() Programación de Algoritmos Descripción: Programación de Algoritmos |




Comentarios |
---|
NO HAY REGISTROS |
Una excepción es: Una tecnología que permite continuar la ejecución de un programa si no hubiera errores. La indicación de un problema que ocurre durante la ejecución de un programa. Un manejador de errores para hacer al código eficiente. Una clase hija de la clase RuntimeException. Cuál de las siguientes características NO SE APLICA al manejador de excepciones. Evitar las estructuras If – else, swith o for para validar datos. Permite la escritura de programas tolerantes a fallas y robustos. Ejecutan un programa, se generen o no, errores. Maneja diferentes tipos de excepción que pueden surgir en la ejecución de un programa. La excepción<ArrayIndexOutOfBoundsException> permite advertir: Una referencia nula en donde se esperaba un objeto. Una división entre cero, lo cual no existe o es indefinido. El ingreso de una cadena no valida al método nextInt de Scanner. El acceso a un elemento más allá del fin del arreglo. La excepción <NullPointerException> permite advertir. Una referencia nula en donde se esperaba un objeto. Una división entre cero, lo cual no existe o es indefinido. El ingreso de una cadena no valida al método nextInt de Scanner. El acceso a un elemento más allá del fin del arreglo. La excepción<InputMismatchException> permite advertir: Una referencia nula en donde se esperaba un objeto. Una división entre cero, lo cual no existe o es indefinido. El ingreso de una cadena no valida al método nextInt de Scanner. 1 por hola. El acceso a un elemento más allá del fin del arreglo. Cual se las siguientes es una buena práctica al capturar excepciones: Para evitar múltiples catch, colocar una lista de parámetros Exception separados por comas. Si un bloque try no requiere de un bloque catch, NO DEFINIRLO. Definir en el nombre de parámetro de la excepción uno que identifique el tipo de Excepción a manejar. Colocar código entre un bloque try y sus correspondientes bloques catch. Una excepción encadenada permite: Lanzar excepciones que no han sido consideradas en la programación. Capturar todas las excepciones con facilidad. Que el objeto que maneja la excepción mantenga la información sobre el rastreo de la pila. Que el programa no termine su ejecución si ocurriera dicha excepción. Cuando un objeto que maneja una excepciónmantiene la información sobre el rastreo de la pila, ésta se le denomina: Excepción de pila con único objeto. Lanzamiento de excepciones en serie secuencialmente. Excepciones miembros de la clase RuntimeException. Excepción encadenada. El bloque try – catch es: Una tecnología que permite continuar la ejecución de un programa si no hubiera errores. La indicación de un problema suscitado durante la ejecución de un programa. Un manejador de errores para hacer al código eficiente. Una clase hija de la clase RuntimeException. Dado el siguiente código: En la línea 9 y 10 se genera un error. En la línea 9 no se especifica el tipo de excepción que debe capturar el método. La línea 10 permite definir el tipo de excepción que podría lanzar el método. Por la línea 12 se retorna una excepción de tipo InputMismatchException, pero solo si los parámetros recibidos son: numerador = 0 y denominador = 3. Cuál es el error del siguiente método?. 9, no se especifica el tipo de excepción de debe capturar el método. 10, la excepción que debe lanzar el método es ArithmeticException. 12, si retorna 10 / 2 no se captura la excepción InputMismatchException. 12, si retorna 0 / 5 no se captura la excepción ArithmeticException. Que permite el bloque <Finally>. Evitar fugas de recursos de memoria haciendo una limpieza de la misma. Manejar los posibles errores de un programa para hacer al código más eficiente. Detiene el lanzamiento de una excepción. Terminar de forma exitosa una excepción lanzada. La limpieza de la pila se refiera a: Atrapar una excepción en un bloque interior. Intentar atrapar una excepción en el siguiente bloque try exterior. Liberar los recursos de memoria. Lanzamientos de excepciones en serie y secuencialmente. En cuál de los siguientes casos se debe implementar indispensablemente un manejador de excepciones: Imprimir un resultado por pantalla. Declaración de variables. Definición de un método o función. Ingreso y validación de números de cédulas en arrays. Que es la fuga de recursos cuando hablamos de excepciones?. No capturar todas las posibles excepciones. Cuando un programa se interrumpe o se queda congelado. Cuando un programa en ejecución no libera apropiadamente recursos ya innecesarios. Cuando la memoria está ocupada al 100% y ya no se pueden levantar más procesos. Dado el siguiente código, al ejecutar el programa, se atrapa la excepción. ArithmeticException. ArrayIndexOutOfBoundsException. InputMismatchException. No se atrapa ninguna excepción, el código genera errores en la compilación. Un arreglo es: Un conjunto de valores que guardan relación el uno con el otro. Un conjunto de variables del mismo tipo. Un objeto que guarda valores de diferentes tipos. Una estructura de datos del mismo o diferente tipo que pueden recorrerse con un for mejorado. Dadala siguiente declaración,cuál de las siguientes sentenciases correcta? int[ ] x = {1,2}, y;. y = 2;. y = new int[2];. y = x [0];. y[0] = x [0];. Para declarar dos arreglos y una variable de tipo entero en una sola línea, la sentencia correcta es: int [ ]a, b, c;. int a[ ], b[ ], c;. int a[ ], b[ ], c[ ];. int a[ ]; int b, c;. La instrucción for mejorada. Itera a través de los elementos del arreglo pero sin utilizar un contador. Permite ingresar a elementos de un arreglo más allá de su tamaño. Optimiza la sumatoria de los índices de un arreglo. Presenta en orden ascendente o descendente los elementos de una array. Dado el siguiente código: El for mejorado facilita el recorrido del <array_a>. Se presenta por 3 ocasiones el valor del <array_a>. Ingresa al ciclo por tres ocasiones sin presentar nada. Existe un error en la línea 4: <array_b> no coincide con <array_a>. Para pasar un arreglo como parámetro a un método, el arreglo se pasa: Por referencia. Por valor. Como una copia de referencia al método que hizo la llamada. No se pueden pasar parámetros por valor en JAVA. En cuanto al método de búsqueda binaria. No es tan eficiente como si lo es la búsqueda lineal. Va partiendo el array ordenado en 2 sucesivamente. Es el único método que está incluido en la clase ArrayList. Puede iniciar su búsqueda con un array en desorden. En cuanto al método de búsqueda lineal. No es tan eficiente como si lo es la búsqueda binaria. Iniciar su búsqueda con un array en orden. Es el único método que está incluido en la clase ArrayList. Va partiendo el array ordenado en 2 sucesivamente. Que es recursividad. El concepto que se aplica a métodos que llaman a otros dentro de su cuerpo. Es una técnica avanzada que mejora el rendimiento en memoria. Es aplicada cuando un método se llama a si mismo dentro de su cuerpo. Ciclos infinitos internos y repetitivos. Para que la recursividad termine en un momento dado, cada vez que el método se llama a sí mismo con una versión más simple del problema original: El método A que llamo al método B recursivo debe retornar 0;. El método A que llamo al método B recursivo debe resolver el caso base. EL método B recursivo debe ejecutar la sentencia break;. La secuencia de problemas cada vez más pequeños debe converger en un caso base. La primera llamada para invocar a un método recursivo es ......... Recursiva. No recursiva. Inicio del ciclo infinito. El paso recursivo. Cuandoel método recursivo B devuelve el control al método A que lo llamo. Se origina una secuencia de retornos, hasta que la llamada al método A devuelve el resultado final al método B. Se origina una secuencia de retornos, hasta que la llamada al método B devuelve el resultado final al método A. Se origina una secuencia de returns, hasta terminar el ciclo del método A. Automáticamente el método A vuelve a llamar al B recursivamente. Si un método recursivo B llamar a otro método A, donde A es quien llamo a B, esto se conoce como: Ciclos repetitivos infinitos. Errores lógicos de ejecución. Llamada recursiva indirecta o recursividad indirecta. No puede existir que dos métodos se llamen entre ellos. La siguiente es una diferencia entre recursividad e iteración: La primera usa if, if…else o switch para su repetición y la segunda usa for, while o do…while. La primera usa for, while o do…while para su repetición, la segunda usa if, if…else o switch. La recursividad usa la memoria física del CPU, la iteración ocupa memoria virtual. La recursividad implica una prueba de terminación, la iteración no. Dado el siguiente código, supone que se llama a <metodo> en otra clase: es un método recursivo. Método se llama a si mismo de forma infinita si numero = 2. Si numero = 2, retorna recursivamente el valor de 0. Solo cuando se ejecuta el if, finaliza su recursividad. El __________ de __________ permite a los programadores crear aplicaciones que pueden resolver las excepciones. lanzamiento – excepciones. manejo – excepciones. uso – finally. implante – if. Cuál de los siguientes escenarios NO LANZARIAN una excepción. División de dos números. Ingreso de datos. Visualización de datos. Recorrido de arreglos. Una de las buenas practicas al implementar manejo de excepciones es: ordenar los bloques ____________ en orden jerárquico según el diagrama de clases del API, con la clase base ____________. Exception – ArithmeticException. try – Exception. Throwable – catch. catch – Throwable. Si en un .java, las excepciones que pueden ocurrir son ArithmeticException, RuntimeException y Exception, el orden en el que se las debe controlar, es: ArithmeticException – RuntimeException – Exception. Exception – ArithmeticException – RuntimeException. RuntimeException – Exception – ArithmeticException. ArithmeticException – Exception – RuntimeException. Dado el siguiente código, cual es la excepción que se lanza puntualmente? import java.util.InputMismatchException; public class Test_Exceptiones1 { public static void main(String arg[]){ try{ int num[] = {1, 2, 3, 4}; for (int i=0; i<=4; i++) System.out.println(num[i]); } catch(_________________________ e){ System.out.println(e.toString()); } } }. ArithmeticException. Exception. InputMismatchException. ArrayIndexOutOfBoundsException. Dado el siguiente .java: 1import java.util.InputMismatchException; 2import java.util.Scanner; 3public class Test_Exceptiones2{ 4 public static void main(String arg[]){ 5 try{ 6 Scanner ent = new Scanner(System.in); 7 int lim=6; 8 int num[]=new int[lim]; 9 for (int i=0; i<=lim; i++) 10 num[i]=ent.nextInt(); 11 } 12 catch(ArrayIndexOutOfBoundsException e1){ 13 System.out.println(e1.toString()); 14 } 15 catch(InputMismatchException e2){ 16 System.out.println(e2.toString()); 17 } 18 catch(Exception e3){ 19 System.out.println(e3.toString()); 20 } 21 } 22} Acción x Si en la línea 10 "num[i]=ent.nextInt();" se ingresa el valor de uno, así en letras para el arreglo num: y Cuando el contador i llega a 6: z Si en el bloque try no se lanzan las excepciones ArrayIndexOutOfBoundsException o la InputMismatchException, pero si alguna otra agregando otras líneas de código: Se captura la excepción de: 1. la línea 18 2. la línea 15 3. la línea 12. x-2; y-1; z-1. x-1; y-3; z-1. x-1; y-1; z-1. x-2; y-3; z-1. Los arreglos son estructuras de datos que consisten en elementos de datos relacionados de ________ tipo; son entidades de longitud ________; permanecen con la misma longitud una vez que se crean, aunque a una variable tipo arreglo se le puede reasignar la referencia de un nuevo arreglo de una longitud ________. diferente – fila – similar. el mismo – fija – distinta. el mismo - definida – igual. similar – variable – distinta. Dada la siguiente declaración, indicar cuál de las operaciones es correcta: package eval_pres_progalg_abierta; public class Test_array1 { public static void main(String[] args) { double promedio1=0, promedio2=0, promedioGeneral=0; double suma1=0, suma2=0; double notas[][] = { {15.80, 17.30, 19.20}, {14.20, 20.00, 13.60}}; } }. promedio1 = (notas[1][1]+notas[1][2]+notas[1][3]) / 3;. promedio2 = (notas[2][1]+notas[2][2]+notas[2][3]) / 3;. promedioGeneral = notas[][] / 3;. suma1=(notas[0][0]+notas[0][1]+notas[0][2]);. Dado la siguiente definición y creación del arreglo indicar cuál de los recorridos con for mejorado es correcto. int array[] = {19,6,0,1};. for(double arreglo: array). for(int array: arreglo). for(int arreglo: array). for(int arreglo; array[4]). Dado el siguiente arreglo, el método de ordenamiento burbuja, cuantos ciclos repetitivos (principal y anidado) requiere para ordenarlo? int array[] = {5,6,0,3};. 4 ciclos repetitivos en total. 4 ciclos anidados, y 3 externos. 6 ciclos anidados, y 3 externos. 4^4 = 256 ciclos en total. Para localizar el valor de -45 en el siguiente arreglo a través del método de búsqueda lineal, cuantas iteraciones se requieren realizar? int array[] = {5,-45,0,3};. 1. 2. 3. 4. Para iniciar un método recursivo se lo debe llamar en forma ____________ a través de_____________. directa o indirecta – mismo método. directa o indirecta – otro método. recursiva – un ciclo repetitivo. cíclica – varios métodos. Cuando se llama a un método recursivo para resolver un problema, en realidad el método es capaz de resolver sólo el (los) caso(s) más simple(s), o _________. Si se llama con un _________, el método devuelve un resultado. método recursivo. casos cíclicos. caso(s) base. caso(s) general. Cuál es el caso base del siguiente método recursivo? public static int metodo1(int parametro){ if (parametro == 1) return 1; return metodo1(parametro-1); }. parametro > 1; return 5;. parametro < 1; return 0;. parametro = 1; return 1;. parametro = 0; return 0;. Cuál es la salida que se muestra por pantalla dado el siguiente Test_MetRecursivo.java public class Test_MetRecursivo { public static void main(String[] args) { System.out.println(metodo1(3)); } public static int metodo1(int parametro){ if (parametro == 1) return 1; return metodo1(parametro-1) * parametro; } }. 1. 2. 3. 6. Tanto la iteración como la recursividad se basan en una instrucción de control: la iteración utiliza una instrucción de ___________, la recursividad una instrucción de ___________. selección – repetición. repetición – selección. control – repetición. repetición – repetición. El bloque try - catch permite el tratamiento de excepciones. En el bloque try se coloca el codigo que podria __________ la excepcion; y en el bloque catch el código que______ la excepcion. generar - manejar. manejar - generar. capturar - generar. manejar - limpiar. Cuando ocurre una excepción que se captura en el respectivo bloque try, el control del programa se transfiere al _________ que maneja el tipo de excepción lanzada; luego, el control del programa _______ al punto de lanzamiento de la excepción (bloque try), y continua su flujo secuencial definido. try subsecuente - no regresa. bloque catch - noregresa. bloque catch - regresa. bloque try - no regresa. Se solicita codificar un metodo que permita el ingreso de n calificaciones, las promedie y almacene en un archivo de salida .txt 1public static void notas() throws FileNotFoundException 2{ 3 Formatter salida = new Formatter ("salida.txt); 4 Scanner entrada = new Scanner (System.in); 5 int limite = entrada.nextInt(); 6 int nota[] = new int[limite], sumatoria = 0; 7 double promedio; 8 for (int i=0; i < limite;i++) 9 { 10 nota[i] = entrada.nextInt(); 11 sumatoria += nota[i]; 12 salida.format("%s = %d \r\n", "Nota", nota[i]); 13 } 14 promedio = sumatoria / limite; 15 salida.format("%s = %f \r\n", "Promedio", promedio); 16 salida.close(); 17} Dado el código anterior revisar su flujo e implementar el manejo se excepciones relacionando las líneas codificadas y la excepción que se debería capturar/tratar. w. inea 3 y. linea 11 z. linea 14 x. linea 5 y 10 1. ArithmeticException 2.FilenotFoundException 3.ArrayIndexOutOfBoundsException 4. InutMismatchException. w-2, x-4, y-1, z-3. w-2, x-3, y-4, z-1. w-2, x-4, y-3, z-1. w-4, x-2, y-3, z-1. La estructura general para el manejo de excepciones es la que se muestra a continuación: 1public class testException EstructuraTry { 2 public static void main(String[] args) { 3 try 4 { 5 6 } 7 catch (UnTipoException exception1) 8 { 9 10 } 11 catch (OtroTipoException exception2) 12 { 13 14 } 15 finally 16 { } } } En las lineas de código:5,9,13 y 17 se ubican los siguientes tipos de instrucciones: x flujo normal y manejo de excepciones z liberar recusros Dado ello, identifique que tipos de instruciones se codifican en que lineas de codigo: 5-y: decimos que en la linea 5 se codifican instruciones de tipo y (instruciones para manjeo de excepciones). 5-y, 9-x, 13-x, 17-z. 5-x, 9-x, 13-y, 17-z. 5-x, 9-y, 13-y, 17-x. 5-x, 9-y, 13-y, 17-z. Los arreglos son estructuras de datos que contienen elementos de datos relacionados del mismo tipo ____________ o __________, aunque las estructuras de datos (arreglos) son considerados como datos de tipo __________. referencia - referencia - primitivo. referencia - primitivo - primitivo. primitivo - referencia - referencia. primitivo - referencia - primitivo. Ejemplos de tipos de datos por referencia en java son: int n1, n2: double x1, x2;. char cad; int a1 = 2;. boolean bandera; float num;. int arreglo1[]=new int[3];. Para obtener la longitud de un arreglo unidimencional o multidimencional se puede usar la instrucción ______________, y la forma de usarla es el siguiente: Int longitud = Nombre_arreglo_o_Matriz.instrucion. length. longitud. ancho. alto. Con el metodo de busqueda binario, cuantos iteraciones se requieren para encontrar el numero 75 en el siguiente arreglo: int[]arreglo={13, 23, 24, 34, 35, 36, 38, 42, 47, 51, 68, 74, 75, 85, 97}. 1. 4. 12. arreglo.length()-1. La recursividad directa es: La forma por la cual, el metodo A, llama de manera especial al metodo B. Cuando el metodo recursivo A llama al B, y este vuelve a llamar al A, hasta llegar al caso base. Llamar al Metodo B en el Metodo A, n veces, hasta llegar al caso base. Llamar al Metodo A dentro del Metodo A, n veces, hasta llegar al caso base. El manejo de excepciones en Java usando bloques try-catch permite la captura de errores poco frecuentes, permitiendo que el programa siga funcionando una vez tratado el error. La implementacion de bloques try-catch hacen el programa mas tolerante a fallos y esteticamente legible, sin embargo el uso de bloques try-catch afecta la efiencia del programa cuando el bloque catch se ejecuta. Dada las siguientes afirmaciones valorelas como ventaja/desventajas al momento de implementar manejo de excepciones en un programa en Java, seleccionando las alternativa correcta. v. Traducir todo if() a try -catch interpretados como if's mas avanzados w. Colocar bloques try-catch en lugar de if() para hacer mas estetico al programa x. Poder implementar "Excepciones Propias" para el manejo de errores y. Usar manejo de excepciones como una forma alternativa a otro tipo de flujo de control. z. Registrar LOG's como bitacora de eventos especiales exitosos o fallidos de la aplicación. 1. Ventaja 2. Desventaja. v2, w2, x1, y2, z1. v2, w1, x1, y2, z2. v1, w2, x1, y1, z1. v2, w2, x1, y1, z1. Haciendo una comparativa de lasestructuras de control if-else y try-catch, if remplaza a ____, y else reemplaza a ____. try-catch. catch-try. catch-catch. try-try. Cuál de los siguientes enunciados indican correctamente la diferencia entre las instrucciones throw y throws que permiten el manejo de excepciones en un programa en Java. throw capturar/maneja excepciones; throws para indicar que un metodo podría lanzar excepciones. throws usado para lanzar excepciones; throw para indicar que un metodo podría lanzar excepciones. throw usado para lanzar excepciones; throws para indicar que un metodo podría lanzar excepciones. throws capturar/maneja excepciones; throw para indicar que un metodo podría lanzar excepciones. Cuál de las siguientes excepciones es una excepción verificada. NullPointException. ClassCastException. IOException. Throwable. La sentencia ________ es obligatoria cuando un método podría lanzar una________________. catch – excepción verificada. throws – excepción verificada o no verificada. throw – excepción no verificada. throws – excepción verificada. La clase _________ permite ordenar, buscar, compara, insertar, copiar, etc. elementos de uno o varios _________. Arrays – ficheros. Exception – arreglos. Throwable – arreglos. Arrays – registros. |