PDF de programación - Lenguaje TIMBA

Imágen de pdf Lenguaje TIMBA

Lenguaje TIMBAgráfica de visualizaciones

Actualizado el 30 de Junio del 2018 (Publicado el 26 de Junio del 2018)
1.032 visualizaciones desde el 26 de Junio del 2018
301,9 KB
17 paginas
Creado hace 9a (01/01/2015)
Lenguaje TIMBA

Introducción a la Programación - Introducción a la Computación - Fundamentos de la Informática

(Ing. Electrónica - T.U.G. - T.U.E. - T.U.R. - T.U.W.- Prof. Tec. Elect. - T.U.T - T.U.M)

Área de Servicios

Departamento de Informática

Universidad Nacional de San Luis

Lenguaje TIMBA

Índice

1. Génesis

2. El Lenguaje “TIMBA”

3. Programa

3.1. Sentencias . . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.1.1. Sentencias Operativas

.

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.1.2. Sentencia de Selección SI . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.1.3. Sentencia de Iteración MIENTRAS . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.2. Condición . . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.2.1. Pila Vacía . . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.2.2. Carta Boca Abajo . . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.3. Palo de Carta . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

3.4. Valor de Carta . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

2

2

2

4

4

5

6

6

7

8

8

9

3.5. Descripción de Pila . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. . . .

. . . .

. . .

. . . .

. .

11

A. Apéndice: Palabras reservadas de “TIMBA”

B. Apéndice: Simbología Usada en la Descripción de Sentencias

C. Apéndice: Descripción BNF de la gramática de “TIMBA”

2015 - Area de Servicios - Departamento de Informática - Universidad Nacional de San Luis

13

14

16

1

Lenguaje TIMBA

1. Génesis

El lenguaje “TIMBA” (Terribly Imbecile Machine for Boring Algorithms) fue desarrollado por
un equipo de trabajo en la Universidad Nacional de San Luis, como respuesta a la necesidad de contar con un lenguaje
sencillo de programación que permita aprender a programar. El equipo fue dirigido por el Ing. Hugo Ryckeboer, Profesor
de nuestra Casa durante muchos años.

2. El Lenguaje “TIMBA”

“TIMBA” es un lenguaje de programación que maneja pilas de cartas, concebido como primer elemento de un curso
elemental de programación para futuros profesionales de la disciplina. Consta sólo de tres operaciones elementales sobre
pilas. Por supuesto, así no es posible una gran capacidad de programación, pero esto es desde ya deseable en un lenguaje
de uso didáctico.

“TIMBA” permite la definición de pilas, las operaciones elementales de tomar y agregar cartas a las pilas, e invertir
la carta que en ese momento se analiza. Desde el punto de vista del programador, un programa en “TIMBA” es una
secuencia de órdenes a un ejecutor, UCP, quién es responsable de los resultados y el análisis de errores. UCP reconoce las
pilas por su nombre, las operaciones “tomar”, “depositar” e “invertir”, las estructuras de control de selección y repetición
y reconoce un ente especial, llamado “CARTA” o “LA CARTA”, que es operando implícito de las operaciones de TOMAR
de una pila y DEPOSITAR en una pila, además de ser el objeto único de la operación INVIERTA.

3. Programa

Un programa “TIMBA” consta de dos partes, una primera de definición del proceso algorítmico y la segunda de

descripción de datos de pila. Las mismas deben escribirse contiguas, separadas por un punto y coma (;).

La definición del proceso algorítmico debe encabezarse con las palabras claves DEFINICION DE PROGRAMA.
Consiste de una secuencia de todas las sentencias que constituyen la descripción del algoritmo separadas entre sí por
coma (,). Las sentencias son de tres tipos:

1. Operativas;

2. De selección;

3. Iterativas.

1. Las sentencias operativas actúan sobre las pilas o la carta. Comienzan siempre por un verbo en imperativo, que es

interpretado por UCP como una orden. Los verbos posibles son:

a) TOME;
b) DEPOSITE;

2015 - Area de Servicios - Departamento de Informática - Universidad Nacional de San Luis

2

Lenguaje TIMBA

c) INVIERTA.

2. Las sentencias de selección permiten ordenar a UCP cursos alternativos del flujo de proceso, bajo ciertas condicio-
nes verificables en tiempo de ejecución. Una sentencia de selección comienza siempre por el adverbio SI, seguido
de la condición (simple o no) y las sentencias a ejecutarse en caso de ser ésta verdadera.
Si no hubiera dos secuencias alternativas, sino sólo un bloque de sentencias a ejecutar en caso de cumplirse la con-
dición, o saltear si no se cumpliere, entonces la sentencia SI finaliza con las palabras claves SINO NADA MAS. Si
hubiera una secuencia a realizar, en caso de no cumplirse la condición y sólo entonces, la secuencia deberá incluirse
entre las palabras claves SINO y NADA MAS. La estructura de control de la selección es implementada por medio
de la sentencia SI.

3. Las sentencias iterativas permiten ordenar a UCP la realización de una, ninguna o varias veces un bloque de senten-
cias, bajo control de una condición (simple o compuesta) verificable en tiempo de ejecución. Una sentencia iterativa
comienza siempre por el adverbio MIENTRAS, que es seguido por la condición, el bloque a ejecutar y la palabra
clave REPITA. La estructura de control de la iteración es implementada por medio de la sentencia MIENTRAS.

La descripción de datos de pila comienza por la frase de palabras clave “UCP EJECUTE CON LAS SIGUIENTES

CARTAS:”, seguida por la descripción de las pilas, cada una separada de la anterior por coma (,).

Una descripción de pila es de una de las dos formas:

1. descripción de pila vacía;

2. descripción de contenido de pila.

La descripción de pila vacía tiene siempre la siguiente forma: la palabra clave PILA seguida del nombre de la pila,

seguido de las palabras claves NO TIENE CARTAS.

La descripción de contenido de pilas es semejante, cambiando NO TIENE CARTAS por TIENE y una lista de cartas.

Al finalizar la segunda parte de un programa se coloca punto (.).

Cada una de las sentencias posibles y algunas de sus componentes están explicadas con detalle en las páginas que
siguen. Para una descripción formal de la gramática que genera “TIMBA”, se refiere al lector al Apéndice C de este
manual.

Una lista completa de las palabras claves se encuentra en el Apéndice A.

Antes de leer las páginas que siguen, se recomienda referirse al Apéndice B, “Simbología Utilizada”, para aprovechar

mejor el material.

En términos de la simbología descripta en el Apéndice B un programa en “TIMBA” es:
DEFINICION DE PROGRAMA!sentencia" [,!sentencia"]∗ ; UCP EJECUTE CON LAS SIGUIENTES CARTAS:
!descripción de pila"#,!descripción de pila"$∗ .

Los ítems “sentencia” y “descripción de pila” son desarrollados a continuación.

2015 - Area de Servicios - Departamento de Informática - Universidad Nacional de San Luis

3

Lenguaje TIMBA

3.1. Sentencias

Las sentencias son el elemento constitutivo de “TIMBA”.

Una sentencia en “TIMBA” es la mínima unidad lógica.

Las sentencias son de dos grandes tipos, en “TIMBA”: Operativas y de Control.

Las sentencias operativas realizan cambios sobre la configuración de las pilas, o estado de la carta que UCP analiza
en ese momento, lo que se simboliza por la “carta que UCP tiene en la mano” (ver Sección 3.1.1 Sentencias Operativas).

Las sentencias de control son comandos condicionales, y en sí no alteran la configuración de las pilas ni el estado
de la carta, sino por las sentencias que contienen a su vez. Las sentencias de control permiten controlar la secuencia de
operaciones, sin ser operaciones en sí.

Las hay de dos tipos: de selección (ver SI) y de iteración (ver MIENTRAS).

Cuando en una descripción formal aparece la palabra sentencias, se quiere simbolizar:

Donde sentencia es, formalmente:

3.1.1. Sentencias Operativas

!sentencia" [,!sentencia"]∗



Sentencia operativa
Sentencia de selección
Sentencia de iteración



Las sentencias operativas son tres, formalmente:

DEPOSITE LA CARTA
DEPOSITELA

TOME [UNA [CARTA]] DE [LA] PILA!nombre de pila"



INVIERTA LA CARTA
INVIERTALA

EN [LA] PILA!nombre de pila"

o

o




La ejecución por UCP de una sentencia operativa TOME presupone que la pila cuyo nombre figura en la sentencia ha

sido definida en la segunda parte del programa.

2015 - Area de Servicios - Departamento de Informática - Universidad Nacional de San Luis

4

Lenguaje TIMBA

La carta que figura al tope de la pila es tomada por UCP, y cualquier referencia posterior que se haga al ente CARTA

se interpretará como una referencia a la última carta tomada por UCP (siempre que no hubiera sido depositada).

DEPOSITE ordena a UCP dejar la carta que tiene en la mano en ese momento, en una pila determinada.

La pila debe ser declarada en la segunda parte del programa. La ejecución de un DEPOSITE presupone que UCP

tiene, efectivamente, una carta en la mano; lo que se consigue por medio de la ejecución de una sentencia TOME.

Por obvias razones, UCP detectará un error de ejecución si no tuviera una carta en la mano y se le ordenara DEPOSITE.
Por lo mismo, UCP no admite la ejecución de dos TOME sin un DEPOSITE entre ellos, detectando también error de eje-
cución.

Por último, UCP reconoce error de ejecución al intentar tomar una carta de una pila vacía.

El verbo INVIERTA se refiere a la carta que UCP tiene en la mano. Éste reconoce dos estados: NO BOCA ABAJO
y BOCA ABAJO. La ejecución por UCP de una sentencia INVIERTA altera el estado de CARTA: si éste era NO BOCA
ABAJO pasa a ser BOCA ABAJO y viceversa. El verbo INVIERTA presupone la existencia de carta, sino UCP detecta un
error de ejecución.

Mensajes
  • Links de descarga
http://lwp-l.com/pdf12152

Comentarios de: Lenguaje TIMBA (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad