Logisch Programmeren (2020–2021)

Christophe Scholliers · Universiteit Gent

Welkom op de Dodona-cursus van het opleidingsonderdeel Logisch Programmeren (Universiteit Gent, faculteit Wetenschappen). Deze cursus bevat enkele Prolog oefeningen die voorzien zijn van automatische feedback.

Met vragen en/of problemen kun je terecht bij op het Ufora Forum

Er is 1 reeks per week. Voorbeeld oplossingen kun je vinden op UFora. Maar je doet er natuurlijk goed aan de oplossingen eerst zelf te zoeken om een veel groter leereffect te bereiken. Stel gerust vragen voor je naar de filmpjes kijkt, zo leer je het meest. Ik geef met veel plezier ook de uitleg van de filmpjes live.

Je kan momenteel niet registreren voor deze cursus.

Oefeningenreeksen

W1: Introductie: Syntax en unificatie

Titel Voortgang groep
Darwinonderscheiding
Familie stamboom feiten
Familie stamboom relaties
Gruzielementen
Waar is Wally?
Tweelingzussen
Knuffeltheorie
Clickbait maker
Kruiswoordraardsel
Waar is Wally nu weer?
Het liftershandboek tot Prolog
Titel Voortgang groep
Unificatie met pen en papier
Natuurlijke Getallen
Peano Basisoperaties
Kleiner of gelijk aan
Faculteit
Modulo
Titel Voortgang groep Status
Lengte
Laatste element
Voorlaatste
Kde Element
Flatten
Remove Kde element
De trein, da's logisch!
Unificeren met occurs check

W5: Recursie en lijsten returns

Je hebt geen cut nodig voor deze oefening. Sommige dingen kunnen efficiënter met cut, maar probeer eerst zonder.

Titel Voortgang groep Status
Permutaties
Buitenaardse vervangingen
Verschillijsten
Roteer
QuickSort
Matroesjka

Bekijk eerst de theorie over cut voor je aan deze oefeningen begint, de theorie is zeer belangrijk om het volledige leereffect van de oefening te hebben.

Titel Voortgang groep Status
Classificeren met cut
Grootste sneede
Partitioneer
Unificeert niet
Prologic Island

W7: Ingebouwde predicaten en zoeken

Titel Voortgang groep Status
Eiffel toren replica's
Zal het drijven of zal het zinken?
Schuifpuzzel
Titel Voortgang groep Status
Reverse met gramatica
Genererende DCG's
Grammaticale toevoegingen

W9: Constraint Logic Programming

Gebruik voor deze oefeningen constraint logic programming (:- use_module(library(clpfd)).)

Titel Voortgang groep Status
De Tien Deelbaarheden
Magisch vierkant
Tectonic oplossen
Titel Voortgang groep Status
Turing machine
Wumpus wereld