13305 – UPF - Lingüística
Preparació de la pràctica 4
Aquest intèrpret (tècnicament en diem un ‘compilador’) és el que heu de descarregar i instal·lar a l’ordinador on vulgueu fer la pràctica. Als ordinadors de Rambla, podeu trobar-lo des de la finestra “Novell delivered applications”, i instal·lar-lo fent clic a sobre de la icona (triga uns 5 minuts).
2. Per instal·lar-lo a casa el podeu descarregar a: http://www.swi-prolog.org/dl-stable.html triant la versió d’acord amb l’ordinador en el qual l’heu d’instal·lar. El cas més comú és Windows. Un cop descarregat el fitxer , l’heu d’executar (Inicio/Ejecutar) per tal que s’auto-instal·li.
3. En l’ordinador de casa a ‘Programas’ i en Rambla a ‘Programes’, trobareu la icona de ‘swi-prolog’, l’executable que s’ha d’obrir en una pantalla com aquesta:


Tingueu el compte que l’especificació del camí (‘c:/FPLN/pract4/’) dependrà d’on tingueu
el fitxer, i en el cas del treball a les aules del disc (t:). En el meu cas
tinc el fitxer en el directori ‘c:/tmp/FPLN/automat.pl’ i per això, el compilador de
PROLOG em confirma que l’ha pogut compilar.


Recordeu que aquest és l’autòmat que hem vist a classe i que ‘0’ correspon
a l’estat inicial i ‘[c,a,s,a]’ és la llista (conjunt ordenat) de lletres que
fan la paraula que volem comprovar. Podeu provar la capacitat generativa
d’aquest autòmat dient-li:
?- automat(0,A).
Ara, estem demanant totes les llistes de lletres que conformen paraules,
segons aquest autòmat, i com volem que ens digui totes les possibles li donem una
variable, A, perquè ens les emmagatzemi aquí. Veureu que el resultats ens els
dóna com a valors d’aquesta variable (com si preguntéssim ‘dóna’m tot el que
pugui ser A’).

Per obtenir TOTES les possibilitats, l’hem de contestar amb un signe de
punt i coma per pantalla (prémer la tecla de punt i coma, ‘;’).

Quan ja no tingui més resultats ens dirà ‘No’.

Fixeu-vos que:
x a la interfície donem la
instrucció ‘test()’, amb la paraula que volem reconèixer en forma de llista de
lletres: entre claus i cada lletra separada per un coma, i
x no necessitem dir-li
l’estat inicial, ara prendrà aquesta dada del fitxer on temin les declaracions
del lèxic: ‘diccionari.pl’ que ara és així:
transicio(0,1,c).
transicio(1,2,a).
transicio(2,3,s).
transicio(3,4,a).
inicial(0).
final(4).
Treballeu (editeu amb ‘Bloc de notas’) solament el fitxer diccionari.pl,
fent atenció que Windows no us canviï el nom a ‘diccionari.txt’ o
diccionari.pl.txt’ perquè ja no funcionaria !!! i recordeu que cada canvi l’heu
de desar (Guardar) i que heu de re-consultar el programa, per tal que el
compilador tingui en compte els canvis. (Podeu usar les fletxes d’amunt i avall
del teclat per recuperar instruccions anteriors).
casa, casas
caso, casos
casado, casada, casados, casadas
cansado, cansada, cansados, cansadas
calado, calada, calados, caladas
calmado, calmada, calmado, calmadas
calsado, canadas, camo.
Preguntes:
RECORDEU:
Els exercicis
s’hauran de lliurar en un fitxer adjunt per correu_e i el termini és les 23:59
del dia assenyalat. El nom del fitxer ha de ser:
COGNOM_INICIALNOM_[Nom del
exercici].extensió, per exemple:
SERRA_J_practica1.doc
En
cas de dificultats, els alumnes podran utilitzar l’hora de tutoria del curs per
resoldre-les amb el professor.