Niniejszy podręcznik stanowi sformalizowaną wersję notatek jakie sporządzałem dla siebie prowadząc zajęcia „Programowanie w logice”. Cel jaki przyświecał mi, to chęć pokazania, że świat języków programowania nie kończy się na programowaniu obiektowym. Wykorzystanie języka logiki do opisu otaczającej nas rzeczywistości odwzorowywanej w środowisku komputerowym, daje nam zupełnie inną jakość i uczy całkowicie odmiennego spojrzenia na problem „programu” i jego „kodu”. I choć przydatność takich języków może być dyskusyjna1 to jednak wydaje mi się, że ich elementarna znajomość jest konieczna dla osób, które chcą zostać informatykiem.
W prezentowanym materiale główny nacisk położony jest na zdobycie praktycznej umiejętności posługiwania się takim językiem i jego „czucia”, niż teorii programowania w logice. Niemniej pewna część materiału poświęcona jest także zagadnieniom natury teoretycznej. Wybranym językiem jest Prolog a wszystkie przykłady zostały przetestowane przy użyciu jednej z jego najbardziej popularnych wersji - SWI-Prolog2 w wersji 5.6.59.
Ze względu na formę zajęć, całość materiału podzielona została na dwie zasadnicze część: wykładową i ćwiczeniową. Materiał każdej z części powinien wystarczyć do przeprowadzenia semstralnych zajęć. Część wykładowa obejmuje rozdziały ??-?? i poświęcona jest następującym zagadnieniom
• a
Część ćwiczeniowa zawiera materiał czy to do samodzielnej pracy, czy też nadający się do przeprowadzenia zajęć na pracowni komputerowej. Zbiór zadań sukcesywnie jest poszerzany, ale nie jest to wcale takie łatwe. Wbrew pozorom trudno jest znaleźć zadania różne (na tyle, aby ich rozwiązanie wymagało przynajmniej w pewnej ich części innego podejścia niż zadania poprzednie) i zarazem na tyle łatwe aby dało się je w prosty sposób wytłumaczyć. Dobrze przy tym aby zadania nie były całkiem abstrakcyjnym manipulowaniem symbolami w stylu „sztuka dla sztuki”. Daltego jeśli ktokolwiek czytając ten podręcznik wpadnie na jakieś nowe zadanie albo alternatywne rozwiązanie dla tych już podanych, to z wielką chęcią je zamieszczę.
Na zakończenie pragnę podziękować (nielicznym niestety) studentom, którzy z jednej strony wykazali zainteresowanie przedmiotem, z drugiej zaś wzbogacili ten podręcznik a przede wszystkim:
• Pani Magdalenie Zych za opracownie bardzo wyczerpujących odpowiedzi do pytań jakie stawiam na koniec każdego rozdziału (wykładu).
Programowanie w logice. Prolog ©2007-2009 by P. Fulmański (ostatnia modyfikacja: 18 maja 2009)
Wynika to zwykle z problemów związanych z wykorzystaniem języka logicznego w realnej aplikacji.