Publicado el 26 de Junio del 2018
2.074 visualizaciones desde el 26 de Junio del 2018
2,6 MB
33 paginas
Creado hace 10a (01/01/2015)
Lenguaje TIMBA!
Fundamentos de la Informática – Int. a la Programción !
Int. a la Computación!
Area de Servicios – Dpto. De Informática - FCFMyN !
2015!
Orígenes!
! El
lenguaje
“TIMBA”
recibe
este
nombre
por:
Terribly
Imbecile
Machine
Lenguaje Timba
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.
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Programa!
! Un algoritmo es una herramienta para resolver un problema
computacional bien definido.!
Lenguaje Timba
! La especificación del problema da la relación deseada entre la
entrada y la salida. (Enunciado)!
! El algoritmo describe un procedimiento computacional para lograr esa
relación entre entrada y salida.!
! Un programa es la especificación de un algoritmo en un lenguaje de
programación para que se pueda ejecutar en un procesador.!
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Programas!
! Sugiere
el
empleo
de
sólo
tres
estructuras
de
control,
como
únicas
Lenguaje Timba
componentes
elementales
de
un
programa:
f. Unión, enlace entre ideas o actos!
!
!
!
la
concatenación,
la
selección
y
la
repeMción,
En TIMBA!
secuencialidad natural de las sentencias!
!
sentencias SI. . .SINO. . .NADA MAS!
!
sentencias MIENTRAS . . . REPITA!
!
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
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. !
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
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.!
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Programa en TIMBA!
! Consta
de
dos
partes:
Lenguaje Timba
! 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
conMnuación,van
separadas
entre
sí
por
“,”.
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Programa en TIMBA!
! Las
sentencias
son
de
tres
Mpos:
Lenguaje Timba
OperaMvas;
De
selección;
IteraMvas.
actúan
sobre
las
pilas
o
la
carta
ordenan a UCP cursos alternativos del proceso!
ordenan
a
UCP
la
realización
de
una,
ninguna
o
varias
veces
un
bloque
de
sentencias
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias Operativas!
! Actúan
sobre
las
pilas
o
la
carta.
! Comienzan
siempre
por
un
verbo
en
imperaMvo,
que
es
interpretado
por
Lenguaje Timba
UCP
como
una
orden.
! Los
verbos
posibles
son:
a. TOME;
b. INVIERTA;
c. DEPOSITE.
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias de Selección!
Lenguaje Timba
! Permiten
ordenar
a
UCP
cursos
alternaMvos
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
alternaMvas,
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.
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
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.
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Pilas!
! Su
descripción
de
datos
comienza
por
las
palabras
clave
“UCP
Lenguaje Timba
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;
2. Descripción
de
contenido
de
pila.
PILA <nombre> NO TIENE CARTAS
PILA <nombre> TIENE <lista de cartas>
Pila Vacia
Pila
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sintaxis de TIMBA!
! Para
escribir
correctamente
los
programas
en
un
lenguaje,
se
deben
Lenguaje Timba
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!
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sintaxis de TIMBA!
! Las
palabras
en
mayúscula
son
palabras
claves
de
TIMBA,
y
deben
Lenguaje Timba
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
ítem
está
entre
corchetes
se
puede
optar
por
escribirlo
o
no.
!
Si
un
ítem
está
entre
corchetes
seguidos
de
un
asterisco
∗,
se
puede
omiMr
el
ítem
o
escribirlo
una,
dos
o
más
veces.
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Ejemplo!
Lenguaje Timba
! Problema:
Se
Mene
una
pila
de
3
cartas
con
el
1
de
oros,
el
2
de
copas
(ambas
boca
arriba)
y
el
3
de
bastos
boca
abajo
y
se
quiere
inverMr
ésta
úlMma
para
dejarlas
todas
boca
arriba.
DEFINICION DE PROGRAMA
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.
TOME DE PILA A,
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
UCP Ejecuta!
• DEFINICION DE PROGRAMA
Lenguaje Timba
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.
TOME DE PILA A,
!
PILA A
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias!
! Son
el
elemento
consMtuMvo
de
TIMBA
y
la
mínima
unidad
lógica.
! Son
de
dos
grandes
Mpos:
OperaBvas
y
de
Control.
! Las
operaMvas
realizan
cambios
sobre
las
pilas,
o
estado
de
la
carta
que
Lenguaje Timba
UCP
analiza
en
ese
momento:
“la
carta
que
UCP
Mene
en
la
mano”.
! Las
de
control
permiten
controlar
la
secuencia
de
operaciones,
sin
ser
operaciones
en
sí:
SI
y
MIENTRAS.
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias!
! Cuando
en
una
descripción
formal
aparece
la
palabra
sentencias,
se
Lenguaje Timba
quiere
simbolizar:
! Donde
formalmente
<sentencia>
puede
ser:
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias Operativas!
! Son
tres,
formalmente:
Lenguaje Timba
Ejemplo: TOME DE PILA A
Ejemplo: DEPOSITELA EN PILA A
Ejemplo: INVIERTA LA CARTA
Area de Servicios – Dpto. De Informática – FCFMyN - UNSL
Sentencias Operativas!
! La
carta
que
figura
al
tope
de
la
pila
es
tomada.
! Cualquier
referencia
a
CARTA
se
interpretará
como
a
la
úlBma
carta
Lenguaje Timba
tomada,
que
no
haya
sido
depositada.
! DEPOSITE
ordena
dejar
la
carta
que
Mene
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.
Area de Servicios – Dpto. De Informática – FCFMyN
Comentarios de: Lenguaje TIMBA (0)
No hay comentarios