miércoles, 13 de octubre de 2010

Reporte #4


Lenguajes Funcionales

Los Lenguajes Funcionales son un paradigma de programación declarativa basado en el uso de funciones. Los programas escritos en estos lenguajes se componen solo por definición de funciones, entendiéndose como funciones puramente matemáticas.

Características:

  • No hay asignación de variables.
  • Carece de estructuras secuenciales o iteraciones.
  • Todas las repeticiones de instrucciones se hacen por funciones recursivas.
  • Se programa por medio de funciones.
  • Carece de efectos laterales.
Un ejemplo de este tipo de lenguajes funcionales es el Dr.Scheme.


Dr. Scheme

Este lenguaje, forma parte de los Dialectos de Lisp, y facilita la programación funcional.

Características:
  • Es un dialecto de Lisp.
  • Tiene una sintaxis muy reducida.
  • No necesita reglas de precedencia, ya que, carece de operadores.
  • Una una notación prefija para todas las llamadas a una función.
  • Permite la creación de procedimientos anónimos.
  • Tiene un estándar minimalista, es decir, es fácil de escribir un compilador o interprete fiel a este estándar, que implementar uno en común con sus antecesores de Lisp.

Como Codificar en Dr.Scheme:

  • Primero que nada se debe saber que todo va entre paréntesis.
  • Se define el nombre de la función, a la cual sera llamada cada ves que se desee usar. Mediante la instrucción " (define(NOMBRE_DE_LA_FUNCION... "
  • Se debe de tomar en cuenta que no debe haber espacios entre el nombre de la función.
  • En la parte de arriba de la pantalla se crea la función, es decir, se generaliza para cualquier dato que ingresemos, y ne la parte de abajo, se aplica dicha función conforme a la función ya determinada, por medio de valores de entrada, dándonos enseguida el valor de salida de dicha función.
  • Ver ejemplos.

Ejemplos:

Circunferencia de un Circulo

En este ejemplo, hice una función con la cual se pueda determinar la circunferencia de un circulo, a partir de un radio determinado. Se puede observar en la imagen que a la función llamada "circunferencia" se le asigna el valor de "pi" y al momento de usar la función solo se tiene que dar el valor del radio para el cual se desea saber su circunferencia.



Cuadrado de un Numero

En esta función, se asigna un numero del cual queremos saber el cuadrado de ese numero, solo se llama a la función y se le ingresa el numero del cual saber su cuadrado.



Falso y Verdadero (True & False)

En esta función, se desea saber SI un numero dado es o NO es mayor o igual que un numero determinado en la función, por lo tanto al ingresar un numero queremos saber si es VERDADERO ó FALSO, entonces el resultado de salida sera "#f" para una respuesta "falsa" y "#t" para una respuesta "verdadera".


Números Positivos

En esta función, se desea saber si un numero dado es positivo, y mediante una condición el programa nos arroja si lo es o no lo es.



Comparación de Números

Esta función es muy especifica, ya que se desea saber si un numero es igual o no que otro, entonces solo habrá una sola respuesta correcta, es decir, solo el mismo numero puede ser igual a si mismo y por lo tanto todos los demás numero serán respuestas falsas.


Fuentes de Información


13 comentarios:

  1. hola!

    tienes un buen reporte
    esta bien elaborado y completo , que bien que pusiste las caracteristicas la forma de codificarlo , haz hecho muy entendible este lenguaje con tus ejemplos y la informacion que colocaste en tu reporte
    que bueno que agregaste las imagenes del programa, te ha quedado muy bien

    veo que solo utiliste scheme tambien pudiste aver agregado otros lenguajes funcionales
    pero el de scheme te ha quedado muy completoo

    nos vemoss


    saludos!!

    ResponderEliminar
  2. me gusto mucho la manera en que manejas los reportes en tu blog muy buena estructura y sobre todo buena explicaciion un buuen reportee lenguajes funcionaless :)

    ResponderEliminar
  3. hola..
    hiciste un buen trabajo.. me gsutaron todos los ejemplos que pusiste son basicos :)
    siguee asiiii

    ResponderEliminar
  4. Bien; me parece bien que hayas puesto una descripción del lenguaje y además las funciones creo que son apropiadas para lo que vimos en clase. Lo único que te quiero comentar es que las funciones se pedían en dos lenguajes diferentes. Por lo pronto, no voy a penalizar eso.

    Calificación: 3/3

    Saludos =)

    ResponderEliminar
  5. Hola ricky!
    La verdad tus reportes siempre son muy buenos, con la informacion adecuada y ejemplos entendibles, a veces utilizo tu infomacion o links para comprender mejor los lenguajes. Ademas de que hiciste varios ejemplos, solo que te falto agregar otro lenguaje diferente a DrScheme, pero todo esta muy bien.
    Saludos!

    ResponderEliminar
  6. que onda riky!!
    muy bien creo la verdad si me parecio bien porque aunque son ejemplos simples no muy dificiles son mas facil de entender y asi como los pusiste paso por paso me parecio muy bien explicado :D
    saludos

    ResponderEliminar
  7. hola!!

    me gusto loque realisaste .. yo hice lo mismo en r ..=)

    ResponderEliminar
  8. Hola esta muy bien tus programas me gsutaron muchos además de que los explicaste muy bien asi fue mas facil de entenderlos

    ResponderEliminar
  9. Muy bien tu reporte se complementa con las imagenes que pusiste de cada ejempli.

    ResponderEliminar
  10. muy bien riky, aunque hubieras hecho en distintos lenguajes pero esta muy bien tu reporte, saludos =)

    ResponderEliminar
  11. Hey no te habia podido responder pero si Gracias por recomendarme ver tus programas, pues le entendi mejor a Drscheme, pero hhubiese estado mejor que tambien intentaras el lisp, esta facil una vez que ya le entiendes a Drscheme o almenos eso me parecio a mi

    ResponderEliminar
  12. muy bien por la informacion y las pantallas de ejecucion, completo el reporte

    ResponderEliminar
  13. Muy bueno el reporte explicacion, programas, pantallas y referencias todo en orden y entendible pero por que limitarse con uno solo lenguaje cuando hay variedad XD

    ResponderEliminar