Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:prolog:prolog_lab:wprowadzenie [2009/02/24 13:49]
holownia
pl:prolog:prolog_lab:wprowadzenie [2019/06/27 15:50] (aktualna)
Linia 10: Linia 10:
   * podstawy teoretyczne:​ logika ([[wp>​George_Boole]],​[[wp>​Gottlob_Frege]],​[[wp>​Alfred_Tarski]],​ i inni), [[wp>​J._Alan_Robinson]] (rezolucja),​ [[wp>]] (University of Edinburgh)   * podstawy teoretyczne:​ logika ([[wp>​George_Boole]],​[[wp>​Gottlob_Frege]],​[[wp>​Alfred_Tarski]],​ i inni), [[wp>​J._Alan_Robinson]] (rezolucja),​ [[wp>]] (University of Edinburgh)
   * implementacje:​ [[wp>​Alain_Colmerauer]],​ (University of Aix-Marseille),​ 1972; [[wp>​David_H._D._Warren]] (University of Edinburgh) 1977   * implementacje:​ [[wp>​Alain_Colmerauer]],​ (University of Aix-Marseille),​ 1972; [[wp>​David_H._D._Warren]] (University of Edinburgh) 1977
 +
 +Więcej wskazówek związanych z uczeniem się Prologu można znaleźć na [[pl:​prolog:​prolog_lab#​przydatne_materialy|głównej stronie laboratorium]].
  
 ===== -.  SWI Prolog ===== ===== -.  SWI Prolog =====
Linia 24: Linia 26:
  
  
-==== Ćwiczenie: ​Uruchamianie powłoki ====+==== Uruchamianie powłoki ==== 
 + 
 +**Ćwiczenie**
  
 Unix/​GNU/​Linux:​ Proszę otworzyć okno terminala, np. ''​xterm''​ i uruchomić w nim powłokę SWI przez polecenie ''​swipl''​ (może też być dostępny przez polecenie ''​pl''​). Unix/​GNU/​Linux:​ Proszę otworzyć okno terminala, np. ''​xterm''​ i uruchomić w nim powłokę SWI przez polecenie ''​swipl''​ (może też być dostępny przez polecenie ''​pl''​).
Linia 47: Linia 51:
 SWI w wersji rozszerzonej o środowisko XPCE dostarcza również narzędzi programistycznych,​ takich jak wbudowany edytor //emacs//. Aby z niego skorzystać należy zamiast ''​swipl''​ wywołać ''​xpce''​ a potem w powłoce Prologu ''​emacs.''​. SWI w wersji rozszerzonej o środowisko XPCE dostarcza również narzędzi programistycznych,​ takich jak wbudowany edytor //emacs//. Aby z niego skorzystać należy zamiast ''​swipl''​ wywołać ''​xpce''​ a potem w powłoce Prologu ''​emacs.''​.
  
-==== Ćwiczenie: Środowisko pracy ====+**Ćwiczenie**
  
 Sprawdzić działanie systemu pracy z linią poleceń (GNU Readline): historia, dopełnianie,​ skrótu klawiaturowe. Przeglądnąć tryb pracy w GNU Emacs i edytor PCE Emacs (uruchomić SWI Prolog przez ''​xpce''​). Sprawdzić działanie systemu pracy z linią poleceń (GNU Readline): historia, dopełnianie,​ skrótu klawiaturowe. Przeglądnąć tryb pracy w GNU Emacs i edytor PCE Emacs (uruchomić SWI Prolog przez ''​xpce''​).
Linia 88: Linia 92:
   * oraz //celu// (ang. //goal//).   * oraz //celu// (ang. //goal//).
  
-==== Ćwiczenie: prosty ​program ====+==== Prosty ​program ==== 
 + 
 +**Ćwiczenie**
  
 Proszę przyjrzeć się poniższemu,​ prostemu programowi (klasyczny przykład //​Rodzina//​). Proszę przyjrzeć się poniższemu,​ prostemu programowi (klasyczny przykład //​Rodzina//​).
Linia 114: Linia 120:
  
  
-==== Ćwiczenie: Uruchamianie programu ====+**Ćwiczenie**
  
 W powłoce SWI należy wczytać powyższy program: W powłoce SWI należy wczytać powyższy program:
Linia 126: Linia 132:
 Po ukazaniu się 1. odpowiedzi należy wcisnąć klawisz średnika (;). Po ukazaniu się 1. odpowiedzi należy wcisnąć klawisz średnika (;).
  
-==== Ćwiczenie: ​Wyświetlanie bazy wiedzy ====+==== Wyświetlanie bazy wiedzy ==== 
 + 
 +**Ćwiczenie**
  
 Sprawdzić działanie predykatu ''​listing/​0''​. Sprawdzić działanie predykatu ''​listing/​0''​.
Linia 138: Linia 146:
   ?- rodzic(_,​robert).   ?- rodzic(_,​robert).
  
-==== Ćwiczenie: Praca z programem ​====+==== Zadawanie celu (pytań) ​==== 
 + 
 +**Ćwiczenie**
  
 Systemowi można teraz zadawać pytania, cele do zrealizowania. Systemowi można teraz zadawać pytania, cele do zrealizowania.
Linia 172: Linia 182:
 Czy zamiast ''​Y''​ można wpisać inny symbol? Czy zamiast ''​Y''​ można wpisać inny symbol?
  
-==== Ćwiczenie: ​Rozbudowa programu ====+==== Rozbudowa programu ==== 
 + 
 +**Ćwiczenie**
  
 Proszę rozbudować program do poniższej, analogicznej (co do liczby osób i zależności) formy: Proszę rozbudować program do poniższej, analogicznej (co do liczby osób i zależności) formy:
Linia 200: Linia 212:
 Jeżeli koniunkcję celów oznaczamy przecinkiem,​ to jak zapytać kto jest matką, a kto ojcem roberta? Jeżeli koniunkcję celów oznaczamy przecinkiem,​ to jak zapytać kto jest matką, a kto ojcem roberta?
  
-==== Ćwiczenie: Przykład w innym języku ​====+==== Czy Prolog jest po polsku? ​==== 
 +**Ćwiczenie**
  
 Proszę spróbować dopisać do programu takie linijki: Proszę spróbować dopisać do programu takie linijki:
Linia 216: Linia 229:
  
  
-==== Ćwiczenie: ​Reguły ====+==== Reguły ​wnioskowania ​==== 
 +**Ćwiczenie**
  
-Proszę dopisać poniższe reguły i sprawdzić ich działanie.+Proszę dopisać poniższe reguły ​(klauzule złożone) ​i sprawdzić ich działanie.
  
 <code prolog> <code prolog>
Linia 238: Linia 252:
  
  
-==== Ćwiczenie: ​Reguły rekurencyjne ====+==== Reguły rekurencyjne ==== 
 +**Ćwiczenie**
  
 Rekurencja jest jednym z podstawowych mechanizmów programowania w Prologu. Proszę się przyjrzeć regułom opisującym przodka: Rekurencja jest jednym z podstawowych mechanizmów programowania w Prologu. Proszę się przyjrzeć regułom opisującym przodka:
pl/prolog/prolog_lab/wprowadzenie.1235479748.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0