Programando recetas de cocina

ChefCuando 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 chorro 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:

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.

Tags:

Siéntete libre de dejar tu comentario.

Comentarios

Aún no hay comentarios.

Deja el tuyo

(requerido)

(requerido)