Sunteți pe pagina 1din 7

Instituto Tecnolgico de Oaxaca

MATERIA:

Programacin Lgica y Funcional


TRABAJO: Caractersticas de diversos lenguajes de programacin y la clasificacin de los tipos de dato.

ALUMNO: RUIZ CHIMAL JOSU ALEJANDRO CARRERA: ING. EN SISTEMAS COMPUTACIONALES CATEDRTICO: Ing. Armando Aragn Lpez

HORA: 11:00-12:00 FECHA DE ENTREGA: 16 DE OCTUBRE DEL 2013

AULA I-11

ndice
Portada .. 1 ndice 2 Introduccin 3 Objetivos 4 Desarrollo 5 Qu es el lenguaje de programacin LISP? .. 6 Implementacin del algoritmo en LISP. . 7 Anlisis del algoritmo. .. 7

Anlisis de la investigacin . 8 Conclusiones . 8 Bibliografa y fuentes de informacin electrnica 9

ntroduccion
Una de las palabras ms interesantes para prestarse al anlisis es el algoritmo. Un algoritmo como lo define el matemtico ancestral Al- Juarism, es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Partiendo de ello, el algoritmo es quien nos da las bases para la correcta maquetacin de un programa, no importando el lenguaje. La abstraccin que se genera es alta y se piensa las acciones a seguir para seguir con la codificacin, si tenemos bien el algoritmo, es evidente que tendremos un cdigo funcional. En trminos muy generales LISP es un lenguaje funcional, su funcionamiento se basa en procesar listas. En el presente trabajo, se presentan codificaciones en LISP de algoritmos diversos, denotando la importancia de generar un algoritmo potente para tener funcionalidad en un lenguaje de programacin. Sin ms prembulo, iniciemos con los programas codificados.

Objetivos
Analizar la estructura y el funcionamiento de LISP como lenguaje funcional. Concientizar el uso de algoritmos para generar cdigo funcional y de calidad.

Desarrollo
A continuacin se presentan diversos programas codificados en clase, basados en el lenguaje de programacin LISP, observemos la forma de evaluacin, utilizando una evaluacin de operaciones pre-fija. Ejemplo1 (+ 3 17.4 5) 29 Ejemplo2 (+ 3 4 8) 15 Ejemplo3 (+(*3(+ 7 19.5))4) 83.5 Ejemplo4 (+(*3 5(*4 7(-20 6.8)12)647.4 Ejemplo5 (DEFINE A(* 5 5))A (*A A)625 Ejemplo6 (DEFINE B( + A (* 5 A)))B B150 (+ A (B/5))55

Ejemplo7 (DEFINE SQUARE( LAMDA (X) (*X X ))) (SQUARE 1001)1002001 (SQUARE +57)144 (+(SQUARE 3)(SQUARE 4))25 (SQUARE(SQUARE(SQUARE 100)))) Ejemplo8 DEFINE(AVERANGE X Y) (/(+ X Y) 2 ))

DEFINE(MEAN_SQUARE X Y) (AVERANGE(AQUARE X) (SQUARE Y))) (MEAN SQUARE 2 3)

Ejemplo9 DEFINE (ABS X) (CON((<X0)(-X)) ((=X0)(0) ((X>0) X)))

(DEFINE(ABS X) (IF (< X 0) (-X) X))

Ejemplo10 DEFINE(TRY GUESS X ) (IF(GOOD _ENOUGH ? GUESS X) GUESS (TRY (IMPROVE GUESS X) X ))) DEFINE (SQRT X)(TRY 1 X)

DEFINE(IMPROVE GUESS X) (AVERANGE GUESS(/X GUESS))) DEFINE(GOOD_ENOUGH ? GUESS X) (<ABS (- (SQUARE GUESS)X)) .001))

Analisis de la investigacion
Esta investigacin resulto ser muy interesante, puesto que en clases ya habamos visto estos programas, al inicio me resulto muy difcil entender la evaluacin de las expresiones en LISP, pero en cuanto comprend la evaluacin de expresiones por notacin prefija, ya se hizo fcil comprender la forma de operar del lenguaje de programacin LISP, en esencia, evala las expresiones desde los bloques ms internos hasta los ms externos, teniendo un resultado con la conjuncin de todas las operaciones. Comprend que existen dos formas de escribir dichas expresiones, mediante un formato lineal y uno indentado, el cual el profesor resalto que el ultimo formato es el ms fcil de comprender. Comprend tambin la importancia de generar un algoritmo, puesto que muchas veces solo vamos a programar sin antes realizar un anlisis pertinente de la situacin haciendo que muchas veces tengamos problemas o errores lgicos en nuestro cdigo.

Conclusiones
LISP es un lenguaje muy interesante y en este trabajo nos dimos cuenta, podemos observar la forma de definir las operaciones, un formato que en un inicio no me di cuenta, pero que el profesor destac en clase, un formato muy antiguo de definicin de procedimientos. LISP nos ensea el uso de un lenguaje funcional, no obstante es importante que conozcamos este tipo de lenguajes, puesto que muchos de los lenguajes que hoy usamos de tipo multiparadigma se basaron en bases operativas de algn lenguaje funcional, lgicos o declarativo.

Bibliografa y fuentes de informacion electronica


1. Definicin de algoritmo, recuperado desde: http://definicion.de/algoritmo/

S-ar putea să vă placă și