Programowanie w logice
Prowadzący: Bartosz Kostka
Opis
Komputer to taka maszyna, która ciężko się uczy. Zwykle potrzebny jest programista, który podpowie komputerowi jak sobie radzić w życiu, a nawet musi pokazać jak sobie radzić w każdej sytuacji. Na warsztatach pokażemy, jak zrzucić trochę myślenia z programisty na komputer i sprawimy, że będzie sam musiał trochę pomyśleć, aby rozwiązać pewne problemy. Dokonamy tego ucząć się pewnej bardzo miłej i przyjemnej odmiany programowania, jaką jest programowanie logiczne.
Zakres materiału obejmowałby zaznajomienie się z najpopularniejszym językiem programowania logicznego - Prologiem i wykorzystywaniem go w rozwiązywaniu prostych zadań, a szczególnie łamigłówek (dobrym przykładem może tu być np. sławna łamigłówka Einsteina o ludziach wielu narodowości, domach, zwierzętach, papierosach itd., albo zwykłe sudoku).
Główną częścią byłoby oczywiście kodzenie w tym języku, poprzedzone krótkimi wykładami o samych regułach i operacjach w tym języku.
Program
Program (może uleć zmianie w zależności od poziomu :)):
- zaznajomienie się z Prologiem, "hello world" czyli drzewo genealogiczne
- listy i predykaty na nich
- proste programy - permutacje, silnie
- sortowanie - quick sort i merge sort
- rozwiązywanie prostych łamigłówek w Prologu
Wymagania
- Minimalnie: znajomość logiki.
- Dużo pomoże znajomość jakiegoś języka programowania (rekurencja, listy, itd.).
- Ogarnięcie. Lubię ogarniętych ludzi.
Przydatne rzeczy
Komputer z zainstalowanym na nim dowolnym kompilatorem Prologa. Ja polecam SWI-Prolog (jest wersja na linuxa i windowsa).
Dla Debiana wystarczy wpisać (jako root):
apt-get install swi-prolog swi-prolog-doc