8063591486

8063591486



większość wartości przekazywanych jest przez wywołania funkcji.

[rzeczywiście, bardzo to pozytywne zjawisko, gdzie zagnieżdżamy 15 stopni struktur nawiasowych zamiast używać zmiennych, ale wykładowca ma rację...]

Przykład w Prolog deklaratywnego wyznaczania konkatenacji dwóch list:

<następnik implikacji>

{zachodzi związek KONKATENACJA między obiektami ListaA, ListaB, ListaC}

JEŚLI

<poprzednik implikacji>

{

{ListaA=[] ORAZ ListaB=ListaC}

LUB

{

ListaA=[Pierwszy | Reszta]

ORAZ ListaC=[Pierwszy|NowaReszta]

ORAZ

{zachodzi związek KONKATENACJA między obiektami Reszta, ListaB, Nowa Reszta}

}

}

Prolog dopuszcza alternatywę w poprzedniku, ale bardziej "poprawnie" jest używać po prostu koniunkcji.

Na slajdach z wykładu mamy zapis w Prologu. Najpierw "beznadziejny i mało efektywny". Dalej mamy optymalizację tego zapisu i działania.

Co się dzieje dla postaci uporządkowanej i nieuporządkowanej?

?_conc([a,b], [c,d], L). - tutaj dla pierwszej postaci programu mamy uzgadnianie wielu zmiennych. W postaci skompresowanej / zoptymalizowanej, mamy za to jedno uzgodnienie. Nie ma sensu przyrównywanie do prawej strony w przesłance tak, jak w wersji niezoptymalizowanej. Złe przyzwyczejenie z czasów programowania proceduralnego. Możemy od razu wielkości przyrównywane po prawej stronie wstawić jako argumenty tworzonej funkcji.

Rysunek przedstawia budowanie wyniku z postaci zoptymalizowanej: <rys3>

5. Wykład 5:

Środowisko interpretacyjne Prologu:

Programy napisane w Prologu są standardowo interpretowane. Można je kompilować. Użytkownik ma dostęp do kompilatora i interpretera wywołań. Użytkownik podaje cel. Procedura może być skompilowana lub nieskompilowana. Użytkownik nie widzi wewnętrznej reprezentacji. <rysl>

Możemy ogólnie mówić w takim razie o interpretacji (z punktu widzenia użytkownika). Wywołania są interpretowane, natomiast procedury mogą być skompilowane (wywołanie) lub nie (interpretacja).

Środowisko zalecane przez Parewicza: SWI PROLOG (http://www.swi-proloa.ora). Opracowane na wydziale nauk społecznych, katedra psychologii. Do badań modeli psychologicznych. Procedura conc jest inaczej zbudowana, należy ją przesłaniać.

Do przykładu przeszukiwania grafu:

Pojawiło się opisane całe drzewo poszukiwań w materiałach wykładowych. Założenia dotyczące grafu: acykliczny, skierowany.



Wyszukiwarka

Podobne podstrony:
Drzewo życia5 lach w celu wywołania urodzaju”. Symbolika powtarza się — tym razem moc zapładniania
badanie5 Składowa urojona oporności określona jest przez przyrost pojemności, a rzeczywista — przez
DSCF6760 128 na czułościach, których wartość podzielna jest przez 10 (1, 10, 100...) odczytu dokonyw
Poznaj C++ w$ godziny0086 72 Godzina 5 Kiedy wywołasz funkcję 10 razy, to program tyle samo razy „sk
Progowanie jasności Gdy wartość progu jest ustalana na podstawie całego obrazu to taki próg jasności
Poznaj C++ w$ godziny0176 Referencje 165 Funkcja Potęgi () sprawdza poprawność parametru przekazaneg
Wartością wywołania funkcji defun jest lista będąca definicją funkcji. Lista napotkana w programie t
pochodna Jeżeli f jest funkcją rzeczywistą (to znaczy przyjmującą wartości, będące liczbami rzeczywi
Wartość obecna strumienia płatności określonego funkcją p(t) dana jest przez $o = dt , (13) 0
Przebieg procesu termodynamicznego jest określony przez sposób przekazywania energii Energia jako fu
188 TIF jestr ten jest też używany do przechowywania wartości tymczasowych i do zwracania wartości w
PC050036 Wartość funkcji i parametr}- 0o funkcji dane przekazywane są przez parametry. Przeżyw infor
Image212 Programowanie ■ W C parametry do funkcji przekazywane są przez wartość. Oznacza to, że

więcej podobnych podstron