Hoja de ejercicios 3. Tuplas y listas PDF

Title Hoja de ejercicios 3. Tuplas y listas
Author Aitor Matilla Casanova
Course Lenguajes de programación
Institution Universidad Rey Juan Carlos
Pages 3
File Size 77.4 KB
File Type PDF
Total Downloads 13
Total Views 152

Summary

Apuntes...


Description

Asignatura: Lenguajes de Programación (Parte III: Programación en Haskell) 3º Grado en Ingeniería de Computadores Hoja de ejercicios 3. Tuplas y Listas

1) Definir una función que reciba una tupla de 3 enteros y la devuelva ordenada en orden

ascendente. Su declaración es: ordenarListaTres :: (Int, Int, Int) -> (Int, Int, Int)

2) En la línea de comandos de Haskell comprobar cuáles son los valores de las siguientes listas: [0, 0.1..1] [2..2] [2,7..4]

3) Sea la lista ex igual a [2,4,7]. Indicar cuáles son los valores de las siguientes listas formadas por comprensión así: a) [2*n | n meses 2002 [31,28,31,30,31,30,31,31,30,31,30,31] ModuleName> meses 2004 [31,29,31,30,31,30,31,31,30,31,30,31]

11) Se desea insertar un elemento en una posición particular de la lista, para ello se pide implementar una función que dada una lista de enteros, el elemento a insertar y la posición obtenga la nueva lista resultado de insertar el elemento en la posición indicada. Ejemplos de aplicación de la función pedida serían: ModuleName>insertarEn [1,2,3,4] 7 0 [7,1,2,3,4] ModuleName>insertaren [1,2,3,4,5] 8 3 [1,2,3,8,4,5]

12) Implementar en Haskell una función que reciba un número real y devuelva una tupla con su parte entera y sus dos primeros decimales (como números enteros). ModuleName>destrozaReal 19.875 (19,87)

13) Diseñar una función que reciba una 2-tupla de números enteros y devuelva el cociente y el resto de la división entera, junto con un mensaje de que la operación se ha realizado de manera satisfactoria. En el caso de que la operación no se pudiera realizar, ha de devolver sendos ceros (como cociente y como resto) y un mensaje que discierna entre si el resultado es “infinito” (n div 0) o “indeterminación” (0 div 0). 14) Crear una función que reciba el radio de una circunferencia y devuelva una 2-tupla con la longitud de la circunferencia y con el área del círculo. Emplea una definición local con la cláusula where para almacenar el valor de Pi (Nota: no se debe utilizar la función predefinida pi). A continuación crear una función con el mismo cometido empleando la definición local let. 15) Escribe un programa que reciba un número entero mayor que 2 y que devuelva, en caso de que existan, dos números primos cuya suma sea el propio número. En caso de que no exista dicha pareja de números primos, puede devolver el propio número con el 0. sumaPrimos 12 = (1,11) sumaPrimos 17 = (17,0)

16) Función que calcula una lista como el doble de todos los elementos de otra lista 17) Función que convierte las letras minúsculas de una cadena de caracteres a mayúsculas 18) Función que calcula una lista de divisores de un número. Usando esta función, escribe otra que diga si un número es primo. 19) Función que calcula una lista con todas las ocurrencias de un número n. matches :: Int -> [Int]->[Int]

Son ejemplos de aplicación de la función: matches 1 [1, 2, 1, 4, 5, 1] devuelve [1,1,1] matches 1 [2,4,2] devuelve [] 20) Usando esta, escribe otra función que recibe un elemento y una lista y devuelva si True si el elemento está en la lista y False en caso contrario....


Similar Free PDFs