Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Paradigmas de Programación Pregunta 1 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 2 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 3 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 4 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 5 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 6 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 7 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 8 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 9 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 10 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 11 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 12 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 13 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 14 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 15 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 16 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 17 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 18 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 19 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 20 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 21 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 22 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 23 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 24 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 25 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 26 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 27 Parcialmente correcta Puntúa 0,50 sobre 1,00 Marcar pregunta Pregunta 28 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 29 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 30 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 31 Sin contestar Puntúa como 1,00 Marcar pregunta Pregunta 32 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 33 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 34 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 35 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 36 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 37 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 38 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 39 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 40 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 41 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 42 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 43 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Finalizar revisión Comenzado el Tuesday, 16 de November de 2021, 10:58 Estado Finalizado Finalizado en Tuesday, 16 de November de 2021, 12:13 Tiempo empleado 1 hora 15 minutos Puntos 29,10/43,00 Calificación 67,67 de 100,00 Sea: algo 0 _ a = [a] algo n f a = a : algo (n - 1) f (f a) El tipo inferido es: a. algo :: a->(a->a)->a->[a] b. Ninguna c. algo :: Int->(a->a)->a->[a] d. algo :: Num a => a->(a->a)->a->[a] e. algo :: Num a => Int->(a->a)->a->[a] Indicar el valor que regresa la llamada (escribir sin espacios): crte [4,3,5,2,7] crte (x:y:zs) | x < y = Just y | otherwise = crte (y:zs) crte _ = Nothing Respuesta: Just 5 Teniendo el siguiente código: ¿Qué ocurre al ejecutar con --> ss [18, 23, 31, 14, 25, 46] 3 ? Seleccione una: a. regresa (0, 0) b. Ninguna de las otras c. regresa [(18, 23), (31,14), (25,46)] d. Produce un error en (a : b : q) e. regresa (31, 25) f. Produce el error: pattern match failure: head [] g. Produce un error en (a, head q) ¿Qué representa la siguiente expresión? (1:2:3) a. dos átomos y la cola de la lista b. una tupla de tres valores c. una cabeza con una cola de dos valores d. una lista de tres valores e. ninguna de las otras. Definir la función ‘elimPares’ que recibe una lista y devuelve otra, sin pares de valores consecutivos repetidos. Por ejemplo: elimPares [1,2,3,3,4,5,5,5,6,7,3,8] => [1,2,4,5,6,7,3,8] Completar la línea que falta. Respuesta: difer (tail k) En Haskell, a un conjunto de definiciones se la denomina: a. Predicado b. Regla c. Ninguna de las otras. d. Guión Conjunto de tamaño fijo con elementos de distintos tipos a. tupla b. Ninguna c. type d. arreglo e. lista hetereogénea ¿Son equivalentes las siguientes definiciones? fun :: Num a => [a] -> [a]-> [a] y fun :: [Int]->[Int]->[Int] a. Depende del tipo específico de 'a' b. En lugar de Num a => debería indicarse Int a => c. En lugar de Num a => debería indicarse Real a => d. No e. Si Si definimos la función: f (x, y) = (a+1) * (a+2) where a =(x+y)/2 ¿Cuál de las siguientes definiciones de tipo se corresponden con ella? a. f:: Float -> Float -> Float b. f:: Int -> Int -> Int c. f :: Bool -> String d. f:: (Float, Float) -> Float Indicar el valor que regresa la llamada (escribir sin espacios): comp [2,3,4,4,5,6,7,7,8,9] comp [] = [] comp (x:xs) = compAux xs x [x] compAux :: (Eq a) => [a] -> a -> [a] -> [a] compAux (x:xs) y acc | x == y = compAux xs y acc | x /= y = compAux xs x (acc ++ [x]) Respuesta: compAux [] 9 ((((((([2]++[3])++[4])++[5])++[6])++[7])++[8])++[9]) Categoría de funciones que utiliza Haskell a. Ninguna b. sin tipología de datos c. de orden inferior d. binarias e. de orden superior Denominación de las funciones que no tienen efectos laterales a. lambda b. de orden superior c. unarias d. puras e. Ninguna Valor resultante de evaluar (escribir sin espacios) Respuesta: [(2,1),(2,2)] Valor resultante de evaluar (escribir sin espacios) Respuesta: [1,2,3,3,4] ¿Cuál de las siguientes signaturas coincide con la definición?: f (x, y) = (x+y-1)/2 * (x-y+1)*2 a. f:: Float -> Float -> Float b. f :: (Integer,Integer) -> (Integer ->Integer) c. f:: (Float,Float) -> Float d. Ninguna de las otras. e. f :: (Integer,Integer) -> (Integer,Integer) Indicar el prototipo usando tipos genéricos (usar a para sin y b para <) según corresponda, de una función que es llamada así: f1 (sin) (<) > 3.14 Respuesta: fi ::(Num a b)=>a->b->Float Sea la función 'p' parametrizada con tipos genéricos (usar a como nombre genérico) , que al ser llamada devuelve lo que se indica y lo que hace es procesar aquellas tuplas en las que coinciden los valores de los 1ros elementos : p [((1,1),1),((1,2),2),((1,3),3),((2,1),2)] 2 => [(1,2),(2,1)] Respuesta: p (Int a) :: [((a,a),a),((a,a),a)] -> [((a,a),a),((a,a),a)] Indicar lo que es verdad: a. Fractional es subtipo de Ord b. Floating es subtipo de Fractional c. Enum es un subtipo de Integral d. Ord y Num son subtipos de Eq e. Real no es subtipo de Ord El operador : se utiliza para a. dividir enteros sin signo b. dividir enteros con signo c. Ninguna d. construir listas e. secuenciar términos de una tupla Indicar el valor que regresa la llamada (escribir sin espacios): prs [2,5,7,4,6,8,9] prs :: [Int] -> [Int] prs [] = [] prs (x:xs) | even x = x : prs xs | otherwise = prs xs Respuesta: [2,4,6,8] Indicar el valor que regresa la llamada (escribir sin espacios): lM [[1,3,5],[2,7],[1,1,2],[3],[5]] lM :: [[Int]] -> [[Int]] lM xss = [xs | xs <- xss, sum xs == m] where m = maximum [sum xs | xs <- xss] Respuesta: [[1,3,5],[2,7]] Indicar el valor que regresa la llamada (escribir sin espacios): cb [[1,2],[3,4,5],[8]] cb :: [[Int]] -> Bool cb xss = and [or [even x | x <- xs] | xs <- xss] Respuesta: True Indicar el valor que regresa la llamada (escribir sin espacios): pt 22 [1,3,34] pt :: Ord a => a -> [a] -> Bool pt _ [] = False pt x (y:ys) | x > y = pt x ys | x == y = True | otherwise = False Respuesta: False Valor resultante de evaluar (\(x:xs)->x*2) [2,4,8] Respuesta: 4 ¿Qué acción realiza la función splitAt sobre una lista? a. Selecciona un elemento en una lista. b.Divide la lista en dos partes, según una longitud dada. c. Indica el elemento de una posición indicada de la lista. d. Ninguna de las otras. e. Muestra un elemento de una lista. Valor resultante de evaluar (escribir sin espacios) Respuesta: [3,4,3,4] Considerando que cada nueva definición de tipo, puede basarse en algún otro tipo definido, indique cuál/es de las siguientes definiciones de tipos de datos es/son correcta/s: a. type Amigo = (Nombre, Edad) b. type String = [Char] c. type Nombre = String d. type Empleado = (Apellido, Nombre, Edad) e. type Apellido = [Char] f. type Edad = Integer Sea: algo 0 _ a = [a] algo n f a = a : algo (n - 1) f (f a) Calcula: a. la lista [f a,f a,...,f a] de longitud n b. la lista [a, f a, ..., fn a] c. la lista [a,a,...,a] de longitud n d. Ninguna e. la enésima potencia de a Dado el siguiente código: Indique qué falta en la última orden. Seleccione una: Ninguna de las otras. x + sumalista x head x head x + sumalista (tail x) 1 + tail x ¿De qué forma sería posible definir una lista infinita de ceros? a. Ninguna de las otras. b. [0,0,0,..] c. [0..0] d. cero = 0:cero e. [0..] Definir la función ‘elimPares’ que recibe una lista y devuelve otra, sin pares de valores consecutivos repetidos. Por ejemplo: elimPares [1,2,3,3,4,5,5,5,6,7,3,8] => [1,2,4,5,6,7,3,8] Completar la línea que falta. Respuesta: Función anónima que es tratada como si fuera un valor a. implícita b. Ninguna c. pura d. lambda e. curryficada Enunciado que permite definir nuevos tipos de datos a. Ninguna b. data c. let d. lambda e. where Prototipo completo, en formato currificado e indicando tipos específicos, de una función llamada así: (x, y) < f1 [1, 2, 3, 4, 5, 6] donde x, y son del mismo tipo. Respuesta: asi :: (Int x,y)=>x->y->Int Indicar el valor que regresa la llamada (escribir sin espacios): pd [[1,3],[2,5]] pd :: [[a]] -> [[a]] pd [] = [[]] pd (xs:xss) = [x:ys | x <- xs, ys <- pd xss] Respuesta: [[1,2],[1,5],[3,2],[3,5]] Indicar el valor que regresa la llamada (escribir sin espacios): cp "abc" 3 cp :: [a] -> Int -> [a] cp xs 0 = [] cp xs n = xs ++ cp xs (n-1) Respuesta: "abcabcabc" Asocie el prototipo que corresponde a las siguientes funciones: argumentos: un operador de comparación y dos valores comparables de cualquier tipo y regresa: lista valores lógicos argumentos: dupla de una lista de valores cualesquiera y un valor de un tipo diferente al de la lista y regresa: una función que recibe de argumento un valor del mismo tipo de la lista de la dupla argumento, y regresa un valor lógico argumentos: una función que recibe un argumento real y devuelve un valor real, una lista de valores reales y regresa: una lista de ternas de valores reales f :: (a -> a -> Bool) -> a -> a -> [Bool] f :: ([a], b) -> (a -> Bool) f :: (Float -> Float) -> [Float] -> [(Float, Float, Float)] Sea una función: fg1 n x = if n == 0 then [] else x : fg1 (n – 1) x Escribir la cabecera en formato currificado, usando tipología genérica (usar a como nombre genérico) Respuesta: fg1 :: (Num a,b,c) => a->b->c La función debe regresar tantos 1 como pares de elementos que coincidan en ambas listas. Indicar cuál es el enunciado que falta en el siguiente programa: Seleccione una: a. | q == [] \|\| k == [] = [a] b. | q == [a] = (1 : nro k (tail q)) c. | k == [a] = (1 : nro k (tail q)) d. | length q == 1 = [] e. Ninguna de las opciones es correcta Ejecutando la siguiente orden: filter (>7) [9,3,8,6,7] Se obtiene el resultado: [9,8] ¿Cuál sería la definición adecuada para la función filter? a. filter :: (a -> Bool) -> [a] -> [a] b. filter :: (Bool ) -> (a) -> (a) c. filter :: (Bool -> a) -> [a] -> [a] d. Ninguna de las otras. e. filter :: (Bool) -> [a] -> [a] Indicar el valor que regresa la llamada (escribir sin espacios): df [5,3,8,7] df :: Num a => [a] -> [a] df xs = [a-b | (a,b) <- zip xs (tail xs)] Respuesta: [2,-5,1] Palabra reservada que se usa para indicar una definición anidada dentro de una función a. currificada b. where c. let d. prototype e. Ninguna Mecanismo de evaluación de valores que se hace sólo cuando es necesario a. Ninguna b. off-line c. lazy d. recursive e. on-line Navegación por el cuestionario Ariel Alejandro Robles Mostrar una página cada vez Finalizar revisión 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 UTN https://www.campusvirtual.frm.utn.edu.ar/user/view.php?id=10209&course=78 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301334&cmid=2043&showall=0 Paradigmas de Programación Pregunta 1 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 2 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 3 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 4 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 5 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 6 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 7 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 8 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 9 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 10 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 11 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 12 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 13 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 14 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 15 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 16 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 17 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 18 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 19 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 20 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 21 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 22 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 23 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 24 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 25 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 26 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 27 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 28 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 29 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 30 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 31 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 32 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 33 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 34 Incorrecta Puntúa 0,00 sobre 1,00 Marcar pregunta Pregunta 35 Parcialmente correcta Puntúa 0,50 sobre 1,00 Marcar pregunta Pregunta 36 Incorrecta Puntúa -0,10 sobre 1,00 Marcar pregunta Pregunta 37 Sin contestar Puntúa como 1,00 Marcar pregunta Pregunta 38 Sin contestar Puntúa como 1,00 Marcar pregunta Pregunta 39 Sin contestar Puntúa como 1,00 Marcar pregunta Pregunta 40 Sin contestar Puntúa como 1,00 Marcar pregunta Pregunta 41 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 42 Sin contestar Puntúa como 1,00 Marcar pregunta Pregunta 43 Sin contestar Puntúa como 1,00 Marcar pregunta Finalizar revisión Comenzado el Tuesday, 16 de November de 2021, 09:08 Estado Finalizado Finalizado en Tuesday, 16 de November de 2021, 10:42 Tiempo empleado 1 hora 34 minutos Puntos 21,90/43,00 Calificación 50,93 de 100,00 Indicar el valor que regresa la llamada (escribir sin espacios): cb [[1,2],[3,4,5],[8]] cb :: [[Int]] -> Bool cb xss = and [or [even x | x <- xs] | xs <- xss] Respuesta: True � g 0 _ = undefined g _ [] = [] g n xs = r1 : g (n - 1) r2 where r1 = take n xs; r2 = drop n xs Escribir la cabecera currificada, con tipos genéricos (usar a como nombre genérico)y específicos. Respuesta: Eq a=>[a]->[[a][a]] � Sea la función 'p' parametrizada con tipos genéricos (usar a como nombre genérico) , que al ser llamada devuelve lo que se indica y lo que hace es procesar aquellas tuplas en las que coinciden los valores de los 1ros elementos : p [((1,1),1),((1,2),2),((1,3),3),((2,1),2)] 2 => [(1,2),(2,1)] Respuesta: p (Int a):: [((a,a),a),((a,a),a)] => [((a,a),a),((a,a),a)] � Sea: algo 0 _ a = [a] algo n f a = a : algo (n - 1) f (f a) Calcula: a. la enésima potencia de a b. la lista [f a,f a,...,f a] de longitud n c. la lista [a, f a, ..., fn a] d. Ninguna e. la lista [a,a,...,a] de longitud n � ¿Cuáles son los tres mecanismos de Haskell para definir funciones? a. Ninguna de las otras. b. parentizada, por patrones y currificada? c. parentizada , currificada y lambda? � d. parentizada, EBNF y currificada? e. parentizada, con guardas y currificada? Indicar el valor que regresa la llamada (escribir sin espacios): sar ejArbol data Arbol a = Hoja | Nodo a (Arbol a) (Arbol a) deriving (Show, Eq) ejArbol :: Arbol Int ejArbol = Nodo 2 (Nodo 5 (Nodo 3 Hoja Hoja) (Nodo 7 Hoja Hoja)) (Nodo 4 Hoja Hoja) sar :: Num a => Arbol a -> a sar Hoja = 0 sar (Nodo x i d) = x + sar i + sar d Respuesta: 21 � Valor resultante de evaluar (escribir sin espacios) Respuesta: [1,2,3,3,4] � Indicar el valor que regresa la llamada (escribir sin espacios): ip [2,5,7,4,6,8,9] ip :: [Int] -> [Int] ip [] = [] ip (x:xs) | odd x = x : ip xs | otherwise = ip xs Respuesta: [5,7,9] � El operador : se utiliza para a. dividir enteros sin signo b. Ninguna c. dividir enteros con signo d. construir listas � e. secuenciar términos de una tupla ¿De qué forma sería posible definir una lista infinita de ceros? a. Ninguna de las otras. b. [0..] c. [0..0] d. [0,0,0,..] � e. cero = 0:cero Categoría de funciones que utiliza Haskell a. sin tipología de datos b. Ninguna c. de orden superior � d. de orden inferior e. binarias La composición de dos funciones f y g se denota mediante f . g y se define mediante la ecuación: a. ( . ) :: ( X -> Y) -> (Y -> X) -> (X->Y) (f . g) x = f(gx) b. ( . ) :: ( X -> Y) -> (Y -> Z) -> (Z->Y) (f . g) x = f(gx) c. ( . ) :: ( X -> Y) -> (Y -> Z) -> (X->Z) (f . g) x = f(gx) d. ( . ) :: ( X -> Y) -> (Z -> X) -> (Z->Y) (f . g) x = f(gx) � Enunciado que permite definir nuevos tipos de datos a. lambda b. Ninguna c. let d. data � e. where Dos funciones son iguales, si tienen la misma Imagen para argumentos iguales. A esto en Haskell se lo denomina: a. Polimorfismo b. Inferencia c. Extensionabilidad � d. Ninguna de las otras opciones e. cardinalidad Indicar el valor que regresa la llamada (escribir sin espacios): pmo 5 pmo :: Int -> Integer pmo n = prm !! (n-1) prm :: [Integer] prm = 2 : [n | n <- [3,5..], ePr n] ePr :: Integer-> Bool ePr n = [x | x <- [1..n], rem n x == 0] == [1,n] Respuesta: 11 � Teniendo el código: ¿Qué ocurre al ejecutar con la línea siguiente? Para: p 1372 Seleccione una: a. regresa [] b. regresa [false, false, false, true] c. no regresa nada d. regresa [2,2,7,7,7] � e. Error de sintaxis en p’ Indicar el valor que regresa la llamada (escribir sin espacios): comp [2,3,4,4,5,6,7,7,8,9] comp [] = [] comp (x:xs) = compAux xs x [x] compAux :: (Eq a) => [a] -> a -> [a] -> [a] compAux (x:xs) y acc | x == y = compAux xs y acc | x /= y = compAux xs x (acc ++ [x]) Respuesta: compAux[]9((((((([2]++[3])++[4])++[5])++[6]++[7])++[8])++[9]) � Dado el siguiente código: Indique qué falta en la última orden. Seleccione una: head x + sumalista (tail x) x + sumalista x � Ninguna de las otras. 1 + tail x head x Indicar lo que es verdad: a. Enum es un subtipo de Integral b. Fractional es subtipo de Ord c. Floating es subtipo de Fractional � d. Ord y Num son subtipos de Eq � e. Real no es subtipo de Ord Prototipo completo, en forma currificada de la función f1 que es llamada así: if (f1 (sin) (exp)) then ... Respuesta: f1::(Num a,b )=>a->b � Indicar el valor que regresa la llamada (escribir sin espacios): pd [[1,3],[2,5]] pd :: [[a]] -> [[a]] pd [] = [[]] pd (xs:xss) = [x:ys | x <- xs, ys <- pd xss] Respuesta: [[1,2],[1,5],[3,2],[3,5]] � Indicar el valor que regresa la llamada (escribir sin espacios): pt 22 [1,3,34] pt :: Ord a => a -> [a] -> Bool pt _ [] = False pt x (y:ys) | x > y = pt x ys | x == y = True | otherwise = False Respuesta: False � Indicar el valor que regresa la llamada (escribir sin espacios): lM [[1,3,5],[2,7],[1,1,2],[3],[5]] lM :: [[Int]] -> [[Int]] lM xss = [xs | xs <- xss, sum xs == m] where m = maximum [sum xs | xs <- xss] Respuesta: Error de � Sea la función 'g' que al ser llamada devuelve lo que se muestra. Indicar la cabecera parametrizada con tipos genéricos (suponiendo que los nombres genéricos corresponden a para ^ y b para even), g (^2) even [1..9] => [(2,4),(4,16),(6,36),(8,64)] Respuesta: g::(Num a,b)->[(int,int),(int,int),(int,int] � Si definimos la función: f (x, y) = (a+1) * (a+2) where a =(x+y)/2 ¿Cuál de las siguientes definiciones de tipo se corresponden con ella? a. f :: Bool -> String b. f:: Float -> Float -> Float c. f:: Int -> Int -> Int d. f:: (Float, Float) -> Float � Conjunto de tamaño fijo con elementos de distintos tipos a. type b. arreglo c. tupla � d. lista hetereogénea e. Ninguna Al evaluar: 2<3<4 Genera el mensaje: <interactive>:65:1: Precedence parsing error cannot mix ‘<’ [infix 4] and ‘<’ [infix 4] in the same infix expression a. Se debe re-escribir así (2<3<4) b. Se debe re-escribir así 2<(3<4) c. Se debe re-escribir así (2<3)<4 d. No se puede arreglar usando paréntesis � e. Ninguna En Haskell, a un conjunto de definiciones se la denomina: a. Ninguna de las otras. � b. Guión c. Regla d. Predicado ¿Qué acción realiza la función splitAt sobre una lista? a. Selecciona un elemento en una lista. b. Muestra un elemento de una lista. c. Divide la lista en dos partes, según una longitud dada. � d. Indica el elemento de una posición indicada de la lista. e. Ninguna de las otras. Valor resultante de evaluar (escribir sin espacios) Respuesta: variable y undefined � Apellido del investigador del creador de Haskell a. Church b. Minsky c. Ninguna d. Curry � e. McCarthy La función debe regresar los valores consecutivos diferentes. Indicar cuál es el enunciado que falta en el siguiente progama: Seleccione una: a. pri = seg = (pri, seg) : difer (tail k) b. pri /= seg = (fst k, snd k) : difer (tail k) � c. pri == seg = (pri, seg) : difer k d. pri /= seg = (pri, seg) : difer (tail k) e. pri == seg = (fst k, snd k) : difer (tail k) Palabra reservada que se usa para indicar una definición anidada dentro de una función a. Ninguna b. currificada c. let d. prototype e. where � La función debe duplicar los valores de una lista. Indicar cuál es el enunciado que falta en el siguiente progama: Seleccione una: a. copy (c : q) = (c : copy q) � b. copy length x == 1 = [x] c. copy (c : q) = (copy q) d. copy [x] = [x, x] e. copy [x] = copy [x] Considerando que cada nueva definición de tipo, puede basarse en algún otro tipo definido, indique cuál/es de las siguientes definiciones de tipos de datos es/son correcta/s: a. type Apellido = [Char] � b. type Empleado = (Apellido, Nombre, Edad) � c. type Nombre = String � d. type Amigo = (Nombre, Edad) � e. type Edad = Integer � f. type String = [Char] � Sea: algo 0 _ a = [a] algo n f a = a : algo (n - 1) f (f a) El tipo inferido es: a. algo :: Num a => Int->(a->a)->a->[a] b. algo :: a->(a->a)->a->[a] c. Ninguna d. algo :: Num a => a->(a->a)->a->[a] � e. algo :: Int->(a->a)->a->[a] Indicar el valor que regresa la llamada (escribir sin espacios): dp [7,2,5] dp :: [a] -> [a] dp [] = [] dp (x:xs) = x:x:dp xs Respuesta: � Indicar el valor que regresa la llamada (escribir sin espacios): prs [2,5,7,4,6,8,9] prs :: [Int] -> [Int] prs [] = [] prs (x:xs)| even x = x : prs xs | otherwise = prs xs Respuesta: � Valor resultante de evaluar (escribir sin espacios) Respuesta: � Sea la siguiente definición: Completar la línea que falta. Respuesta: � Denominación de las funciones que reciben otras funciones como argumento o las regresan a. anidadas b. currificadas c. puras d. orden superior � e. orden inferior Indicar el valor que regresa la llamada (escribir sin espacios): sCf 325 sCf :: Integer -> Integer sCf n | n < 10 = n | otherwise = sCf(div n 10) + n ‘rem‘ 10 Respuesta: � Sea una función que es llamada de las siguientes formas: mFunc [2,3,5,7,9] => ([2,3],[5,7,9]) mFunc ['a', 'b', 'c', 'd', 'e'] => ("ab","cde") mFunc [2.3, 7.3, 5.0, 7.1, 2.9] => ([2.3,7.3],[5.0,7.1,2.9]) Escribir la cabecera, en formato currificado. Respuesta: � Navegación por el cuestionario Julian Esteban Serralta Mostrar una página cada vez Finalizar revisión 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 UTN https://www.campusvirtual.frm.utn.edu.ar/user/view.php?id=10258&course=78 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301239&cmid=2043&showall=0 Salta al contenido principal UTN UTN Paradigmas de Programación Comenzado el Tuesday, 16 de November de 2021, 21:22 Estado Finalizado Finalizado en Tuesday, 16 de November de 2021, 22:01 Tiempo empleado 38 minutos 27 segundos Puntos 33,50/43,00 Calificación 77,91 de 100,00 Pregunta 1 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta El siguiente código permite eliminar la cabeza de una lista: Si se desea eliminar el último elemento de la lista, ¿Cómo se debería modificar? Seleccione una: a. |otherwise = (head k) b. |otherwise = (head k: quehago(tail k)) c. |otherwise = (head k : quehago k) d. |otherwise = (quehago k) e. Ninguna de las otras. Pregunta 2 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Enunciado que permite definir nuevos tipos de datos a. lambda b. data c. where d. let e. Ninguna Pregunta 3 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Conjunto de tamaño fijo con elementos de distintos tipos a. type b. arreglo c. tupla d. lista hetereogénea e. Ninguna Pregunta 4 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta ¿Cuáles son los tres mecanismos de Haskell para definir funciones? a. parentizada, EBNF y currificada? b. parentizada, por patrones y currificada? c. parentizada, con guardas y currificada? d. parentizada , currificada y lambda? e. Ninguna de las otras. Pregunta 5 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta ¿Qué respuesta produce la siguiente consulta? Seleccione una: a. [ 7 ] b. [5,2,5] c. Ninguna de las otras. d. [7,5,5,2,5] Pregunta 6 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): comp [2,3,4,4,5,6,7,7,8,9] comp [] = [] comp (x:xs) = compAux xs x [x] compAux :: (Eq a) => [a] -> a -> [a] -> [a] compAux (x:xs) y acc | x == y = compAux xs y acc | x /= y = compAux xs x (acc ++ [x]) Respuesta: [2,3,4,5,6,7,8,9] Pregunta 7 Incorrecta Puntúa 0,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta La función debe analizar si una lista forma parte de otra. Indicar cuál es el enunciado que falta o está mal, en el siguiente programa: Seleccione una: a. | otherwise = True b. | otherwise = esParte (head k) (tail q) c. | otherwise = esParte (tail k) (tail q) d. Ninguna de la opciones es correcta e. | head k /= head q = esParte k (tail q) Pregunta 8 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): cp "abc" 3 cp :: [a] -> Int -> [a] cp xs 0 = [] cp xs n = xs ++ cp xs (n-1) Respuesta: "abcabcabc" Pregunta 9 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): pmo 5 pmo :: Int -> Integer pmo n = prm !! (n-1) prm :: [Integer] prm = 2 : [n | n <- [3,5..], ePr n] ePr :: Integer-> Bool ePr n = [x | x <- [1..n], rem n x == 0] == [1,n] Respuesta: 11 Pregunta 10 Incorrecta Puntúa 0,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): crte [4,3,5,2,7] crte (x:y:zs) | x < y = Just y | otherwise = crte (y:zs) crte _ = Nothing Respuesta: Just5 Pregunta 11 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Función anónima que es tratada como si fuera un valor a. implícita b. pura c. lambda d. curryficada e. Ninguna Pregunta 12 Incorrecta Puntúa 0,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta ¿Son equivalentes las siguientes definiciones? fun :: Num a => [a] -> [a]-> [a] y fun :: [Int]->[Int]->[Int] a. En lugar de Num a => debería indicarse Real a => b. En lugar de Num a => debería indicarse Int a => c. Depende del tipo específico de 'a' d. Si e. No Pregunta 13 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Denominación de las funciones que no tienen efectos laterales a. puras b. Ninguna c. unarias d. lambda e. de orden superior Pregunta 14 Incorrecta Puntúa 0,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el prototipo usando tipos genéricos (usar a para sin y b para <) según corresponda, de una función que es llamada así: f1 (sin) (<) > 3.14 Respuesta: fi :: a -> b -> Float Pregunta 15 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): lM [[1,3,5],[2,7],[1,1,2],[3],[5]] lM :: [[Int]] -> [[Int]] lM xss = [xs | xs <- xss, sum xs == m] where m = maximum [sum xs | xs <- xss] Respuesta: [[1,3,5],[2,7]] Pregunta 16 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): ic 3 [7,3,5,3] ic :: Eq a => a -> [a] -> Int ic _ [] = 0 ic x (y:ys) | x == y = 1 + ic x ys | otherwise = ic x ys Respuesta: 2 Pregunta 17 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Valor resultante de evaluar (escribir sin espacios) Respuesta: Error Pregunta 18 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta La composición de dos funciones f y g se denota mediante f . g y se define mediante la ecuación: a. ( . ) :: ( X -> Y) -> (Y -> X) -> (X->Y) (f . g) x = f(gx) b. ( . ) :: ( X -> Y) -> (Z -> X) -> (Z->Y) (f . g) x = f(gx) c. ( . ) :: ( X -> Y) -> (Y -> Z) -> (X->Z) (f . g) x = f(gx) d. ( . ) :: ( X -> Y) -> (Y -> Z) -> (Z->Y) (f . g) x = f(gx) Pregunta 19 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Dos funciones son iguales, si tienen la misma Imagen para argumentos iguales. A esto en Haskell se lo denomina: a. Inferencia b. Ninguna de las otras opciones c. Extensionabilidad d. Polimorfismo e. cardinalidad Pregunta 20 Incorrecta Puntúa -0,50 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta En Haskell, a un conjunto de definiciones se la denomina: a. Ninguna de las otras. b. Predicado c. Guión d. Regla Pregunta 21 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Asocie el prototipo que corresponde a las siguientes funciones: argumentos: un operador de comparación y dos valores comparables de cualquier tipo y regresa: lista valores lógicos Respuesta 1 argumentos: una función que recibe un argumento real y devuelve un valor real, unalista de valores reales y regresa: una lista de ternas de valores reales Respuesta 2 argumentos: dupla de una lista de valores cualesquiera y un valor de un tipo diferente al de la lista y regresa: una función que recibe de argumento un valor del mismo tipo de la lista de la dupla argumento, y regresa un valor lógico Respuesta 3 Pregunta 22 Sin contestar Puntúa como 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Sea la función 'g' que al ser llamada devuelve lo que se muestra. Indicar la cabecera parametrizada con tipos genéricos (suponiendo que los nombres genéricos corresponden a para ^ y b para even), g (^2) even [1..9] => [(2,4),(4,16),(6,36),(8,64)] Respuesta: Pregunta 23 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar lo que es verdad: a. Enum es un subtipo de Integral b. Ord y Num son subtipos de Eq c. Floating es subtipo de Fractional d. Real no es subtipo de Ord e. Fractional es subtipo de Ord Pregunta 24 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Denominación de las funciones que reciben otras funciones como argumento o las regresan a. puras b. currificadas c. anidadas d. orden superior e. orden inferior Pregunta 25 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): dp [7,2,5] dp :: [a] -> [a] dp [] = [] dp (x:xs) = x:x:dp xs Respuesta: [7,7,2,2,5,5] Pregunta 26 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Asocie el resultado que le corresponde: [ x|x <- [1..], x `mod` 2 == 0, x `mod` 3 == 0] Respuesta 1 [(x,y,z)| x <- [1..1],y <-[x..2],z <-[x..y]] Respuesta 2 [x| n <- [3..5], x <- [1..n], x `mod` 3 == 0] Respuesta 3 [ x | x <- [1..y], y <- [1..], x * y] Respuesta 4 [c | c <- [1..9], c <= 3 || c >= 6] Respuesta 5 [x*2 | x <- [1..3], x*2 >= 6] Respuesta 6 Pregunta 27 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta El operador : se utiliza para a. dividir enteros con signo b. Ninguna c. construir listas d. secuenciar términos de una tupla e. dividir enteros sin signo Pregunta 28 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): ip [2,5,7,4,6,8,9] ip :: [Int] -> [Int] ip [] = [] ip (x:xs) | odd x = x : ip xs | otherwise = ip xs Respuesta: [5,7,9] Pregunta 29 Sin contestar Puntúa como 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Prototipo completo, en forma currificada de la función f1 que es llamada así: if (f1 (sin) (exp)) then ... Respuesta: Pregunta 30 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): prs [2,5,7,4,6,8,9] prs :: [Int] -> [Int] prs [] = [] prs (x:xs) | even x = x : prs xs | otherwise = prs xs Respuesta: [2,4,6,8] Pregunta 31 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta ¿De qué forma sería posible definir una lista infinita de ceros? a. cero = 0:cero b. [0,0,0,..] c. [0..] d. Ninguna de las otras. e. [0..0] Pregunta 32 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): df [5,3,8,7] df :: Num a => [a] -> [a] df xs = [a-b | (a,b) <- zip xs (tail xs)] Respuesta: [2,-5,1] Pregunta 33 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Indicar el valor que regresa la llamada (escribir sin espacios): cb [[1,2],[3,4,5],[8]] cb :: [[Int]] -> Bool cb xss = and [or [even x | x <- xs] | xs <- xss] Respuesta: True Pregunta 34 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Apellido del investigador del creador de Haskell a. Curry b. Ninguna c. Church d. Minsky e. McCarthy Pregunta 35 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Dado el siguiente código: ¿Qué se obtiene al ejecutar: esto ['a','b','c','d','e']? Seleccione una respueta: Seleccione una: a. Ninguna de las otras. b. null c. 'e' d. 'a' e. lista vacía Pregunta 36 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Palabra reservada que se usa para indicar una definición anidada dentro de una función a. currificada b. where c. prototype d. Ninguna e. let Pregunta 37 Incorrecta Puntúa 0,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Sea una función que es llamada de las siguientes formas: mFunc [2,3,5,7,9] => ([2,3],[5,7,9]) mFunc ['a', 'b', 'c', 'd', 'e'] => ("ab","cde") mFunc [2.3, 7.3, 5.0, 7.1, 2.9] => ([2.3,7.3],[5.0,7.1,2.9]) Escribir la cabecera, en formato currificado. Respuesta: mFunc :: [a] -> ([b],[b]) Pregunta 38 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta La función debe regresar los valores consecutivos diferentes. Indicar cuál es el enunciado que falta en el siguiente progama: Seleccione una: a. pri = seg = (pri, seg) : difer (tail k) b. pri == seg = (pri, seg) : difer k c. pri == seg = (fst k, snd k) : difer (tail k) d. pri /= seg = (fst k, snd k) : difer (tail k) e. pri /= seg = (pri, seg) : difer (tail k) Pregunta 39 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Sea: algo 0 _ a = [a] algo n f a = a : algo (n - 1) f (f a) El tipo inferido es: a. algo :: a->(a->a)->a->[a] b. algo :: Num a => Int->(a->a)->a->[a] c. algo :: Int->(a->a)->a->[a] d. algo :: Num a => a->(a->a)->a->[a] e. Ninguna Pregunta 40 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Categoría de funciones que utiliza Haskell a. de orden superior b. binarias c. de orden inferior d. sin tipología de datos e. Ninguna Pregunta 41 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Valor resultante de evaluar (escribir sin espacios) Respuesta: [(1,2),(2,4),(3,6),(4,8),(5,10)] Pregunta 42 Sin contestar Puntúa como 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Sea la función 'p' parametrizada con tipos genéricos (usar a como nombre genérico) , que al ser llamada devuelve lo que se indica y lo que hace es procesar aquellas tuplas en las que coinciden los valores de los 1ros elementos : p [((1,1),1),((1,2),2),((1,3),3),((2,1),2)] 2 => [(1,2),(2,1)] Respuesta: Pregunta 43 Correcta Puntúa 1,00 sobre 1,00 No marcadasMarcar pregunta Enunciado de la pregunta Ejecutando la siguiente orden: filter (>7) [9,3,8,6,7] Se obtiene el resultado: [9,8] ¿Cuál sería la definición adecuada para la función filter? a. filter :: (a -> Bool) -> [a] -> [a] b. filter :: (Bool -> a) -> [a] -> [a] c. filter :: (Bool) -> [a] -> [a] d. filter :: (Bool ) -> (a) -> (a) e. Ninguna de las otras. Finalizar revisión Salta Navegación por el cuestionario Navegación por el cuestionario Luciana Fernanda Maldonado Vargas Pregunta 1 Esta página Pregunta 2 Esta página Pregunta 3 Esta página Pregunta 4 Esta página Pregunta 5 Esta página Pregunta 6 Esta página Pregunta 7 Esta página Pregunta 8 Esta página Pregunta 9 Esta página Pregunta 10 Esta página Pregunta 11 Esta página Pregunta 12 Esta página Pregunta 13 Esta página Pregunta 14 Esta página Pregunta 15 Esta página Pregunta 16 Esta página Pregunta 17 Esta página Pregunta 18 Esta página Pregunta 19 Esta página Pregunta 20 Esta página Pregunta 21 Esta página Pregunta 22 Esta página Pregunta 23 Esta página Pregunta 24 Esta página Pregunta 25 Esta página Pregunta 26 Esta página Pregunta 27 Esta página Pregunta 28 Esta página Pregunta 29 Esta página Pregunta 30 Esta página Pregunta 31 Esta página Pregunta 32 Esta página Pregunta 33 Esta página Pregunta 34 Estapágina Pregunta 35 Esta página Pregunta 36 Esta página Pregunta 37 Esta página Pregunta 38 Esta página Pregunta 39 Esta página Pregunta 40 Esta página Pregunta 41 Esta página Pregunta 42 Esta página Pregunta 43 Esta página Mostrar una página cada vez Finalizar revisión f :: (a -> a -> Bool) -> a -> a -> [Bool] f :: (Float -> Float) -> [Float] -> [(Float, Float, Float)] f :: ([a], b) -> (a -> Bool) lista infinita [(1,1,1),(1,2,1),(1,2,2)] [3,3,3] error [1,2,3,6,7,8,9] [6] https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#maincontent https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#sb-1 https://www.campusvirtual.frm.utn.edu.ar/user/view.php?id=10441&course=78 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043# https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-32 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-22 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-18 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-9 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-17 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-8 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-26 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-40 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-27 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-35 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-30 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-28 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-14 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-36 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-31 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-2 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-29 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-19 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-21 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-38 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-10 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-43 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-33 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-34 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-3 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-41 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-39 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-12 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-1 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-25 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-24 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-20 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-42 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-5 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-16 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-11 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-7 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-15 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-37 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-4 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-13 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043#question-410499-23 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=301811&cmid=2043&showall=0 Paradigmas de Programación Pregunta 1 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 2 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 3 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 4 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 5 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 6 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 7 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 8 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 9 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 10 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 11 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 12 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 13 Parcialmente correcta Puntúa 0,30 sobre 1,00 Marcar pregunta Pregunta 14 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 15 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 16 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 17 Parcialmente correcta Puntúa 0,67 sobre 1,00 Marcar pregunta Pregunta 18 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 19 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 20 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 21 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 22 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 23 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Finalizar revisión Comenzado el Monday, 11 de October de 2021, 20:12 Estado Finalizado Finalizado en Monday, 11 de October de 2021, 21:32 Tiempo empleado 1 hora 19 minutos Puntos 11,17/23,00 Calificación 48,55 de 100,00 Para un objeto Frame es verdad que: Es superclase de Window Implementa la interface MenuContainer El "layout" por defecto es BorderLayaout Ninguna de las anteriores Las tres alternativas dadas son correctas ¿Qué ocurre al ejecutar? class A { A() throws Exception { System.out.println ("Executing class A constructor"); throw new IOException(); } } public class B extends A { B() { System.out.println ("Executing class B constructor"); } public static void main ( String args[] ) { try { A a = new B(); } catch ( Exception e) { System.out.println( e.getMessage() ); } } } Seleccione una: el constructor de B debería procesarse a través del manejador Exception Ninguna de las otras . muestra: Executing class A constructor y luego Executing class B constructor muestra: Executing class A constructor el constructor de B debería procesarse a través del manejador IOException Indicar el enunciado correcto a poner en (1) para crearuna instancia de Bar. class Foo { class Bar{ } } class Test { public static void main (String [] args) { Foo f = new Foo(); (1) } } Bar b = f.new Bar(); Bar b = new f.Bar(); Foo.Bar b = new Foo.Bar(); Ninguno es correcto Foo.Bar b = f.new Bar(); public class Parcel { public static ....... int elMayorEs(T[] at, T elem) { T x = at[0]; int k = 0; for (k = 0; k < at.length; k++) if (!(at[k] == x)) break; return k; } } Para completar en ........ la parametrización del código, siendo T un tipo genérico que hereda de la clase Comparable restringida al tipo T <T extends Comparable & T> <T extends Comparable<T>> Ninguna <T extends Comparable T> <T extends Comparable> Indicar en el println la sintaxis de acceso al símbolo ‘x’ de class class SHT SHT.x SHT.this.x this.x SHT.FirstLevel.x ninguna class X { public void fragile() throws IllegalArgumentException { throw new IllegalArgumentException(); } } public class Test { public static void main(String [] arg) { X a = new X(); try { a.fragile(); } catch ( NullPointerException npex ) { System.out.println("Null"); } catch ( Exception ex ) { System.out.println( "Exception" ); } finally { System.out.println( "Done" ); } System.out.println( "myMethod" ); } } Muestra: Seleccione una: Exception, Done y myMethod Exception y Done Done y myMethod Exception y myMethod Exception Null y Exception abstract class Nueva { private int n; public Nueva(int a) { n = a; } } class Foo <T extends Nueva>{ public final T newElement() { return ............{}; } } Enunciado a colocar en .......... que regrese una instancia de T inicializada con el valor 5. (T) newInstance Nueva(5) new Nueva(5) (T)new Nueva(5) Ninguna (T) Nueva(5) ¿Cuál enunciado produce un error? class DogName { private String dname; public DogName(String dname) { this.dname = dname; } public String getName() { return dname; } public Object clone() throws CloneNotSupportedException { return (DogName)super.clone(); } public static void main(String[] args) { DogName obj1 = new DogName("Tommy"); DogName obj2 = (DogName) obj1.clone(); System.out.println(obj2.getName()); new CloneNotSupportedException().printStackTrace(); } } Seleccione una: return (DogName)super.clone(); new CloneNotSupportedException().printStackTrace(); public Object clone() throws CloneNotSupportedException DogName obj1 = new DogName("Tommy"); DogName obj2 = (DogName) obj1.clone(); class Test { public static void a(int x) throws Exception { if (x == 0) throw new Exception(); } public static void b(int x) throws Exception { try { a(x); } catch (Exception e) { System.out.println(x); } } public static void main(String args[]){ try { a(1); b(0); } catch (Exception e) { System.out.println("(1)"); } finally { try { a(0); } catch (Exception e) { System.out.println("(2)"); } } } } Muestra: Seleccione una: 0 y (2) 0 (2) (1), 0 y (2) (1) 1 y 0 ¿Qué es una excepción? Seleccione una: Un tipo de contenedor Ninguna de las alternativas dadas Un tipo de evento utilizado al crear interfaces Un objeto que no puede ser instanciado Es un tipo de error que se produce en tiempo de ejecución Qué valor toma la variable 's' si en 'x' se asigna 2 class MyException extends Exception { private int value; MyException(int val) { value = val; } public int getValue() { return (value); } } class TestClass2 { public static void foo(int x) throws MyException, IOException { if (x < 0) throw (new MyException(x)); if (x > 100) throw (new IOException("Mike")); } public static void main(String[] args) { int x = Integer.parseInt(args[0]); String s; try { foo(x); s = "Mike"; } catch (IOException e) { s = "Rusty"; } catch (MyException e) { s = "Dimitri"; } } } 2 Dimitri Rusty Mike Ninguna de las otras En ...... es válido colocar: new D() new IP() new B1() new A() ninguna Marcar las afirmaciones correctas: Dado que la clase Inner es estática, no requiere que se cree una instancia de Outer Error de compilación porque Outer.s1 debería ser referenciado como Outer.this.s1 No hay errores y muestra en la salida: Java Sí No Ninguna de las otras opciones es correcta Error de compilación porque Inner se crea antes que una instancia de la clase es la que está anidada class Shape { /* ... */ } class Circle extends Shape { /* ... */ } class Rectangle extends Shape { /* ... */ } class Node<T> { /* ... */ } ¿El siguiente código compila? Node<Circle> nc = new Node<>(); Node<Shape> ns = nc; Ninguna No, porque la clase raíz debería ser: class<T> Shape { /* ... */ } Produce error en: Node<Shape> ns = nc; No, porque Node<Circle> no es subtipo de Node<Shape> Sí, porque Node<Circle> es subtipo de Node<Shape> Enunciado para activar 'metodo' de B, desde un contexto externo de A new B().metodo(); new A().metodo().metodo(); ninguna metodo().new A().metodo(); new A().metodo(); ¿Cuál es la forma correcta de crear un objeto de una clase anidada anónima, desde un método de la clase Bar? Raiz f = new Bar() { }; Ninguna de las otras opciones son correctas Raiz f = new Raiz(24) { }; Raiz f = new Raiz.Bar(String s) { }; Bar f = new Raiz(String s) { }; Marcar los valores que muestra en la salida: Java No 2 No muestra nada Si public static void print(List<? extends Number> list) { for (Number n : list) System.out.print(n + " "); } Elegir la opción correcta: Seleccione una: Ninguna de las otras opciones es correcta Number n: debería indicarse un subtipo de Number No hay error, es correcto Error, en en el for se debe indicar un subtipo de Number Error, deber ser: for (int i=0; i < list.lenght; i++) Un método parametrizado, no puede ser static class CERO extends Exception { public CERO() { super(); } } class A { protected float x; public A(float n) { x = n; } } class B extends A { B() { super((float) 4.0); } public float multiplicar(float n) throws CERO { float r; if (n == (float) 0.0) { throw new CERO(); } r = n * x; return r; } } public class Dos { public static void main(String[] arg) { B d = new B(); A f = new A((float) 3.0); float r; try { r = d.multiplicar((float) 0.0); } catch (........ a) { } } } Indicar lo que se debería colocar en la línea de puntos. CERO Ninguna de las otras new Dos float ¿Qué ocurre al ejecutar el siguiente código? import java.io.*; public class P { public static void main(String [] args) { P c = new P(); c.go(); System.out.println("Fin"); } public void go() { int i = 0; try { RandomAccessFile raf = new RandomAccessFile("P.java","r"); i = raf.read(); raf.write(99); System.out.println("Hecho"); } catch (IOException ioe) { System.out.println("Bloqueado"); } } } Seleccione una: muestra: Bloqueado, porque lanza la excepción, y Fin error de compilación, porque el archivo se abrió en modo lectura ejecuta y se interrumpe mostrando un mensaje en color rojo porque lanza la excepción el programa aborta la ejecución, en cuanto inicia error de compilación, el método go() debería estar definido antes del main() Definir la cabecera de un método accesible desde las subclases, que está parametrizado para recibir como argumento indistintamente un objeto Integer, Long, Float o Doubley que no regresa valor. Seleccione una: protected <U extends Number> U metodo(U u) protected <U extends Number> void metodo(Number u) protected <U extends Number> void metodo(U u) protected <U implements Number> void metodo(U u) protected <U> void metodo(U u) Indicar en el println la sintaxis de acceso al símbolo ‘x’ de class FirstLevel this.x FirstLevel.x super.xninguna SHT.FirstLevel.x ¿Qué ocurre al ejecutar? class Level1Exception extends Exception {} class Level2Exception extends Level1Exception {} class Level3Exception extends Level2Exception {} public class Purple { public static void main(String [] args) { int a,b,c,d,f,g,x; a = b = c = d = f = g = 0; x = 1; try { try { switch (x) { case 1: throw new Level1Exception(); case 2: throw new Level2Exception(); case 3: throw new Level3Exception(); } a++; } catch (Level2Exception e) {b++;} finally {c++;} } catch (Level1Exception e) { d++;} catch (Exception e) {f++;} finally {g++;} System.out.print(a + "," + b + "," + c + "," + d + "," + f + "," + g); } } Seleccione una: muestra: 0,0,1,1,0,1 Error de compilación, no se pueden anidar los bloques try error de compilación, no puede haber más un bloque finally error de compilación, en catch (Level2Exception e), porque debería tener tantos catch como opciones tiene el switch la sintaxis en la línea a = b = c = d = f = g = 0; es inválida Navegación por el cuestionario Ariel Alejandro Robles Mostrar una página cada vez Finalizar revisión 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 UTN https://www.campusvirtual.frm.utn.edu.ar/user/view.php?id=10209&course=78 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=277257&cmid=2054&showall=0 Paradigmas de Programación Pregunta 1 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 2 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 3 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 4 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 5 Parcialmente correcta Puntúa 0,40 sobre 1,00 Marcar pregunta Pregunta 6 Parcialmente correcta Puntúa 0,40 sobre 1,00 Marcar pregunta Pregunta 7 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 8 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 9 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 10 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 11 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 12 Parcialmente correcta Puntúa 0,60 sobre 1,00 Marcar pregunta Pregunta 13 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 14 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 15 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 16 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 17 Parcialmente correcta Puntúa 0,60 sobre 1,00 Marcar pregunta Pregunta 18 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 19 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 20 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 21 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 22 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 23 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Finalizar revisión Comenzado el Monday, 11 de October de 2021, 21:26 Estado Finalizado Finalizado en Monday, 11 de October de 2021, 22:34 Tiempo empleado 1 hora 8 minutos Puntos 5,40/23,00 Calificación 23,48 de 100,00 Qué valor toma la variable 's' si en 'x' se asigna 200 class MyException extends Exception { private int value; MyException(int val) { value = val; } public int getValue() { return (value); } } class TestClass2 { public static void foo(int x) throws MyException, IOException { if (x < 0) throw (new MyException(x)); if (x > 100) throw (new IOException("Mike")); } public static void main(String[] args) { int x = Integer.parseInt(args[0]); String s; try { foo(x); s = "Mike"; } catch (IOException e) { s = "Rusty"; } catch (MyException e) { s = "Dimitri"; } } } Ninguna de las otras 200 Mike � Dimitri Rusty ¿A qué se convierte después del reemplazo de T? public static <T extends Comparable <T>> int find (T [] en, T elem) { // ... } Class [] en, Class elem Comparable en, Comparable elem Object [] en, Object elem Ninguna Comparable [] en, Comparable elem � Indicar cuál es la salida: public class X { public static void main(String [] args) { try { badMethod(); System.out.print("A"); } catch (Exception ex) { System.out.print("B"); } finally { System.out.print("C"); } System.out.print("D"); } public static void badMethod() { throw new Error(); } } Seleccione una: Ninguna es correcta ABCD falla al compilar � muestra C antes de cancelar con un mensaje de error muestra BC antes de cancelar con un mensaje de error public class Pair<K, V> { public Pair(K key, V value) { this.key = key; this.value = value; } private K key; private V value; } El compilador al traducir el código, sustituye las referencias a los nombres tipos genéricos K, V. Indicar el reemplazo que se hace. <K, V> Class � Ninguna Object Pair Se justifica declarar una clase anónima para: definir un pequeña interface � extender una clase adaptadora de eventos � Ninguna de las otras opciones � definir un conjunto de constantes � implementar una interface para un “event listener” � ¿Cuáles son las formas correctas para crear objetos? Sean las definiciones: class A { } class B extends A { } class C extends A { } class D extends B { } class Dato<T> { private T obj; public Dato(T o) { obj = o; } } class Lanzador { public void probar(Dato<? extends A> obj) {} } ... Lanzador p = new Lanzador(); Si: A a = new A(); B b = new B(); A c = new C(); y p.probar(r1); p.probar(r2); p.probar(r3); p.probar(r4); Seleccione una o más de una: Dato<D> r4 = new Dato<D>(d); � Dato<B> r2 = new Dato<B>(b); � Dato<A> r1 = new Dato<A>(a); � Ninguna de las otras � Dato<C> r3 = new Dato<C>(c); � Indicar lo que ocurre: try { int x = 0; int y = 5 / x; } catch (Exception e) { System.out.println("Exception"); } catch (ArithmeticException ae) { System.out.println(" Arithmetic Exception"); } System.out.println("finished"); Seleccione una: falla al compilar muestra: Exception � Ninguna es correcta muestra: finished muestra: Arithmetic Exception interface MyOuter { static class MyInner { public static void print1() { System.out.println(1); } } void print1(); } class OutSider implements MyOuter { public void print1() { new MyOuter() { public void print1() { System.out.println(0); } }.print1(); } } public class JavaApp { public static void main(String[] args) { MyOuter x = new OutSider(); x.print1(); .................. } } Completar en la línea de puntos al enunciado para activar el método print1() de la clase MyInner. MyOuter.MyInner.print1(); � OutSider.MyInner.print1(); OutSider.MyOuter.print1(); MyOuter.print1(); MyInner.print1(); ¿Qué ocurre al ejecutar? class Level1Exception extends Exception {} class Level2Exception extends Level1Exception {} class Level3Exception extends Level2Exception {} public class Purple { public static void main(String [] args) { int a,b,c,d,f,g,x; a = b = c = d = f = g = 0; x = 1; try { try { switch (x) { case 1: throw new Level1Exception(); case 2: throw new Level2Exception(); case 3: throw new Level3Exception(); } a++; } catch (Level2Exception e) {b++;} finally {c++;} } catch (Level1Exception e) { d++;} catch (Exception e) {f++;} finally {g++;} System.out.print(a + "," + b + "," + c + "," + d + "," + f + "," + g); } } Seleccione una: muestra: 0,0,1,1,0,1 error de compilación, en catch (Level2Exception e), porque debería tener tantos catch como opciones tiene el switch Error de compilación, no se pueden anidar los bloques try error de compilación, no puede haber más un bloque finally � la sintaxis en la línea a = b = c = d = f = g = 0; es inválida abstract class Nueva { private int n; public Nueva(int a) { n = a; } } class Foo <T extends Nueva>{ public final T newElement() { return ............{}; } } Enunciadoa colocar en .......... que regrese una instancia de T inicializada con el valor 5. Ninguna � (T) newInstance Nueva(5) new Nueva(5) (T) Nueva(5) (T)new Nueva(5) ¿Qué ocurre al ejecutar? class Level1Exception extends Exception {} class Level2Exception extends Level1Exception {} class Level3Exception extends Level2Exception {} public class Purple { public static void main(String [] args) { int a,b,c,d,f,g,x; a = b = c = d = f = g = 0; x = 1; try { try { switch (x) { case 1: throw new Level3Exception(); case 2: throw new Level2Exception(); case 3: throw new Level1Exception(); } a++; } catch (Level2Exception e) {b++;} finally {c++;} } catch (Level1Exception e) { d++;} catch (Exception e) {f++;} finally {g++;} System.out.print(a + "," + b + "," + c + "," + d + "," + f + "," + g); } } Seleccione una: muestra: 0,0,1,1,0,1 Error de compilación, no se pueden anidar los bloques try ninguna de las otras opciones error de compilación, en catch (Level2Exception e), porque debería tener tantos catch como opciones tiene el switch error de compilación, no puede haber más un bloque finally � ¿Cuál sería la forma correcta de crear un objeto? Si: A a = new A(); A b = new B(); C c = new C(); D d = new D(); y p.probar(r1); p.probar(r2); p.probar(r3); p.probar(r4); Seleccione una o más de una: Dato<C> r3 = new Dato<C>(c); � Dato<D> r4 = new Dato<D>(d); � Dato<B> r2 = new Dato<B>(b); � Dato<A> r1 = new Dato<A>(a); � Ninguna de las otras. � Marcar los valores que muestra en la salida: 2 Java � No muestra nada No � Si � Para crear una clase anónima en (1) cuál código habría que poner: class TopBar { TopBar(String s) { } TopBar() { } } class Bar extends TopBar { Bar() { } Bar(String s) {super(s);} void method() { (1) } } TopBar f = new Bar() { }; TopBar f = new TopBar.Bar(String s) { }; � Ninguna es correcta Bar f = new TopBar(String s) { }; TopBar f = new TopBar(24) { }; Qué valor toma la variable 's' si en 'x' se asigna 2 class MyException extends Exception { private int value; MyException(int val) { value = val; } public int getValue() { return (value); } } class TestClass2 { public static void foo(int x) throws MyException, IOException { if (x < 0) throw (new MyException(x)); if (x > 100) throw (new IOException("Mike")); } public static void main(String[] args) { int x = Integer.parseInt(args[0]); String s; try { foo(x); s = "Mike"; } catch (IOException e) { s = "Rusty"; } catch (MyException e) { s = "Dimitri"; } } } Mike Dimitri � 2 Rusty Ninguna de las otras Una clase anidada estática: Ninguna es correcta debe extender la clase que encierra (anida) Todas son correctas � no tiene acceso a miembros que no sean de clase, de la clase "externa" debe tener una referencia a una instancia de una clase anidada a fin de poder instanciarla todos sus atributos y métodos deben ser de clase Enunciado válido que crea una instancia de B desde un contexto externo de A new A().new B(); � A.B.new B(); � ninguna A.new B(); � new A().metodo(); � Indicar la afirmación correcta la función regresa True o False según valores de x, y compila y ejecuta compila pero no ejecuta � no compila, T debería ser de algún tipo (int, float, etc.) T debe ser una clase Integer, Float, etc. ¿Qué ocurre al ejecutar? Suponga el existe el archivo MyFile.java import java.io.*; public class MyReader { public static void main ( String args[] ) { try { FileReader fileReader = new FileReader("MyFile.java"); BufferedReader bufferedReader = new BufferedReader(fileReader); String strString; fileReader.close(); while ( ( strString = bufferedReader.readLine()) != null ) System.out.println ( strString ); } catch ( IOException ie) { System.out.println ( ie.getMessage() ); } } } Seleccione una: muestra el contenido de la primera línea del archivo la línea fileReader.close() lanza la excepción FileNotFoundException � produce una excepción mientras construye el objeto BufferedReader lanza una IOException en bufferedReader.readLine()) y procesa el catch MyFile.java (El sistema no puede encontrar el archivo especificado) class CERO extends Exception { public CERO() { super(); } } class A { protected float x; public A(float n) { x = n; } } class B extends A { B() { super((float) 4.0); } public float multiplicar(float n) throws CERO { float r; if (n == (float) 0.0) { throw new CERO(); } r = n * x; return r; } } public class Dos { public static void main(String[] arg) { B d = new B(); A f = new A((float) 3.0); float r; try { r = d.multiplicar((float) 0.0); } catch (........ a) { } } } Indicar lo que se debería colocar en la línea de puntos. float new CERO � Dos Ninguna de las otras ¿Qué es una excepción? Seleccione una: Ninguna de las alternativas dadas Es un tipo de error que se produce en tiempo de ejecución � Un tipo de evento utilizado al crear interfaces Un objeto que no puede ser instanciado Un tipo de contenedor ¿Cuál es la forma correcta de crear un objeto de una clase anidada anónima, desde un método de la clase Bar? Bar f = new Raiz(String s) { }; Raiz f = new Bar() { }; � Raiz f = new Raiz.Bar(String s) { }; Raiz f = new Raiz(24) { }; Ninguna de las otras opciones son correctas Enunciado para activar 'metodo' de B, desde un contexto externo de A new B().metodo(); new A().metodo(); ninguna � new A().metodo().metodo(); metodo().new A().metodo(); Navegación por el cuestionario Julian Esteban Serralta Mostrar una página cada vez Finalizar revisión 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 UTN https://www.campusvirtual.frm.utn.edu.ar/user/view.php?id=10258&course=78 https://www.campusvirtual.frm.utn.edu.ar/mod/quiz/review.php?attempt=277306&cmid=2054&showall=0 Paradigmas de Programación Pregunta 1 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 2 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 3 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 4 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 5 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 6 Parcialmente correcta Puntúa 0,80 sobre 1,00 Marcar pregunta Pregunta 7 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 8 Parcialmente correcta Puntúa 0,27 sobre 1,00 Marcar pregunta Pregunta 9 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 10 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 11 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 12 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 13 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 14 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 15 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 16 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 17 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 18 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 19 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 20 Incorrecta Puntúa -0,20 sobre 1,00 Marcar pregunta Pregunta 21 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 22 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Pregunta 23 Correcta Puntúa 1,00 sobre 1,00 Marcar pregunta Finalizar revisión Comenzado el Monday, 11 de October de 2021, 15:40 Estado Finalizado Finalizado en Monday, 11 de October de 2021, 16:43 Tiempo empleado 1 hora 2 minutos Puntos 16,07/23,00 Calificación 69,86 de 100,00 ¿Cuál enunciado produce un error? class DogName { private String dname; public DogName(String dname) { this.dname = dname; } public String getName() { return dname; } public Object clone() throws CloneNotSupportedException { return (DogName)super.clone();} public static void main(String[] args) { DogName obj1 = new DogName("Tommy"); DogName obj2 = (DogName) obj1.clone(); System.out.println(obj2.getName()); new CloneNotSupportedException().printStackTrace(); } } Seleccione una: return (DogName)super.clone(); DogName obj1 = new DogName("Tommy"); DogName obj2 = (DogName) obj1.clone(); new CloneNotSupportedException().printStackTrace(); public Object clone() throws CloneNotSupportedException Indicar cuál es la salida: public class X { public static void main(String [] args) { try { badMethod(); System.out.print("A"); } catch (Exception ex) { System.out.print("B"); } finally { System.out.print("C"); } System.out.print("D"); } public static void badMethod() { throw new Error(); } } Seleccione una: muestra BC antes de cancelar con un mensaje de error ABCD Ninguna es correcta falla al compilar muestra C antes de cancelar con un mensaje de error ¿Qué afirmación es verdad sobre una clase anidada estática? Debe extender de la clase que la incluye Ninguna de las otras opciones son correctas Sus variables y métodos deben ser estáticos Debe tener una referencia a una instancia de la clase que la encierra para instanciarla No tiene acceso a los miembros no-estáticos de la clase que la incluye class Test { public static void a(int x) throws Exception { if (x == 0) throw new Exception(); } public static void b(int x) throws Exception { try { a(x); } catch (Exception e) { System.out.println(x); } } public static void main(String args[]){ try { a(1); b(0); } catch (Exception e) { System.out.println("(1)"); } finally { try { a(0); } catch (Exception e) { System.out.println("(2)"); } } } } Muestra: Seleccione una: (1), 0 y (2) 1 y 0 0 y (2) 0 (1) (2) Indicar la afirmación correcta debería indicarse <K, V extends "alguna clase"> debería indicarse <K, V extends Object> ninguna el compilador sustituye K y V por referencias Object K y V no son nombres válidos para tipos genéricos Se justifica declarar una clase anónima para: implementar una interface para un “event listener” Ninguna de las otras opciones extender una clase adaptadora de eventos definir un conjunto de constantes definir un pequeña interface ¿Qué ocurre al ejecutar? class Level1Exception extends Exception {} class Level2Exception extends Level1Exception {} class Level3Exception extends Level2Exception {} public class Purple { public static void main(String [] args) { int a,b,c,d,f,g,x; a = b = c = d = f = g = 0; x = 1; try { try { switch (x) { case 1: throw new Level1Exception(); case 2: throw new Level2Exception(); case 3: throw new Level3Exception(); } a++; } catch (Level2Exception e) {b++;} finally {c++;} } catch (Level1Exception e) { d++;} catch (Exception e) {f++;} finally {g++;} System.out.print(a + "," + b + "," + c + "," + d + "," + f + "," + g); } } Seleccione una: Error de compilación, no se pueden anidar los bloques try error de compilación, en catch (Level2Exception e), porque debería tener tantos catch como opciones tiene el switch muestra: 0,0,1,1,0,1 error de compilación, no puede haber más un bloque finally la sintaxis en la línea a = b = c = d = f = g = 0; es inválida Indicar la opción que sea válida, para cada combinación de parametrización del método haceAlgo (línea punteada) y su correspondiente llamada: class Valor<T extends Number> { private T v; public void add(T t) { v = t; } public ............ void haceAlgo (T obj) { /* código */ } } Valor<Integer> obj; obj = new Valor<Integer>(); obj.add(new Integer(10)); Seleccione una o más de una: <T extends Object> obj.haceAlgo(obj); <T extends Serializable> obj.haceAlgo(obj.toString()); <T extends Comparable> obj.haceAlgo(obj); <T extends Serializable> obj.haceAlgo(obj); <T extends Comparable> obj.haceAlgo(obj.toString()); <T extends Serializable & Comparable<? super U>> obj.haceAlgo(obj); class X { public void fragile() throws IllegalArgumentException { throw new IllegalArgumentException(); } } public class Test { public static void main(String [] arg) { X a = new X(); try { a.fragile(); } catch ( NullPointerException npex ) { System.out.println("Null"); } catch ( Exception ex ) { System.out.println( "Exception" ); } finally { System.out.println( "Done" ); } System.out.println( "myMethod" ); } } Muestra: Seleccione una: Null y Exception Exception y Done Exception, Done y myMethod Done y myMethod Exception Exception y myMethod ¿Cuál sería la forma correcta de crear un objeto? Si: A a = new A(); A b = new B(); C c = new C(); D d = new D(); y p.probar(r1); p.probar(r2); p.probar(r3); p.probar(r4); Seleccione una o más de una: Dato<B> r2 = new Dato<B>(b); Dato<A> r1 = new Dato<A>(a); Dato<D> r4 = new Dato<D>(d); Dato<C> r3 = new Dato<C>(c); Ninguna de las otras. interface MO { class MI { public static void print1() { System.out.println(1); } } void print1(); } class OS implements MO { public void print1() { new MO() { public void print1() { System.out.println(0); } }.print1(); } } public class JavaApp { public static void main(String[] args) { MO x = new OS(); x.print1(); ................ } } El código a colocar sobre la línea para activar el método print1() de la clase MI es: MO.print1(); OS.MI.print1(); MI.print1(); MO.MI.print1(); super.print1(); interface IP {} class A implements IP {} class B extends A {} class C extends B {} class D<T>{ T obj; public D(T p){ obj = p; } public void metodo(T q){ obj = q; } } class MyReader { public static void main (String args[]) { D<C> x = new D(new B()); x.metodo(......); } } En ...... es válido colocar new IP() new A() new C() new D() new B() Indicar el enunciado correcto Comparable a[] = null, b = null; Object a[] = null, b = null; ninguna Parce13 a[] = null, b = null; T a[] = null, b = null; Indicar el enunciado correcto a poner en (1) para crear una instancia de Bar. class Foo { class Bar{ } } class Test { public static void main (String [] args) { Foo f = new Foo(); (1) } } Foo.Bar b = f.new Bar(); Ninguno es correcto Bar b = f.new Bar(); Bar b = new f.Bar(); Foo.Bar b = new Foo.Bar(); Indicar lo que ocurre: try { int x = 0; int y = 5 / x; } catch (Exception e) { System.out.println("Exception"); } catch (ArithmeticException ae) { System.out.println(" Arithmetic Exception"); } System.out.println("finished"); Seleccione una: muestra: finished muestra: Exception muestra: Arithmetic Exception falla al compilar Ninguna es correcta Definir la cabecera de un método accesible desde las subclases, que está parametrizado para recibir como argumento indistintamente un objeto Integer, Long, Float o Doubley que no regresa valor. Seleccione una: protected <U extends Number> void metodo(U u) protected <U extends Number> U metodo(U u) protected <U implements Number> void metodo(U u) protected <U> void metodo(U u) protected <U extends Number> void metodo(Number u) ¿Qué ocurre al ejecutar el siguiente código? import java.io.*; public class P { public static void main(String [] args) { P c = new P(); c.go(); System.out.println("Fin"); } public void go() { int i = 0; try { RandomAccessFile raf = new RandomAccessFile("P.java","r"); i = raf.read(); raf.write(99); System.out.println("Hecho"); } catch (IOException ioe) { System.out.println("Bloqueado"); } } } Seleccione una: muestra: Bloqueado, porque lanza la excepción, y Fin error de compilación, porque el archivo
Compartir