...Microplagio...

Advertisement

Chef Cuando se comienza a estudiar programación, suele ser muy socorrido recurrir a una analogía con una receta de cocina para dar una primera idea informal de lo que se entiende por algoritmo. Luego vienen las estructuras de datos, los sistemas, compiladores y un montón de cosas super tediosas. Pero para aquellos principiantes que gusten del arte culinario, mediante el lenguaje de programación CHEF, podemos dar nuestros primeros pasos en el delicioso mundo de la programación, a la vez que profundizamos en el arte milenario de la cocina.

CHEF es un lenguaje cuyos programas tienen la estructura de una receta de cocina. Los elementos básicos del lenguaje son los ingredientes, que tienen el rol de variables, y los recipientes (platos y vasijas), que actúan como estructuras de datos de tipo pila. Todo programa comienza con el nombre de la receta, y va seguido de la lista de ingredientes (declaración de variables), y del método del preparación (cuerpo principal del algoritmo). Dentro de este último, disponemos de diferentes acciones para insertar/extraer ingredientes de los recipientes, o para alterar sus valores. Por ejemplo:

  • Tomar <ingrediente> del refrigerador: lee un valor desde teclado, y lo almacena en ingrediente.
  • Poner <ingrediente> en el [n-?simo] recipiente: introduce el valor del ingrediente en el tope de la pila indicada.
  • A?adir|Quitar <ingrediente> en el [n-?simo] recipiente: suma|resta el valor del ingrediente al valor que haya en el tope de la pila indicada.
  • Combinar|Dividir <ingrediente> en el [n-?simo] recipiente: multiplica|divide el valor del ingrediente al valor que haya en el tope de la pila indicada.
  • Vertir contenidos del [n-?simo] recipiente en el [m-?simo] plato: copia los elementos de una pila en otra.
  • Servir para k personas: muestra en pantalla k valores, sacados en orden del primer plato, luego del segundo, etc.

Adem?s de estas operaciones b?sicas, existe una construcci?n iterativa general, que permite simular ciclos de tipo while-endwhile. Concretamente, cuando nos encontramos una acci?n del tipo <verbo> <ingrediente> (donde el verbo puede ser cualquiera que no sea una de las palabras reservadas) comenzamos un bucle while condicionado a que el valor de ingrediente sea mayor que cero. El fin del bucle se marca con una acci?n del tipo <verbo> [<ingrediente>] hasta que est? <adjetivo>. Nuevamente, el verbo y el adjetivo (t?picamente un participio) indicados son arbitrarios, y en caso de indicarse un ingrediente su valor se decrementa en uno antes de volver al comienzo del ciclo.

Bueno, dej?monos de teor?a y vayamos a un ejemplo sencillo, Factorial con Fresas y Nata. He aqu? la receta:

Factorial de Fresas con Crema
 
/*
Esta receta calcula el factorial del n?mero que se le indique. Un postre perfecto que combina casi todo.
*/
 
Ingredientes:
 
 1 kg. fresas;
 250 gr. crema;
 
M?todo:
 
 Tomar crema del refrigerador;
 Poner fresas en recipiente;
 Agitar crema;
  Vertir crema en recipiente;
  while crema != null;
 Esparcir crema hasta estar homog?nea;
 Vertir contenido del recipiente en plato;
 Servir para 1 persona;
 
Fin

Como puede apreciarse, el ciclo principal est? entre agitar la crema (mientras su valor sea mayor que cero) y esparcir la crema (decrementar su valor y volver al comienzo del ciclo).

Este lenguaje nos abre m?ltiples paradigmas de programaci?n, como por ejemplo la programaci?n mediterr?nea, una combinaci?n estructurada de funciones del huerto y variables de mar, regado con ciclos de oliva y procedimientos tintos. La programaci?n sigue siendo un delicioso arte. ?Provecho!

V?a La singularidad desnuda.

1 Comentarios:

Autumn Web Solutions
?>
elektronik sigara ukash bursa escort antalya escort istanbul elektronik sigara