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.

You are currently not able to subscribe to this course.

Exercise series

W1: Introductie: Syntax en unificatie

Title Class progress
Darwin Awards
Family tree facts
Family tree relations
Horcruxex
Where's Wally?
Twin Sisters
Carefull hugging
Clickbait generator
Crossword
Where's Wally again?
The Hitchhikers guide to Prolog
Title Class progress
Unification with pen and paper
Natural numbers
Peano Elementary Operations
Less or equal
Factorial
Modulo
Title Class progress Status
Length
Last element
Before last
Kth Element
Flatten
Remove Kth
The train, are we there yet?
Unify with 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.

Title Class progress Status
Permutations
Extraterrestrial substuitutions
Difference lists
Rotate
QuickSort
Matryoshka dolls

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.

Title Class progress Status
Classify with cut
Largest cut
Partition
Does not unify
Prologic Island

W7: Ingebouwde predicaten en zoeken

Title Class progress Status
Eiffel Tower replicas
Will it sink or will it float?
15 Puzzle
Title Class progress Status
Reverse with DCG
Generating DCGs
Gramatical additions

W9: Constraint Logic Programming

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

Title Class progress Status
The Ten Divisibilities
Magic square
Suguru solver
Title Class progress Status
Turing machine
Wumpus world