Kurs języka Prolog (Q1) lato 2018/19
Język wykładowy | Polski |
---|---|
Opiekun | Tomasz Wierzbicki |
Liczba godzin | 14 (wyk.) 14 (prac.) |
Rodzaj | K1 - kurs podstawowy |
ECTS | 3 |
Polecany dla I roku | Nie |
Egzamin | Nie |
Opis przedmiotu:
Krótki, półsemestralny kurs programowania w języku [Prolog](https://pl.wikipedia.org/wiki/Prolog_\(j%C4%99zyk_programowania\)). ##### Orientacyjny program wykładu 1. Maszyna abstrakcyjna Prologu. Atomy, predykaty, fakty, klauzule, zapytania. Przykład: relacje rodzinne. Drzewo przeszukiwania. Niepowodzenie, sukces i nawroty. 2. Struktury w Prologu. Funktory. Listy w Prologu. Podstawowe predykaty działające na listach: append/3, member/2 i reverse/2. 3. Tryby argumentów predykatów. Asymetria predykatu reverse/2. Dalsze przykłady predykatów. 4. Odcięcie i negacja. 5. Arytmetyka w Prologu. Operacje wejścia/wyjścia. 6. Struktury otwarte. Listy różnicowe. Rekursja ogonowa, indeksowanie klauzul i LCO. 7. Gramatyki bezkontekstowe. BNF. Metody opisu składni języków programowania. Składnia konkretna i abstrakcyjna. Parsery i leksery. Parsing i unparsing. Gramatyki jednoznaczne. Wyrażenia. Notacje infiksowa, postfiksowa, prefiksowa i miksfiksowa dla wyrażeń. Warianty notacyjne. Parsowanie wyrażeń postfiksowych z użyciem stosu. Operatory infiksowe, opuszczanie nawiasów, priorytety i łączność. Predykat op/3. Jednoznaczne gramatyki dla wyrażeń infiksowych. Gramatyki klauzul oznaczonych. Konstruowanie interpreterów w Prologu. Przykłady. 8. Programowanie logiczne. ##### Literatura 1. Michael A. Covington, Donald Nute, and Andre Vellino, Prolog Programming in Depth, Prentice Hall, 1997. 2. William F. Clocksin, Christopher S. Mellish, [Programming in Prolog: Using the ISO Standard](http://www.springer.com/computer/programming/book/978-3-540-00678-7), Springer, 2003. Tłum. polskie: [Prolog. Programowanie](http://helion.pl/ksiazki/prprol.htm), Helion, 2003. 3. Leon Sterling and Ehud Shapiro, [The Art of Prolog](http://mitpress.mit.edu/books/art-prolog), MIT Press, 1994. 4. Pierre Deransart, Abdelali Ed-Dbali, Lauren Cervoni, [Prolog: the standard](http://www.springer.com/computer/programming/book/978-3-540-59304-1), Springer, 1996. 5. Pierre Deransart and Jan Małuszyński, [A Grammatical View of Logic Programming](http://mitpress.mit.edu/books/grammatical-view-logic-programming), MIT Press, 1993. 6. Ulf Nilsson and Jan Małuszyński, [Logic, Programming and Prolog](http://www.ida.liu.se/%7Eulfni/lpp/), Wiley, 1997.Wykłady
ListaProwadzący | Termin zajęć | Limit | Zapisani | Kolejka |
---|---|---|---|---|
Tomasz Wierzbicki
Q1 |
śr 14:00-16:00 (s. 105) | 300 | 9 | 0 |
UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.
Pracownie
ListaProwadzący | Termin zajęć | Limit | Zapisani | Kolejka |
---|---|---|---|---|
Tomasz Wierzbicki
Q1 |
śr 18:00-20:00 (s. 109) | 15 | 9 | 0 |
UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.
Konsultacje prowadzących:
Imię i nazwisko | Pokój | Konsultacje |
---|---|---|
Tomasz Wierzbicki | 303 | Po wcześniejszym umówieniu pocztą elektroniczną. Nie w trakcie lub bezpośrednio przed moimi zajęciami (plan zajęć jest dostępny w systemie Zapisy). |