option
Cuestiones
ayuda
daypo
buscar.php

PPR cuestionario 4

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
PPR cuestionario 4

Descripción:
unidad 4

Fecha de Creación: 2025/10/22

Categoría: Universidad

Número Preguntas: 37

Valoración:(4)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

La Transparencia referencial permite: El cambio de estado. Que una expresión tenga siempre el mismo valor. Definir funciones de orden superior. Que una expresión cambie su valor.

En los lenguajes funcionales la gestión de la memoria la hace: El programador. Se hace implícitamente. El programador en cuanto a asignación y se recupera por el recolector de basura. El programador en cuanto a recuperación de los datos.

Las ventajas del paradigma funcional son: Fácil de integrar con otras aplicaciones. Recomendable para modelar la lógica de negocio. Administración automática de la memoria. Complejidad en el código.

Haskell es un lenguaje apropiado para: Programas altamente modularizados. Programas altamente modificados. Programas altamente modificados y mantenidos. Ninguna de las anteriores.

Las funciones en Haskell pueden ser: Argumentos. Argumentos o resultados. Argumentos o resultados o componentes de estructuras de datos. Resultados.

El proceso de currificación permite: Reducir el número de paréntesis necesarios para escribir expresiones. Reducir el número de corchetes para escribir expresiones. Ampliar el número de paréntesis para escribir expresiones. Reducir el número de corchetes necesarios para escribir expresiones.

La siguiente expresión XS ++ YS devuelve en Haskell: La lista resultante de concatenar XS e YS. La suma resultante de XS e YS. La lista de valores obtenidos al aplicar la función XS a YS. Ninguna de las anteriores.

El espaciado se basa en que: Las expresiones están alineadas por filas. Las expresiones están alineadas por columnas. Las expresiones están alineadas por filas y columnas. Las expresiones no están alineadas.

La sentencia Data permite: Definir nuevos tipos de datos. Aplicar recursividad. Definir funciones. Declarar tipos predefinidos.

La evaluación perezosa: Evalúa los argumentos de una función antes de conocer si estos serán utilizados. No evalúa a los argumentos de una función hasta que no se necesita. Permite definir nuevos tipos de datos. Ninguna de las anteriores.

Cuál de las afirmaciones es correcta: En el paradigma funcional la manera de construir abstracciones es a través de funciones. En el paradigma funcional la manera de construir abstracciones es a través de instrucciones. En el paradigma funcional la manera de construir abstracciones es a través de estructuras. En el paradigma funcional la manera de construir abstracciones es a través de tuplas.

Cuál de las afirmaciones es correcta: El almacenamiento lo asigna el desarrollador y se inicializa implícitamente, y es recuperado automáticamente por un recolector de basura. El almacenamiento lo asigna e inicializa el desarrollador, y es recuperado automáticamente por un recolector de basura. El almacenamiento se asigna y se inicializa implícitamente, y es recuperado automáticamente por un recolector de basura. El almacenamiento lo asigna, inicializa y recupera el desarrollador.

Las tuplas en Haskell son: Infinitas y contienen elementos de distintos tipos. Finitas y contienen elementos de distintos tipos. Infinitas y contienen elementos del mismo tipo. Finitas y contienen elementos del mismo tipo.

Las listas en Haskell son: Infinitas y contienen elementos de distintos tipos. Finitas y contienen elementos de distintos tipos. Infinitas y contienen elementos del mismo tipo. Finitas y contienen elementos del mismo tipo.

Los tipos NO básicos en Haskell son: Enteros, Flotantes, String y Booleanos. Enteros, Flotantes y listas. Enteros, Flotantes, Caracteres, Booleanos y tuplas. Listas, tuplas y funciones.

Cuál es el resultado de evaluar la siguiente expresión let x = 2 * 4 in 3 * x + 1 + mod (x) 2: 32. 25. 45. 13.

Cuál es el resultado de evaluar con 2 y 3 la siguiente expresión function x y = if x >= y then x*5/y else y*2/x: 5. 7.5. 3. 15.

Cuál es el resultado de evaluar con 3 y 2 la siguiente expresión funcion x y = if x >= y then x*5/y else y*2/x: 5. 7.5. 3. 15.

Cuál es el resultado de evaluar la siguiente expresión [1,3,10] + [2,6,5,7]: [1, 2, 3, 5, 6, 7, 10]. [1, 3, 10, 2, 6, 5, 7]. Ninguna, no se puede evaluar el operador + en listas.

¿Qué es una función de orden superior? : Es una función que se llama a sí misma hasta una condición de corte especificada. Es una función que retorna sus valores sólo en el campo de los números reales. Es cualquier tipo de función que usamos con expresiones lambda. Es una función tal que alguno de sus argumentos es una función o que devuelve una función como resultado.

La evaluación ansiosa en un lenguaje funcional: Evalúa todos los argumentos de la función antes de conocer si serán utilizados. No evalúa ningún argumento de la función hasta que se los necesita. No se aplica el concepto de evaluación ansiosa en lenguajes funcionales. No existe ese tipo de evaluación.

Para escribir una función en Haskell necesito: Negación, conjunción y disyunción. Definición de signatura e implementación del cuerpo de la función. Definición de parámetros de la función. Definición de condición de corte recursivo.

Señale la afirmación incorrecta: En la inferencia de tipos: El programador no está obligado a declarar el tipo de las expresiones. El compilador contiene un algoritmo que infiere el tipo de las expresiones. Si el programador declara el tipo de alguna expresión, el sistema chequea que el tipo declarado coincide con el tipo inferido. El sistema no siempre chequea los tipos, si no coinciden con lo que el programador declaró, se infieren.

Los condicionales en Haskell: Deben expresarse siempre como condicional completo (IF..THEN..ELSE). Pueden expresarse como condicionales simples (IF..THEN). No es posible anidar condicionales. Sólo se puede evaluar una sola condición, nunca múltiples condiciones.

En una función polimórfica: El tipo devuelto depende de los argumentos ingresados. El tipo devuelto depende de las variables declaradas con Let o Where. El tipo devuelto depende de un casteo especial. El tipo devuelto depende de la inferencia de tipos del lenguaje.

En la transparencia referencial: Los valores resultantes son inmutables. Los valores resultantes pueden cambiar. Los valores resultantes cambiarán dependiendo de la inferencia de tipos. Ninguna de las anteriores.

Si quisiera simular un ciclo en Haskell: Debería utilizar recursividad. Debería crear una función especificando la palabra clave repeat. Debería usar guardas y condicionales. No es posible simular un ciclo en Haskell.

Característica NO fundamental de los lenguajes funcionales: Utilización de funciones polimórficas. Evaluación perezosa. Construcción de abstracciones a través de funciones o relaciones. Utilización de tipos de datos genéricos.

El paradigma funcional tiene diversas áreas de aplicación entre las cuales podemos enumerar: Desarrollar aplicaciones en Tiempo Real, con muy poco tiempo de respuesta. Resolver problemas que requieran demostraciones por inducciones. Aplicaciones en cuya formulación existen reglas resueltas por un Motor de Inferencias. Aplicaciones que usan exclusivamente el modelo MVC (Model View Controler).

Relativo a las funciones en Haskell: En el Lenguaje Haskell no son de orden superior. Todos sus argumentos se evalúan previamente a la evaluación del cuerpo. Podemos referenciarlas por su nombre, sin necesidad de conocer su estructura interna. Requieren ser definidas previo a su uso: Nombre, argumentos de entrada/salida.

Respecto a la evaluación perezosa: Es una característica propia de todos los lenguajes funcionales. El argumento de una función sólo se evalúa cuando es necesario para el cómputo. Al evaluarse un argumento se lo hace en forma completa, una única vez. Solo al manipular estructuras de datos 'infinitas' no podemos utilizarla.

Respecto a las funciones en Haskell: Las funciones juegan un papel no esencial. Pueden ser argumentos o resultados de otras funciones o ser componentes de estructuras de datos. Son imprescindibles la definición de signatura y la implementación de su cuerpo. Ninguna de las anteriores.

Haskell es un lenguaje de programación fuertemente tipado porque: Exige la definición de los tipos de entrada /salida previa a la definición del cuerpo de la función. Permite que las funciones de orden superior tengan asociado un tipo de dato de retorno. Posibilita asociar un único tipo a toda expresión bien formada. Permite que el usuario defina sus propios tipos de datos.

Respecto a la inferencia de tipos de Haskell: El programador debe declarar el tipo de la expresión, el sistema chequea coincidencia. Si el programador declara el tipo de alguna expresión, el sistema chequea que el tipo declarado coincida con el tipo inferido. Haskell utiliza el tipo declarado por el programador, o lo infiere si el programador no lo declaró. La declaración de tipos en una expresión tiene propósito solo documentativo, Haskell lo infiere.

Las expresiones let de Haskell son útiles para: Restringir el efecto colateral de las variables globales a expresiones específicas. Permitir que a una variable se asocie a un tipo específico de datos. Definir un conjunto de declaraciones locales. Permiten que determinadas funciones accedan a variables definidas en otras.

Cuando se trabajan con símbolos de operador es necesario tener en cuenta: La precedencia y la asociatividad. La precedencia o la asociatividad. Asociatividad y Simetría. Ninguna de las opciones anteriores es correcta.

En el estándar Prelude.hs de Haskell, el operador (-), es: Asociativo a la izquierda. Asociativo a la derecha. No asociativo. Asociativo a la derecha y a la izquierda.

Denunciar Test