Sei sulla pagina 1di 9

INSTITUTO TECNOLGICO DE TUXTLA

GUTIRREZ

EJERCICIOS DE PROGRAMACION CON LISTAS

INGENIERA EN SISTEMAS COMPUTACIONALES

ALUMNO:
JORGE LUIS DAZ SUREZ

PROFESOR:
GALDINO BELIZARIO NANGO SOLS

MATERIA:
PROGRAMACIN LGICA Y FUNCIONAL

GRUPO:
S8A

Tuxtla Gutirrez, Chiapas, Mxico; 5 de Marzo de 2016

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A
Ejercicio 1:
Rellene una lista con los 100 primeros nmeros enteros y los muestre en pantalla en
orden ascendente.
Tal como dice el ejercicio, debemos programar en lenguaje haskell para que en pantalla
podamos ver los nmeros del 1 al 100 y que estn en orden ascendentes, como los
ejercicios anteriores, los realice en sublime text, lo cual quedo de la siguiente manera:

La funcin que realiza tales acciones se llama lista Ascendente en el cual solo
tendremos una lista de salida en la definicin de la funcin, ya que este, har la creacin
de la lista internamente y no tendremos que mandarle un parmetro.

Lo siguiente fue entrar a la terminal e ir al directorio en donde se encuentra el programa,


en este caso se encuentra el escritorio, luego de entrar, vamos a teclear ghci para entrar
al compilador de haskell, luego cargaremos el programa y luego de haberlo cargado y
compilado podremos probar la funcionalidad del programa, tal como se muestra en la
imagen.

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A

Ejercicio 2:
Lea una lista por teclado, los almacene en una lista y muestre la suma, resta,
multiplicacin y divisin de todos.
Para este ejercicio lo realice mediante mdulos, es decir, realice un mdulo, el cual este
contiene las funciones que harn la suma, resta, multiplicacin y divisin de los nmeros
ingresados.
Cada funcin se codifico debajo de la declaracin del mdulo, tal como se muestra en la
imagen.

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A
Lo siguiente fue entrar a la terminal e ir al directorio en donde se encuentra el programa,
en este caso se encuentra el escritorio, luego de entrar, vamos a teclear ghci para entrar
al compilador de haskell, luego cargaremos el programa y luego de haberlo cargado y
compilado podremos probar la funcionalidad del programa, tal como se muestra en la
imagen.

Ejercicio 3:
Lea 5 por teclado, los copie a otra lista multiplicados por 2 y muestre la segunda
lista.
Como dice el ejercicio, el usuario ingresara una lista de 5 nmeros y el programa los
mostrara en otra lista como resultado pero multiplicados por 2. El programa se realiz en
sublime text, el cual quedo de la siguiente manera:

La funcin se llama listaCuadrados en cual recibe una lista como parmetro y tendr
como salida otra lista. Lo que hace la funcin es multiplicar el mismo valor que lee (el
primero) y manda como parmetro el resto de la lista, en donde la descompone y realiza
la misma operacin hasta que este vaca.

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A
Lo que sigui es probar el programa, para ello entramos a la terminal de nuevo e ir al
directorio en donde se encuentra el programa y teclear ghci, luego, cargar y compilar e
programa y luego lo probamos, tal como se muestra en la imagen.

Ejercicio 4:
Mediante una lista almacene nmeros tanto positivos como negativos y los muestre
ordenados.
El ejercicio nos dice que en una lista que usuario dar, no importando nmeros negativos
como positivos este los devuelva ordenados. Este ejercicio se realiz en lenguaje haskell
y en sublime text.
Para este ejercicio se realiz mediante dos mtodos, el primero fue mediante el mtodo
de ordenacin quicksort y el segundo con un mtodo que descompone la lista en dos
mitades y luego los ordena mediante un mtodo llamado de mezcla.

A continuacin se muestra el mtodo de quicksort:

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A

Lo que sigui es probar el programa, para ello entramos a la terminal de nuevo e ir al


directorio en donde se encuentra el programa y teclear ghci, luego, cargar y compilar e
programa y luego lo probamos, tal como se muestra en la imagen.

El siguiente mtodo fue el de mezcla:

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A

Se utiliz unas libreras para poder dividir la lista y para saber su longitud, las cuales se
declararon en las tres primeras lneas de cdigo.

Lo que sigui es probar el programa, para ello entramos a la terminal de nuevo e ir al


directorio en donde se encuentra el programa y teclear ghci, luego, cargar y compilar e
programa y luego lo probamos, tal como se muestra en la imagen.

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A
Ejercicio 5:
Rellene una lista con 20 nmeros y luego busque un nmero correcto.
Tal como dice el ejercicio, el usuario dar una lista de 20 nmeros y tambin un nmero
que este ser buscado en la lista y si lo encuentra dir que si est en la lista, de caso
contrario este nos dir que no lo est. Este ejercicio se realiz en lenguaje haskell y en
sublime text.
En programa quedo de la siguiente manera:

En la declaracin de la funcin, se convierte en valor de la lista en un nmero y este


tendr como salida una cadena.

Lo que sigui es probar el programa, para ello entramos a la terminal de nuevo e ir al


directorio en donde se encuentra el programa y teclear ghci, luego, cargar y compilar e
programa y luego lo probamos, tal como se muestra en la imagen.

Programacin Lgica Y Funcional


Jorge Luis Daz Suarez S8A