Pràctiques Prolog Grans
Haureu de lliurar un document amb el codi i les explicacions que calguin, així com
un disket amb la pràctica “presencialment” durant tutories o en hora
concertada.
Per accedir a 1ª convocatòria l’haureu de lliurar abans del dia de l’exàmen de 1ª convocatòria. Per accedir a 2ª convocatòria l’haureu
de lliurar abans del dia de l’exàmen de 2ª convocatòria.
Individuals amb Visual Basic
1. (3 punts) Feu una aplicació en Visual Basic que faci
de “front-end” a un exercici dels que heu presentat com
a pràctica petita.
Individuals a resoldre obligatòriament amb CLPFD
2. (3 punts) Colorejat de Mapes
El problema del colorejat
de mapes consisteix en escollir colors per als països
d'un mapa de manera que com
a molt es facin servir quatre colors diferents
i no hi hagi dos països veïns amb el mateix
color.
Agafeu un mapa d'Europa i colorejeu-lo
amb blau, blanc, vermell i verd. (comenceu
considerant només:
Dinamarca, Bèlgica, França,
Alemanya, Holanda i Luxemburg).
3. (3 punts) Famílies nombroses
Suposem que en Ramon i en Lluís són els caps de família de dues famílies veïnes i que per atzar resulta que les dues famílies tenen
tres nenes i tres nens cadascuna.
El fill més petit de la família d'en Lluís és
una nena i la família d'en Ramon té una nena que té menys d'un any. Cap de les dues
famílies te bessons, ni fills amb una diferencia d'edat menor d'un any. Totes
les criatures tenen menys de 10 anys. A cada família la suma de les edats de
les nenes és igual a la suma de les edats dels nens; de fet, la suma dels
quadrats de les edats de les nenes és igual a la suma dels quadrats de les
edats dels nens. A més, la suma de les edats de totes les criatures és 60.
De quines edats són les criatures de
cada família?
Solució:
Fills d'en Lluís:
nenes : 8 7 3, nens : 9 5 4
Fills d'en Ramon:
nenes: 7 5 0, nens: 8 3 1
4. (3 punts) Quadrat màgic
Un quadrat màgic és una matriu
quadrada on la suma de les files i les columnes i les sumes de les diagonals
principals són iguals. A més a més,
els números del quadrat màgic són consecutius
i comencen per 1.
Per exemple, un de costat 3:
8 |
3 |
4 |
1 |
5 |
9 |
6 |
7 |
2 |
Dóna un quadrat màgic de costat 5.
I per a qualsevol costat?
A resoldre entre dos usant
CLPFD i Visual Basic
5. (5+1 punts) Fer una pràctica de la 2 a la 4 i fer-li una aplicació Visual Basic que
faci de “front-end”.
6. (5+2 punts) Els horaris
Feu un programa en Prolog utilitzant CLPFD tal que, donades les assignatures que un alumne vol cursar i tots els horaris
possibles d'aquestes, ens dongui quins
són els grups
que ha de cursar i a quines hores en funció de certs paràmetres. En concret, el
programa ha de permetre maximitzar/minimitzar el nombre d'hores que
es solapen, així com el
nombre de dies que s'ha de
venir i/o el nombre de tardes i/o el de matins.
L'entrada de dades es pot fer
via fitxers o via interaccio amb el Visual Basic.