8063591487

8063591487



Do przykładu przeszukiwania listy:

Wszelkie przetwarzanie danych w Prologu występuje w ramach operacji uzgodnienia. Polega na tworzeniu struktur, budowaniu ich przy pomocy zmian wskaźników. Efektem jest skonstruowana struktura.

Struktury danych w języku Prolog:

Powiedzmy, że chcemy stworzyć strukturę, która przedstawia zamówienie w pewnej firmie. Dysponujemy numerem zamówienia, datą, nazwami klientów. <rys2>

Złożona struktura jest tworzona przez zdefiniowanie funktora, który transformuje zbiór iloczynu kartezjańskiego prostych danych w zbiór struktur. Przykładowym zamówieniem jest ZAM(I217, 20080312, 'XYZ').

Przypuśćmy, że mamy teraz w zamówieniu zagnieżdżony funktor zwracający datę: Zam(l217, data(2008,03,12), 'XYZ'). Chcemy zdobyć zamówienia z zeszłego miesiąca. Jak to robimy?

zamow_miesiac(zam(Nr, data(D,M,R), Klient), M)

W zależności, co chcemy zrobić, możemy zastosować zdefiniowany selektor po numerze miesiąca w różny sposób.

?_zamow_miesiac(zam(l217, data(17,03,2008), 'XYZ'), M) - otrzymanie miesiąca danego zamówienia, jeżeli zamówienie jest zmienną związaną.

Jeżeli miesiąc jest zmienną związaną, zaś zamówienie nie jest, to dostajemy listę zamówień z określonego miesiąca.

Dla funktorów występujących w tym samym miejscu w wywołaniu, kontrola typu w czasie wywołania polega na porównaniu funktorów celu i reguły. Jeżeli funktory są identyczne, następuje uzgodnienie. Inaczej otrzymujemy błąd. Procedura uzgadniania jest rekurencyjna, możemy dowolnie zagnieżdżać uzgodnienie.

Jeżeli w celu występuje zmienna, w regule pewien funktor, to zmienna zostaje związana z wynikiem działania funktora.

[ Po prostu uzgadnianie w Prologu - dokładnie tak, jak na wykładzie z IW ]

Pary obiektów w Prologu:

Domyślnym funktorem dla pary obiektów w Prolog jestNp. wyrażenie: ,(a,b) reprezentuje parę obiektów. Listę można również zdefiniować jako parę: .(a,[j) dla listy jednoelementowej, dla większej liczby elementów, np. dla dwóch: .(a,.(b,[])) . Każda lista jest widoczna jako para, której pierwszym elementem jest pewien obiekt, a drugim inna lista.

Porównanie funktorów dla par odbywa się zgodnie ze schematem:

.(XI, Rl) .(a, ,(b,[]))

Taka wewnętrzna reprezentacja powoduje, że lista musi być "rozbierana" od przodu.

Przykład kolejny - procedura sprawdzająca, czy dany obiekt jest elementem listy:

MEMBER(X,L):- L=[X|R]. MEMBER(X,[X|R]).    MEMBER(X,[X|J)

Ostatnia konstrukcja tego pierwszego zdania zawiera symbol specjalny oznaczający



Wyszukiwarka

Podobne podstrony:
ków zbiorczych do śródmiąższu przeszkadza budowa ściany kanalika zbiorczego, w którym występują tylk
270 (14) do przetwarzania danych, sterowania urządzeniami oraz do wszelkich obliczeń na wigacyjnych.
S6302485 PRZETWORNIK fConvert*r), (Unaotror) Urządzeni* do przetwarzania danych z jednej no inno for
Języki przetwarzania danych symbolicznych: Języki przystosowane do przetwarzania danych symbolicznyc
5. Obowiązki osób upoważnionych Osoby upoważnione do przetwarzania danych osobowych są w szczególnoś
20417 skanuj0132 (14) Rozdział 5. ♦ Przetwarzanie danych z przeglądarki 143 Plik wysiany do serwera
Źródła danych do analizy finansowej przedsiębiorstwa Dane przetworzone i nieprzetworzone od służb
S6302485 PRZETWORNIK fConvert*r), (Unaotror) Urządzeni* do przetwarzania danych z jednej no inno for
przetwarzanych danych. Odnosząc się pokrótce, do każdego z nich, zaczynając od pierwszego — projekt
4)pisemnego powiadamiania o wszelkich zmianach:    danych osobowych, adresu do
Nadzór nad upoważnieniami do przetwarzania danych osobowych w Uczelni ma wyznaczony przez Rektora Ad
WSiP9 PODSTAWY BAZ DANYCH j 59 11Formularze do przetwarzania danych ZAGADNIENIA ■
WSiP1 PODSTAWY BAZ DANYCHRodzaje kwerend wykorzystywanych do przetwarzania danych 61 ZAGADNIEN
Program wykładuWprowadzenie do wykładu, proces przetwarzania danych.Dane meteorologiczne -
i RYZYKA DLA OCI DANYCH PRZYKŁAD RAZ OCENA SKUTKÓW PRZETWARZANYCH OSOBOWYCH. TODY SZACOWANIA OPARTEJ
POLITYKA BEZPIECZEŃSTWA *» Ponadto każdy upoważniony do przetwarzania danych potwierdza pisemnie fak

więcej podobnych podstron