lenguaje timba - unsl

Post on 16-Oct-2021

15 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lenguaje TIMBA

2018

Resolución de Problemas y Algoritmos

Área de Servicios – Dpto. De Informática - FCFMyN

Ellenguaje“TIMBA”recibeestenombrepor:TerriblyImbecileMachineforBoringAlgorithms.

FuedesarrolladoporunequipodetrabajoenlaUNSL,comounlenguajesencillodeprogramaciónparatrabajarconlaestructuradepilas.

ElequipofuedirigidoporelIng.HugoRyckeboerqueenlaactualidadesaúnProfesordenuestraCasa.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

OrígenesLenguaje Timba

2018

El 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

Lenguaje Timba

2018

Programa en 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

Lenguaje Timba

2018

Programa en TIMBAConstadedospartes:

unadefinicióndelprocesoalgorítmico

losdatosdepila.

Ladefinicióndelprocesocomienzaconlaspalabrasclaves:DEFINICION DE PROGRAMA,ylassentenciasquedescribenelalgoritmoacontinuación,vanseparadasentresípor“,”.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

Separadasentresíporelsímbolo“;”

2018

Programa en TIMBALassentenciassondetrestipos:

Operativas:

De selección:

Iterativas: ordenanaUCPlarealizacióndeuna,

ningunaovariasvecesunbloquedesentencias

actúansobrelaspilasolacarta

ordenanaUCPcursosalternativosdelproceso

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Actúansobrelaspilasolacarta.

Sentencias Operativas

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

Comienzansiempreporunverboenimperativo,queesinterpretadoporUCPcomounaorden.

Losverbosposiblesson:a. TOME;b. INVIERTA;

c. DEPOSITE.2018

Sentencias de SelecciónPermitenordenaraUCPcursosalternativosdelflujodeproceso,bajociertascondicionesverificablesenejecución.

ComienzanconSI,seguidodelacondiciónylassentenciasaejecutarsiéstaesverdadera.

Sinohaydossecuenciasalternativas,lasentenciaSIfinalizaconlaspalabrasclavesSINO NADA MAS.

Sihayunasecuenciaarealizarsilacondiciónfuerafalsa,selaincluyeentrelaspalabrasclavesSINOyNADA MAS.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Sentencias Iterativas

PermitenordenaraUCPlarealizacióndeuna,ningunaovariasvecesunbloquedesentencias,bajocontroldeunacondiciónverificableenejecución.

ComienzansiempreconMIENTRAS,queesseguidoporlacondición,elbloqueaejecutarylapalabraclaveREPITA.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

PilasSudescripcióndedatoscomienzaporlaspalabrasclave“UCP EJECUTE CON LAS SIGUIENTES CARTAS:”,seguidaporladescripcióndelaspilas,separadaspor“,”yesdeunadelasdosformas:

PILA <nombre> NO TIENE CARTAS

PILA <nombre> TIENE <lista de cartas>

Pila Vacía

Pila

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2.  Descripcióndecontenidodepila.

1.  Descripcióndepilavacía.

2018

Sintaxis de TIMBAParaescribircorrectamentelosprogramasenunlenguaje,sedebenespecificarlasreglasatenerencuenta.

Elconjuntodereglasformalasintaxisdellenguaje.

Usaremoslosiguiente:

<>,

[],

{},

*

  PalabrasclavesdeTIMBA  Signosdepuntuación

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Sintaxis de TIMBALaspalabrasenmayúsculasonpalabrasclavesdeTIMBA,ydebenescribirsecomoaparecen.

Laspalabrasenminúsculaentrecorchetesangularesdebenreemplazarseporsudefinición.

Siaparecendosomásítemsentrellaves,seeligeentreellosaquélqueseajustealproblemaaresolver.

Siunítemestáentrecorchetessepuedeoptarporescribirloono.

Siunítemestáentrecorchetesseguidosdeunasterisco∗,sepuedeomitirelítemoescribirlouna,dosomásveces.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Sintaxis de TIMBA Lenguaje Timba

2018

EjemploProblema:Setieneunapilade3cartasconel1deoros,el2decopas(ambasbocaarriba)yel3debastosbocaabajo.Sequiereinvertiréstaúltimaparadejarlastodasbocaarriba.

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.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

DEFINICION DE PROGRAMA

2018

UCP Ejecuta 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.

PILA A

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

SentenciasSonelelementoconstitutivodeTIMBAylamínimaunidadlógica.

Sondedosgrandestipos:OperativasydeControl.

Lasoperativasrealizancambiossobrelaspilas,oestadodelacartaqueUCPanalizaenesemomento:“lacartaqueUCPtieneenlamano”.

Lasdecontrolpermitencontrolarlasecuenciadeoperaciones,sinseroperacionesensí:SIyMIENTRAS.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

SentenciasCuandoenunadescripciónformalaparecelapalabrasentencias,sequieresimbolizar:

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

Dondeformalmente<sentencia>puedeser:

2018

Sentencias OperativasSontres,formalmente:

Ejemplo: TOME DE PILA A

Ejemplo: INVIERTA LA CARTA

Ejemplo: DEPOSITELA EN PILA A

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Sentencias OperativasLacartaquefiguraaltopedelapilaestomada.CualquierreferenciaaCARTAseinterpretarácomoalaúltimacartatomada,quenohayasidodepositada.DEPOSITEordenadejarlacartaquetieneenlamanoenesemomento,enunapiladeterminada.Lapiladebeserdeclaradaenlasegundapartedelprograma.

Ejemplo: PILA A TIENE 1 DE OROSh - 2 DE COPASh - 3 DE BASTOS.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Detección de ErroresUCP 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

Lenguaje Timba

2018

Errores de Ejecución

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

Lenguaje Timba

2018

ProgramasSugiereelempleodesólotresestructurasdecontrol,comoúnicascomponenteselementalesdeunprograma:

Lasecuencia,laselecciónylarepetición,

En TIMBAsecuencialidad natural de las sentencias separadas por el símbolo ,sentencias SI. . .SINO. . .NADA MAS

sentencias MIENTRAS . . . REPITA

f. Unión, enlace entre ideas o actos

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Sentencia SIFormalmentedebeescribirse:

Ejemplos:

•  TOME LA CARTA DE PILA A, SI CARTA ESTA BOCA ABAJO INVIERTA LA CARTA, DEPOSITE LA CARTA EN PILA A SINO DEPOSITELA EN PILA B NADA MAS

•  TOME LA CARTA DE PILA A, SI LA CARTA NO ESTA BOCA ABAJO, SI LA CARTA ES EL 1 DE OROS DEPOSITELA EN PILA A SINO NADA MAS SINO NADA MAS

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Ejecución condicionalTOME LA CARTA DE PILA A, SI CARTA ESTA BOCA ABAJO INVIERTA LA CARTA, DEPOSITE LA CARTA EN PILA A SINO DEPOSITELA EN PILA B NADA MAS

Pila A Pila B

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Ejecución condicionalTOME LA CARTA DE PILA A, SI CARTA ESTA BOCA ABAJO INVIERTA LA CARTA, DEPOSITE LA CARTA EN PILA A SINO DEPOSITELA EN PILA B NADA MAS

Pila A Pila B

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Sentencia MIENTRASFormalmente,debeescribirse:

Ejemplo:sisequierepasartodaslascartasdelaPILA B alaCyluegotomarunacartadelaPILA D

MIENTRAS LA PILA B NO ESTA VACIA

TOME DE PILA B,

DEPOSITE EN PILA C

REPITA,

TOME DE PILA D

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

CondiciónEsunaproposiciónlógica,queemiteunjuiciosobreelestadodelaspilasolacarta,yquepuedeserevaluadacomo“Verdadera”o“Falsa”.

Ejemplo:•  LA CARTA ES DEL PALO OROS Y LA CARTA ES DEL VALOR 1

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

TOME LA CARTA DE PILA A,

SI CARTA ESTA BOCA ABAJO

INVIERTA LA CARTA,

DEPOSITE LA CARTA EN PILA A

SINO

DEPOSITELA EN PILA B

NADA MAS

TOME LA CARTA DE PILA A,

SI LA CARTA NO ESTA BOCA ABAJO,

SI CARTA ES IGUAL A 1 y CARTA ES DEL PALO OROS

DEPOSITELA EN PILA A

SINO NADA MAS

SINO NADA MAS

Condición Lenguaje Timba

 Ejemplos:

2018

Proposición

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Descripción de Pila

Formalmente,seescribe:

Ejemplo:•  PILA A TIENE 1 DE OROSh - 2 DE COPASh - 3 DE BASTOS.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Backus Naur Form

UnaespecificaciónBNFesunconjuntodereglasdederivaciónquepermitendescribirlasintaxisdeunlenguaje.Lasreglasseescribencomo:<símbolo>::=expresión,<símbolo>esunno-terminalexpresiónconsistedeunaomássecuenciasdesímbolos;separadas|,paraindicarunaelecciónposible.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Backus Naur Form

Cadaopcióndelladoderechopuedesustituircompletoal<símbolo>delaizquierda.

Lossímbolosquenoaparecendelladoizquierdosonlosterminales.

Lossímbolosdelaizquierdasonno-terminalesyaparecenencerradosentre<>.

Elsímbolo::=indicaqueelsímbolodelaizquierdadebesustituirseporlaexpresióndeladerecha.

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Backus Naur FormEjemplo:

No-terminal distinguidoNo-terminales

Terminales

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

Ejemplo de Derivación<Programa timba>

<proceso> <declaraciones> . ;

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.

DEFINICION DE PROGRAMA

DEFINICION DE PROGRAMA <sentencias> UCP EJECUTE CON LAS SIGUIENTES CARTAS : <lista de pilas>

<sentencias> <sentencia>

<sentencias> <sentencia>

<sentencia>

<operativa>

<operativa>

<operativa>

<descripcion de pila>

<contenido> <nombre> <pila>

...

...

...

PILA A TIENE <lista de cartas>

...

Área de Servicios – Dpto. De Informática – FCFMyN - UNSL

Lenguaje Timba

2018

top related