Actualizado el 30 de Junio del 2018 (Publicado el 26 de Junio del 2018)
904 visualizaciones desde el 26 de Junio del 2018
2,8 MB
34 paginas
Creado hace 9a (01/01/2016)
Lenguaje TIMBA
Fundamentos de la Informática – Int. a la Programación
Int. a la Computación
Área de Servicios – Dpto. De Informática - FCFMyN
2016
Orígenes
Lenguaje Timba
El
lenguaje
“TIMBA”
recibe
este
nombre
por:
Terribly
Imbecile
Machine
for
Boring
Algorithms.
Fue
desarrollado
por
un
equipo
de
trabajo
en
la
UNSL,
como
un
lenguaje
sencillo
de
programación
para
trabajar
con
la
estructura
de
pilas.
El
equipo
fue
dirigido
por
el
Ing.
Hugo
Ryckeboer
que
en
la
actualidad
es
aún
Profesor
de
nuestra
Casa.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
El Lenguaje TIMBA
Lenguaje Timba
Maneja pilas de cartas y tiene sólo tres operaciones
elementales sobre ellas.
No es posible una gran capacidad de programación.
Permite definir pilas y consta de las operaciones elementales sobre
las pilas de tomar y depositar cartas, e invertir la carta que en
ese momento se analiza.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Programa en TIMBA
Lenguaje Timba
Un programa es una secuencia de órdenes o
sentencias a un ejecutor, UCP.
UCP es responsable de los resultados y del
análisis de errores y reconoce las pilas por su
nombre, las operaciones “tomar” y “depositar”,
las estructuras de control y un ente especial,
llamado “CARTA” o “LA CARTA”.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Programa en TIMBA
Lenguaje Timba
Consta
de
dos
partes:
una
definición
del
proceso
algorítmico
los
datos
de
pila.
Separadas
entre
sí
por
el
símbolo
“;”
La
definición
del
proceso
comienza
con
las
palabras
claves:
DEFINICION DE PROGRAMA,
y
las
sentencias
que
describen
el
algoritmo
a
conQnuación,
van
separadas
entre
sí
por
“,”.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Programa en TIMBA
Lenguaje Timba
Las
sentencias
son
de
tres
Qpos:
actúan
sobre
las
pilas
o
la
carta
ordenan
a
UCP
cursos
alternativos
del
proceso
Operativas:
De selección:
Iterativas:
ordenan
a
UCP
la
realización
de
una,
ninguna
o
varias
veces
un
bloque
de
sentencias
2016
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias Operativas
Lenguaje Timba
Actúan
sobre
las
pilas
o
la
carta.
Comienzan
siempre
por
un
verbo
en
impera0vo,
que
es
interpretado
por
UCP
como
una
orden.
Los
verbos
posibles
son:
a. TOME;
b. INVIERTA;
c. DEPOSITE.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Sentencias de Selección
Lenguaje Timba
Permiten
ordenar
a
UCP
cursos
alternaQvos
del
flujo
de
proceso,
bajo
ciertas
condiciones
verificables
en
ejecución.
Comienzan
con
SI,
seguido
de
la
condición
y
las
sentencias
a
ejecutar
si
ésta
es
verdadera.
Si
no
hay
dos
secuencias
alternaQvas,
la
sentencia
SI
finaliza
con
las
palabras
claves
SINO NADA MAS.
Si
hay
una
secuencia
a
realizar
si
la
condición
fuera
falsa,
se
la
incluye
entre
las
palabras
claves
SINO
y
NADA MAS.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Sentencias Iterativas
Lenguaje Timba
Permiten
ordenar
a
UCP
la
realización
de
una,
ninguna
o
varias
veces
un
bloque
de
sentencias,
bajo
control
de
una
condición
verificable
en
ejecución.
Comienzan
siempre
con
MIENTRAS,
que
es
seguido
por
la
condición,
el
bloque
a
ejecutar
y
la
palabra
clave
REPITA.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Pilas
Lenguaje Timba
Su
descripción
de
datos
comienza
por
las
palabras
clave
“UCP
EJECUTE CON LAS SIGUIENTES CARTAS:”,
seguida
por
la
descripción
de
las
pilas,
separadas
por
“,”
y
es
de
una
de
las
dos
formas:
1. Descripción
de
pila
vacía.
PILA <nombre> NO TIENE CARTAS
2. Descripción
de
contenido
de
pila.
PILA <nombre> TIENE <lista de cartas>
Pila Vacía
Pila
2016
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sintaxis de TIMBA
Lenguaje Timba
Para
escribir
correctamente
los
programas
en
un
lenguaje,
se
deben
especificar
las
reglas
a
tener
en
cuenta.
El
conjunto
de
reglas
forma
la
sintaxis
del
lenguaje.
Usaremos
lo
siguiente:
<
>,
[
],
{
},
*
Palabras
claves
de
TIMBA
Signos
de
puntuación
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Sintaxis de TIMBA
Lenguaje Timba
Las
palabras
en
mayúscula
son
palabras
claves
de
TIMBA,
y
deben
escribirse
como
aparecen.
Las
palabras
en
minúscula
entre
corchetes
angulares
deben
reemplazarse
por
su
definición.
Si
aparecen
dos
o
más
ítems
entre
llaves,
se
elige
entre
ellos
aquél
que
se
ajuste
al
problema
a
resolver.
Si
un
ítem
está
entre
corchetes
se
puede
optar
por
escribirlo
o
no.
Si
un
ítem
está
entre
corchetes
seguidos
de
un
asterisco
∗,
se
puede
omiQr
el
ítem
o
escribirlo
una,
dos
o
más
veces.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Sintaxis de TIMBA
Lenguaje Timba
2016
Ejemplo
Lenguaje Timba
Problema:
Se
Qene
una
pila
de
3
cartas
con
el
1
de
oros,
el
2
de
copas
(ambas
boca
arriba)
y
el
3
de
bastos
boca
abajo.
Se
quiere
inverQr
ésta
úlQma
para
dejarlas
todas
boca
arriba.
DEFINICION DE PROGRAMA
TOME DE PILA A,
INVIERTA LA CARTA,
DEPOSITELA EN PILA A;
UCP EJECUTE CON LAS SIGUIENTES CARTAS:
PILA A TIENE 1 DE OROSh - 2 DE COPASh - 3 DE BASTOS.
2016
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
UCP Ejecuta
DEFINICION DE PROGRAMA
Lenguaje Timba
TOME DE PILA A,
INVIERTA LA CARTA,
DEPOSITELA EN PILA A;
UCP EJECUTE CON LAS SIGUIENTES CARTAS:
PILA A TIENE 1 DE OROSh - 2 DE COPASh - 3 DE BASTOS.
PILA A
2016
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias
Lenguaje Timba
Son
el
elemento
consQtuQvo
de
TIMBA
y
la
mínima
unidad
lógica.
Son
de
dos
grandes
Qpos:
OperaBvas
y
de
Control.
Las
operaQvas
realizan
cambios
sobre
las
pilas,
o
estado
de
la
carta
que
UCP
analiza
en
ese
momento:
“la
carta
que
UCP
Qene
en
la
mano”.
Las
de
control
permiten
controlar
la
secuencia
de
operaciones,
sin
ser
operaciones
en
sí:
SI
y
MIENTRAS.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Sentencias
Lenguaje Timba
Cuando
en
una
descripción
formal
aparece
la
palabra
sentencias,
se
quiere
simbolizar:
Donde
formalmente
<sentencia>
puede
ser:
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Sentencias Operativas
Lenguaje Timba
Son
tres,
formalmente:
Ejemplo: TOME DE PILA A
Ejemplo: DEPOSITELA EN PILA A
Ejemplo: INVIERTA LA CARTA
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Sentencias Operativas
Lenguaje Timba
La
carta
que
figura
al
tope
de
la
pila
es
tomada.
Cualquier
referencia
a
CARTA
se
interpretará
como
a
la
úlBma
carta
tomada,
que
no
haya
sido
depositada.
DEPOSITE
ordena
dejar
la
carta
que
Qene
en
la
mano
en
ese
momento,
en
una
pila
determinada.
La
pila
debe
ser
declarada
en
la
segunda
parte
del
programa.
Ejemplo: PILA A TIENE 1 DE OROSh - 2 DE COPASh - 3 DE BASTOS.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Detección de Errores
Lenguaje Timba
UCP detectará error de ejecución si no tuviera una carta en la mano y
se le ordenara DEPOSITE.
UCP no admite la ejecución de dos TOME sin un DEPOSITE entre
ellos.
UCP reconoce error de ejecución al intentar tomar una carta de una
pila vacía.
INVIERTA presupone la existencia de carta, sino UCP detecta un
error de ejecución.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Errores de Ejecución
Lenguaje Timba
Ejemplo 1: ME PIDE UD. QUE TOME DE PILA ⟨nombre⟩ QUE ESTA VACIA.
Ejemplo2:ME PIDE UD. QUE TOME PILA ⟨nombre⟩ Y YO YA TENGO UNA CARTA: el
⟨número⟩ de ⟨palo⟩.
Ejemplo 3: ME PIDE UD. QUE DEPOSITE EN PILA ⟨nombre⟩ Y YO NO TENGO CARTA.
Ejemplo 4: ME PIDE UD. QUE INVIERTA LA CARTA, PERO YO NO TENGO CARTA.
Área de Servicios – Dpto. De Informática – FCFMyN - UNSL
2016
Programas
Lenguaje Timba
Sugiere
el
empleo
de
sólo
tres
estructuras
de
control,
como
únicas
componentes
elementales
de
un
programa:
f. Unión, enlac
Comentarios de: Lenguaje TIMBA (0)
No hay comentarios