ppr4
|
|
Título del Test:
![]() ppr4 Descripción: ayudita para utn frc |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Respecto al sistema de tipos en Haskell, seleccione la opción falsa: Seleccione una: a. Permite tipado polimórfico. b. Es posible asociar un único tipo de dato de retorno a cualquier función. c. Es utilizado para detectar errores en expresiones y definiciones de función. d. Haskell es un lenguaje de programación débilmente tipado. Las tuplas en Haskell son: Seleccione una: Tipos básicos en Haskell. Tipos básicos definidos por el usuario. . Tipos compuestos. Tipos polimórficos. Algunas de las ventajas del Paradigma Funcional son: Rapidez en la codificación de los programas. . Fácil de formular matemáticamente. Simplicidad en el código. Todas las alternativas son correctas. Para marcar la finalización de una expresión en Haskell se hace mediante: El cierre de llaves. Una sintaxis bidimensional denominado espaciado (layout). La utilización de punto y coma. La utilización de punto. En el Lenguaje Funcional: Cuál es el resultado de evaluar con 3 y 5 la siguiente expresión: función x y = if x == y then x==5 else False. Error al evaluar la expresión. False. True. . Error inconsistencia de tipos. En un Lenguaje Funcional. Cuál es el resultado de evaluar con 6 la siguiente expresión: función y = let x = 2 * 4 in 3 * x + 1 + y. 31. 32. 13. 13. 25. En el Paradigma Funcional y relativo al cálculo lambda, seleccione la opción falsa: El cálculo lambda especifica un sistema formal en lógica matemática. No es posible evaluar y expresar cualquier función computable. El cálculo lambda se considera como el más pequeño lenguaje de programación. El cálculo lambda usa objetos llamados lambda-términos. Las guardas se utilizan. Cuando se requiere chequear que se cumplan ciertas condiciones sobre los valores de los argumentos de una función. . En la definición de Sinónimos de datos. . En la definición de tipos polimórficos. . En la definición de tipos de datos. Cuál de las siguientes afirmaciones es correcta: En el paradigma funcional las abstracciones son expresiones estructuradas. En el paradigma funcional las abstracciones son expresiones funcionales. En el paradigma funcional las abstracciones son expresiones condicionales. En el paradigma funcional las abstracciones son expresiones lógicas. Con respecto al prelude.hs: Todas las alternativas son correctas. Es un archivo que es cargado automáticamente al arrancar Hugs. Algunas de las funciones que incluye son div, mod, sqrt entre otras. Contiene la definición de un conjunto de funciones que se pueden usar cuando sea necesario. Una de las características de los lenguajes funcionales es: La inferencia estática de tipos que permite implementar el polimorfismo. El concepto de cambio de estado en las variables. La evaluación ansiosa de los argumentos en una función. Posibilidad de tratar a las funciones como datos mediante la definición de funciones de orden superior. En Haskell (donde: XS e YS son listas). Qué es lo que retorna la siguiente expresión XS + YS : La lista de valores obtenidos al aplicar la función XS a YS. Ninguna de las alternativas es correcta. La suma resultante de XS e YS. La lista resultante de concatenar XS e YS. En un Leguaje Funcional palabra reservada where es útil para: Definir un conjunto de declaraciones locales. Restringir el efecto colateral de las variables globales a expresiones específicas. Permitir que otras funciones accedan a variables definidas en la función invocante. Permitir que a una variable se asocie a un tipo específico de datos. En el Lenguaje Funcional: Cuál es el resultado de evaluar con 1 y 5 la siguiente expresión: función x y = if x >= y then x*5/y else y*2/x. 7.5. 5.0. 3.0. 10.0. Respecto a la inferencia de tipos de Haskell: Si el programador declara el tipo de alguna expresión, el sistema chequea que el tipo declarado coincida con el tipo o tipos inferidos. . El sistema no chequea los tipos de entrada/salida definidos por el programador. El programador está obligado a declarar solo el tipo de dato de retorno de una función. El programador está obligado a declarar los tipos de los argumentos de entrada a la función. En el Paradigma Funcional y relativo a las funciones de orden superior: Son aquellas que aplican el concepto de recursividad. Son aquellas que tienen como argumento una función o que devuelve una función como resultado. Son aquellas que solamente se emplean como resultado de otra función. . Su uso correcto mejora sustancialmente el tratamiento polimórfico de tipos. Qué característica no corresponde a una función de Haskell. Una función puede retornar una función como resultado. Una función debe retornar un resultado. Una función puede no retornar resultados. Una función puede llamarse a sí misma hasta que encuentre una condición de corte especificada. En Referencia a las características del lenguaje Haskell, seleccione la opción falsa: No soporta tipos de datos definidos por el usuario. Incluye polimorfismo de tipos y evaluación perezosa. La posibilidad de definir funciones de orden superior. Es un lenguaje de funcional puro. Las expresiones case evalúan. Tres expresiones posibles. Dos expresiones posibles. Múltiples expresiones posibles. Una expresión posible. La transparencia referencial no permite: La gestión automática de memoria. El cambio de estado. Ninguna de las alternativas es correcta. . La posibilidad de tratar a las funciones como datos mediante la definición de funciones de orden superior. La utilización de funciones de orden superior en el paradigma funcional permite. Obtener como resultado un tipo de dato simple. El manejo de sinónimos de tipos. Capturar esquemas de cómputos generales. Ninguna de las alternativas es correcta. Señale cuál opción no es una característica del Paradigma Funcional. Utilización de funciones de orden superior. Los bucles se modelan a través del concepto de recursividad. Se basa en un modelo de definición de proposiciones lógicas. Transparencia Referencial. La función elem x xs para el manejo de listas en Haskell permite. Devuelve el resultado de sacarle a xs los primeros x elementos. Conocer si x es un elemento de xs. Devuelve los x primeros elementos de xs. Agregar el elemento x a xs. La siguiente función en Haskell retorna: contar:: [Integer] -> Integer contar []= “” contar (x : xs) = 1 + contar xs Main> contar [1,2,3] . Ninguna de las alternativas es correcta. 6. Un error en tiempo de ejecución. 3. En un Lenguaje Funcional. ¿Cuál es el resultado de la siguiente función? funcion1::Integer->Integer->Integer funcion1 a x = (a + x) where x = 6* x Main>funcion1 1 2. No se puede invocar. Error de identación (layout) en la expresión. No se puede invocar. Error de tipo de dato en la expresión. 13. 15. La función elem x xs para el manejo de listas en Haskell permite: Devuelve los x primeros elementos de xs. Devuelve el resultado de sacarle a xs los primeros x elementos. . Conocer si x es un elemento de xs. Agregar el elemento x a xs. Señale cuál opción no es una característica del Paradigma Funcional: Utilización de funciones de orden superior. Transparencia Referencial. Los bucles se modelan a través del concepto de recursividad. Se basa en un modelo de definición de proposiciones lógicas. En la Programación Funcional. La función fromIntegral permite: Convertir un entero a un número con punto flotante. Ninguna de las alternativas es correcta. Convertir un fraccionario a entero. Convertir un entero a fraccionario. ¿Cuál de las siguientes opciones no es un tipo de dato compuesto en Haskell?: Caracteres. Listas. Tuplas. . Funciones. El paradigma funcional se basa principalmente en: La modificación constante del estado de las variables. La ejecución de instrucciones mediante bucles obligatorios. Un modelo matemático de composición de funciones. La definición de clases y objetos. ¿Cuál de las siguientes afirmaciones describe la transparencia referencial según el material?. Permite cambiar el estado de las variables libremente. Los valores resultantes son inmutables y no existe el concepto de cambio de estado. Obliga a utilizar variables globales. Impide utilizar funciones recursivas. ¿Cuál de las siguientes opciones es una ventaja del paradigma funcional?. Es recomendable para todas las tareas transaccionales. Siempre es fácil integrarlo con otras aplicaciones. Necesita administrar manualmente toda la memoria. Permite simplicidad en el código. Cuál de las siguientes tareas aparece entre las áreas de aplicación del paradigma funcional?. Creación de compiladores y analizadores sintácticos. Administración de memoria mediante punteros obligatorios. Diseño exclusivo de bases de datos relacionales. Construcción exclusiva de interfaces gráficas. Según la presentación, ¿quién desarrolló el cálculo lambda durante la década de 1930?. Alan Turing. Edsger Dijkstra. Alonso Church. Dennis Ritchie. Según la sintaxis presentada, ¿cuál de las siguientes opciones puede formar parte de una expresión funcional?. Solamente una constante. Solamente una variable. Únicamente una instrucción de repetición. Una variable, una constante, una abstracción o una aplicación funcional. ¿Cuál de las siguientes opciones es un ejemplo de expresión atómica según la presentación?. Una aplicación funcional con varios argumentos. Una abstracción funcional. Una constante. Una composición de varias funciones. Cuál de las siguientes afirmaciones sobre Haskell es correcta según el material?. Es débilmente tipado y no infiere tipos. Es funcional puro, fuertemente tipado y posee inferencia de tipos. Obliga a declarar siempre todos los tipos de las expresiones. No permite funciones de orden superior. en el cálculo lambda, la 'aplicación de función' f(v) consiste en: Definir una nueva función a partir de una expresión. Sustituir v en cada aparición de la variable x dentro del término t. Declarar una variable global. asignar un tipo a la variable x. La evaluación perezosa (lazy evaluation) se caracteriza por: Evaluar todos los argumentos antes de saber si son necesarios. Evaluar siempre de derecha a izquierda. No evaluar nunca los argumentos. Evaluar los argumentos únicamente cuando se los necesita. ¿Cuál de las siguientes es una limitación del paradigma funcional?. Dificultad para formular problemas matemáticamente. No es recomendable para modelar lógica de negocios o tareas transaccionales. Código extenso y complejo. Administración manual de la memoria. Señale cuál NO es un área de aplicación típica del paradigma funcional: Sistemas distribuidos de control. Demostración de teoremas. Modelado de tareas transaccionales de negocio. Creación de compiladores y analizadores sintácticos. Una función 'parcializada' (curried) en Haskell es aquella que: Recibe sus argumentos agrupados en una tupla. No devuelve ningún valor. Solo puede recibir funciones como argumentos. Recibe sus argumentos de a uno, por ejemplo suma::Integer -> Integer -> Integer. Una expresión lambda en Haskell, como \x -> x*x, denota: Una variable de tipo Int. Una función anónima. Un operador infijo. Un comentario. Respecto a los identificadores en Haskell, la letra inicial distingue familias. ¿Cuál es correcta?. Todos deben comenzar con guion bajo. No importa si es mayúscula o minúscula. Mayúscula para funciones y variables; minúscula para tipos. Mayúscula para tipos y constructores de datos; minúscula para funciones y variables. ¿Cuál de los siguientes NO puede usarse como nombre de función o variable por ser palabra reservada?. let. fact. cuadrado. sumar. Un operador NO asociativo en Haskell: Tiene precedencia 0. Se agrupa siempre a la derecha. No puede usarse más de una vez en una expresión sin paréntesis que aclaren su significado. Se agrupa siempre a la izquierda. El análisis de expresiones en Haskell posee dos fases: Análisis de memoria y análisis de estado. Análisis léxico y generación de código. Análisis sintáctico y análisis de tipo. Compilación e interpretación manual. en una definición recursiva es necesario considerar: Solo el caso básico. Dos funciones distintas con nombres diferentes. El caso básico, donde se detiene la evaluación, y la evaluación recursiva. Solo el caso recursivo. Respecto a las tuplas en Haskell, es correcto que: Tienen tamaño fijo y sus elementos pueden ser de tipos distintos. Pueden tener cualquier cantidad de elementos que varía dinámicamente. Son tipos básicos. Todos sus elementos deben ser del mismo tipo. Respecto a las listas en Haskell: Pueden mezclar Int y Char libremente. Todos sus elementos deben ser del mismo tipo, y se definen recursivamente con cabeza y cola. No admiten la lista vacía. Tienen tamaño fijo. |





