|
|
pl:prolog:prolog_lab [2008/11/04 15:26] gjn |
pl:prolog:prolog_lab [2019/06/27 15:50] |
====== Laboratorium z języka Prolog ====== | |
===== Cele ===== | |
* Przedstawienie najważniejszych elementów programowania w Prologu. | |
* Adresatami są głównie studenci kierunków informatycznych. | |
* Laboratorium jest realizowane w 2 częściach: 6 zajęć na najważniejsze tematy + 4-6 zajęć na tematy fakultatywne | |
| |
--- //[[gjn@agh.edu.pl|Grzegorz J. Nalepa]] 2008/11/03 12:24// | |
| |
===== Autorzy ===== | |
- lab 1-6 (c) 2005-2009 by [[gjn@agh.edu.pl|Grzegorz J. Nalepa]] | |
- poprawki, uwagi, rozszerzenia, wstępna wiki-fikacja, lab 6-7 (c) 2007-2009 by [[wojnicki@agh.edu.pl|Igor Wojnicki]] | |
- poprawki, pomysły, reorganizacja (c) 2008-2009 by Weronika Furmańska i Piotr Hołownia | |
| |
===== Przypowieść ===== | |
| |
Jak odpowiedzą programiści pytani o drogę: | |
| |
* Piszący w C++: Pójdzie pan do tego skrzyżowania, skręci pan w prawo, potem prosto, prosto, prosto, w lewo i już pan jest na miejscu. | |
* Piszący w Pascalu: Pójdzie pan do tego skrzyżowania, skręci pan w prawo w ulice: Mickiewicza, dalej ulica: Prusa, a potem skręci pan w lewo w: Żeromskiego i już pan jest na miejscu. | |
* Piszący w Asemblerze: Pójdzie pan do tego kiosku, kupi pan bilet za złotówkę, pójdzie pan na tamten przystanek i wsiądzie pan do autobusu, wysiądzie na trzecim przystanku, przejdzie pan przejściem podziemnym i już pan jest na miejscu. | |
* Piszący w Prologu: Widzi pan tamten wysoki budynek z wielkim czerwonym szyldem? To tam. | |
* Piszący w Lispie: Dojdzie pan do tego skrzyżowania, a dalej się pan zapyta. | |
| |
===== Tematy ===== | |
| |
==== Część główna ==== | |
| |
- [[.:prolog_lab:prolog_lab_1|Wprowadzenie]] | |
- [[.:prolog_lab:prolog_lab_2|Podstawy programowania]] | |
- [[.:prolog_lab:prolog_lab_3|Praca z listami]] | |
- [[.:prolog_lab:prolog_lab_reprezentacja|Reprezentacja wiedzy]] | |
- [[.:prolog_lab:prolog_lab_metaprog|Meta programowanie]] | |
- [[.:prolog_lab:prolog_lab_system|Integracja z systemem operacyjnym]] | |
| |
==== Część fakultatywna ==== | |
* [[.:prolog_lab:prolog_lab_xpce|Tworzenie GUI w XPCE]] | |
* [[.:prolog_lab:prolog_lab_java|Integracja z Java]] | |
* [[.:prolog_lab:prolog_lab_ansic|Integracja z C]] | |
| |
===== Przydatne materiały ===== | |
==== Podręczniki wprowadzające ==== | |
| |
* Dave Stuart Robertson, //[[http://www.dai.ed.ac.uk/groups/ssp/bookpages/quickprolog/quickprolog.html|Quick Prolog]]// | |
* Patrick Blackburn, Johan Bos, Kristina Striegnitz, //[[http://www.coli.uni-saarland.de/~kris/learn-prolog-now|Learn Prolog Now!]]// | |
* J. R. Fisher, //[[http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/contents.html|Prolog Tutorial]]// | |
* Colin Barker, //[[http://perso.orange.fr/colin.barker/lpa/lpa.htm|LPA Examples]]// | |
| |
==== Książki o Prologu, SE, LP ==== | |
| |
* Dennis Merritt, Adventure In Prolog, http://www.amzi.com/AdventureInProlog | |
* Dennis Merritt, Building Expert Systems in Prolog, http://www.amzi.com/ExpertSystemsInProlog | |
* Ulf Nilsson and Jan Małuszyński, Logic, Programming and Prolog (2ed), http://www.ida.liu.se/~ulfni/lpp | |
| |
==== Kompilatory Prologu ==== | |
| |
* Jan Wielemaker et. al., [[http://www.swi-prolog.org|SWI-Prolog]] | |
* Universidade de Porto, [[http://www.dcc.fc.up.pt/~vsc/Yap/|YAP Prolog]] | |
* [[http://xsb.sourceforge.net/|XSB]] | |
* Daniel Diaz, [[http://gnu-prolog.inria.fr|GNU-Prolog]] | |