La Practica 3 Programacion Logica y Funcional
christian_ayalaPráctica o problema1 de Septiembre de 2017
804 Palabras (4 Páginas)285 Visitas
[pic 1][pic 2]
[pic 3]
Práctica No. 3
Nombre: Uso de funciones, listas y recursión
Introducción:
Las aplicaciones de listas son muy amplias, en esta práctica se plantea resolver una serie de problemas sencillos para que el alumno se familiarice con el uso de estas, las funciones y la recursión.
Materiales y equipos:
1.- Equipo de cómputo con Windows XP
2.- Haskell Platform
Metodología
1.- Resolver los siguientes problemas utilizando los conceptos vistos en clase. Determina y resuelve los problemas que puedas tanto por recursión como por listas por comprensión y expresiones lambda.
a.- Elaborar función que reciba una lista de caracteres y retorne la cantidad de letras que contiene, el espacio en blanco y cualquier otro carácter que no sea letra no se deben tomar en cuenta..
[pic 4]
[pic 5]
b.- Elaborar función que reciba un lista de enteros y retorne una lista con la lista original dividida en 2 sub listas, la división deberá hacerse a la mitad de la lista original. Por ejemplo si se pasa [4,23,19,32,90,21] el resultado deberá ser: [[2,23,19],[32.90.21]].
[pic 6]
[pic 7]
c.- Elaborar una función que reciba una lista y m, obtenga la lista de múltiplos de m que tiene.
[pic 8]
[pic 9]
d.- Elaborar una función que reciba una lista de 2 niveles y regrese la lista sin el último elemento simple de la última lista.
[pic 10]
[pic 11]
e.- Elaborar una función que reciba una lista y que rote n elementos de esta a la izquierda retornando la lista rotada. Si se pasa “hola” retornara “olah”.
[pic 12]
[pic 13]
f.- Elaborar una función que reciba una lista y que rote n elementos de esta a la derecha retornando la lista rotada. Si se pasa “hola” retornara “ahol”.
[pic 14]
[pic 15]
g.- Elaborar una función que reciba lista de 2 niveles e invierta en todos los niveles los elementos.
[pic 16]
[pic 17]
i.- Elaborar una función que reciba dos argumentos, el primero es un valor simple y el segundo es una lista, la función deberá retornar la cantidad de veces que el valor simple se localiza en la lista.
[pic 18]
[pic 19]
j.- Elaborar una función que retorne la posición de un elemento simple de una lista de 2 niveles, la función recibirá una lista de 2 niveles y el elemento del que va a retornar la posición, Si el elemento no existe deberá lanzar un error con la función error. Revisa la función error. Considerar el i-enesimo elemento considerando como si la lista fuera plana por ejemplo si se pasa [[3,2,7],[9,8,10]] 9 deberá retornar 4.
[pic 20]
[pic 21]
l.- Elaborar una función que se le pase una lista y retorne el elemento a la mitad, si la lista tiene una longitud par deberá retornar el elemento más a la izquierda. Si es una lista vacía deberá dar un error.
[pic 22]
[pic 23]
m.- Elabora una función que de una lista de 2 niveles obtenga el valor mínimo que se localiza en ella.
[pic 24]
[pic 25]
n.- Elaborar una función que de una lista de 2 niveles obtenga el valor máximo que se localiza en ella.
[pic 26]
[pic 27]
Recomendaciones
Resuelve cada problema probando con los suficientes casos de prueba para asegurarse que funciona correctamente.
...