Języki i paradygmaty programowania Wykład 7. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 1/18
|
|
- Maria Jastrzębska
- 7 lat temu
- Przeglądów:
Transkrypt
1 dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 1/18
2 Prolog - prawie jak język naturalny Prolog powstał na początku lat siedemdziesiątych XX wieku, jako odpowiedź na problem automatycznego dowodzenia twierdzeo. Powstanie Prologu wiązało się także ze szczególnym rozwojem w tym okresie metod badania języków naturalnych - wydawało się, że Prolog będzie doskonałą odpowiedzią na te badania. Przypomnijmy w tym miejscu o znanym podziale języków programowania ze względu na stopieo zaawansowania. I tak: języki pierwszej generacji: języki maszynowe (kod binarny), języki drugiej generacji: języki symboliczne (asemblery), np. Asembler, języki trzeciej generacji: języki wysokiego poziomu, proceduralne (imperatywne), np. C++, języki czwartej generacji: języki bardzo wysokiego poziomu, deklaratywne, np. SQL, języki piątej generacji: języki sztucznej inteligencji, języki systemów ekspertowych, najbardziej zbliżone do języka naturalnego, np. Prolog. Prolog nie stał się językiem programowania o możliwościach języka naturalnego, jednak jego wkład w informatykę, a szczególnie w zagadnienia sztucznej inteligencji są duże i warto go w pewnym chociaż minimalnym stopniu poznad. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 2/18
3 Program w języku Prolog Oto jeden z prostych przykładów programów w Prologu: lubi(jan, tatry). lubi(jan, beskidy). lubi(jerzy, beskidy). lubi(jerzy, bieszczady). lubitosamo(x, Y) :- lubi(x, S), lubi(y, S), X \= Y. Program ten (jak każdy w języku Prolog) składa się z faktów: lubi(jan, tatry). lubi(jan, beskidy). lubi(jerzy, beskidy). lubi(jerzy, bieszczady). oraz reguł: lubitosamo(x, Y) :- lubi(x, S), lubi(y, S), X \= Y. Ten program jest zupełnie samowystarczalny - nie potrzebujemy nigdzie dodatkowo deklarowad, co to znaczy lubi bądź lubitosamo. Wszystko, co potrzeba do wykorzystania tego programu, już tu jest. Samo uruchomienie polega teraz na wpisaniu celu i przejrzeniu wszystkich odpowiedzi udzielonych przez Prolog. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 3/18
4 Program w języku Prolog Oto kilka przykładów zapytao (do programu z poprzedniego slajdu), wraz z odpowiedziami języka. Znaki?- są wypisywane przez interpreter:?- lubi(jan, beskidy). true?- lubi(jan, sudety). false?- lubi(jan, X). X = tatry; X = beskidy; false?- lubi(x, beskidy) X = jan; X = jerzy; false?- lubi(filip, tatry). false?- lubi(filip, X). false dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 4/18
5 Program w języku Prolog Cel może byd: konkretny (fakt), może zawierad zmienne (reguła). W pierwszym przypadku interpreter odpowiada true lub false, w zależności od tego, czy udało mu się znaleźd potwierdzenie wpisanego celu. W drugim przypadku interpreter znajduje wszystkie możliwości spełnienia wpisanej relacji (po czym odpowiada false - co oznacza, że nie ma już więcej rozwiązao). Zauważmy, że odpowiedź przecząca oznacza, że interpreter nic nie wie na żądany temat - a nie że potrafi udowodnid fałszywośd wpisanego celu. Innymi słowy, Prolog działa przy założeniu, że mamy zamknięty świat faktów, o którym wiemy wszystko; to, czego nie wiemy, nie istnieje... Zauważmy, że: Możemy pytad również o byty, o których wcześniej nie wspomnieliśmy ani słowem. Tak jest np. w pytaniu lubi(filip, tatry). Wbrew pozorom, nie zawsze uzyskamy wtedy odpowiedź false. Możemy otrzymad odpowiedź twierdzącą, jeśli wynika to z mniej szczegółowych stwierdzeo programu. Nazwy zmiennych we wpisanym celu nie mają nic wspólnego z ewentualnymi nazwami zmiennych w programie. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 5/18
6 Program w języku Prolog Powyższe przykłady celów i odpowiedzi pokazują, że można zapytad o dowolny fragment relacji, a interpreter spróbuje dopasowad (ściślej mówimy uzgodnid lub zunifikowad; dopasowanie to właściwie techniczny sposób dokonania uzgodnienia) wartości zmiennych tak, by uzyskad stwierdzenia zgodne z posiadanym stanem wiedzy (czyli stwierdzeniami w programie). Wszystkie powyższe przykłady były jednak ograniczone do pytao, które dało się rozstrzygnąd przez pojedyncze dopasowanie celu do stwierdzeo w programie. Prolog jest oczywiście znacznie bardziej zręczny i potrafi udowodnid stwierdzenia, które wymagają uzgodnieo w wielu etapach. Np:?- lubitosamo(jan, jerzy). true?- lubitosamo(x, Y). X = jan, Y = jerzy; X = jerzy, Y = jan; No Zauważmy, że stwierdzenia w których występują zmienne: lubitosamo(x, Y) :- lubi(x, S), lubi(y, S), X \= Y. traktujemy tak jakby stał przed nimi kwantyfikator uniwersalny wiążący wszystkie owe zmienne. Dzięki temu stwierdzenie to staje się regułą na podstawie której interpreter może wnioskowad o osobach lubiących to samo. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 6/18
7 Jak rozumied klauzule? Klauzula złożona z pojedynczej struktury prologowej, to stwierdzenie, które przyjmujemy za fakt, np. lubi(jan, tatry). Występujące w tej klauzuli atomy: lubi, jan i tatry - nie mają tu żadnego innego znaczenia niż powiązanie ich w taką właśnie klauzulę, która następnie może byd wykorzystana przy poszukiwaniu odpowiedzi przez interpreter. Innymi słowy, atomy oznaczają po prostu siebie i dopóki nie użyjemy ich w jakimś konkretnym kontekście (np. w operacji arytmetycznej), nie wymagamy od nich żadnych własności. Oczywiście intuicyjne rozumienie takiej klauzuli-faktu to stwierdzenie: Jan lubi Tatry czyli że podane w nawiasach obiekty spełniają relację podaną na początku. A zatem funktor lubi spełnia rolę nazwy relacji, zaś atomy (w tym przypadku parametry): jan, tatry - rolę elementów tę relację spełniających. Zamiast atomów mogą również pojawiad się stałe liczbowe lub napisowe oraz całe struktury. Drugi typ klauzul to klauzule postaci: B :- A1, A2,..., Am takie jak podana chwilę wcześniej reguła lubid to samo. Klauzule tego rodzaju prawie zawsze zawierają zmienne. W praktyce klauzulę rozumiemy jako definicję nowej relacji - nie poprzez wyliczenie obiektów ją spełniających, lecz poprzez określenie reguły wiążącej ją z innymi relacjami. W trakcie poszukiwania odpowiedzi interpreter może wykorzystad taką klauzulę, uzgadniając odpowiednio zmienne. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 7/18
8 Rola struktur Struktura to twór postaci: funktor(listaparametrów) gdzie parametry są atomami, zmiennymi lub innymi strukturami, rozdzielonymi przecinkami. Term to stała, zmienna lub struktura. Stała może byd atomem (składnia - jak typowy identyfikator zaczynający się od małej litery lub napis ujęty w apostrofy) lub liczbą. System typów Prologu jest niezbyt rozbudowany i zazwyczaj obejmuje liczby całkowite, zmiennopozycyjne oraz napisy, przy czym napisy w podwójnych cudzysłowach utożsamiane są z listą kodów znaków, zaś napisy w apostrofach - z atomami. Zmienne zaczynają się z dużej litery. Struktury mogą występowad zarówno w roli danych, jak i w roli zbliżonej do funkcji w klasycznych językach programowania. W rozważanym dotychczas przykładzie struktury z funktorem lubi uznalibyśmy zapewne za dane, natomiast strukturę z funktorem lubitosamo za coś w rodzaju funkcji. Podział ten jest jednak sztuczny i bierze się po prostu z naszych przyzwyczajeo. Prolog traktuje wszystkie struktury tak samo, wykorzystując je w uzgodnieniach. Zauważmy, że do naszego programu moglibyśmy dodad klauzulę: lubi(_, pieniny). Można ją interpretowad jako stwierdzenie: każdy lubi pieniny. W tej sytuacji funktor lubi przestaje oznaczad tylko dane. Zauważmy, że taka klauzula pozwala interpreterowi odpowiedzied twierdząco np. na poniższe pytania: lubi(x, pieniny). lubi(filip, pieniny). lubi(filip, _). lubi(filip, X). dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 8/18
9 Rola struktur Warto zauważyd, że jeśli jakaś zmienna występuje w klauzuli tylko raz, to należy ją zapisad jako zmienną anonimową, czyli za pomocą znaku podkreślenia: _. Taka sytuacja oznacza, że wartośd tej zmiennej nie będzie potrzebna w żadnym innym miejscu. W szczególności dwa wystąpienia znaku podkreślenia oznaczają dwie zupełnie nie związane ze sobą zmienne anonimowe. Tak więc np. klauzula: zna(x, X). oznacza każdy zna samego siebie, natomiast klauzula: zna(_, _). oznacza każdy zna każdego. Zmienna anonimowa użyta we wpisanym celu oznacza, że nie chcemy znad wartości, jakie interpreter nada tej zmiennej, próbując osiągnąd cel. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 9/18
10 Rola struktur Przykład struktur z funktorem lubi kojarzyd się byd może nie tyle z reprezentacją obiektów pierwotnych bazy danych (czyli, powiedzmy, rekordów w tabeli w relacyjnej bazie danych), co raczej z reprezentacją zależności między takimi obiektami. Popatrzmy więc na taki przykład: pracownik(imię(jan), nazwisko(kowalski), adres(ulica(długa),nr(2),miasto(kraków)), telefon( )). Użyliśmy tu zagnieżdżonych struktur do reprezentacji danych pracowników. W potocznym rozumieniu owi pracownicy są obiektami pierwotnymi. Zauważmy jednak, że w Prologu sposób reprezentowania jest w obydwu przypadkach w istocie taki sam. Reprezentacja taka jak powyżej daje nam możliwości podobne do rekordów przy znacznie większej elastyczności. Przyjrzyjmy się ponownie pracownikom: Funktor pracownik użyty jest w roli podobnej do nazwy typu. Funktory imię, nazwisko itp. spełniają rolę analogiczną do pól rekordu. Atomy i liczby zachowują się jak wartości pól. Mamy tu obiekty (pracowników) opisane w sposób samoistny - bez odwoływania się do zewnętrznych definicji typów. Mechanizm ten, chociaż nie pozwala np. na statyczne sprawdzenie zgodności typu, ma cechy przyzwoitego typowania. Otóż wszelkie wykorzystanie takich obiektów musi następowad przez uzgodnienie, a żeby ono się powiodło, konieczna jest pełna zgodnośd struktur (nazwy, ilości argumentów i podstruktury). Dodajmy, że atomy można traktowad jako funktory zeroargumentowe. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 10/18
11 Zmienne i ich ukonkretnianie Zmienne w Prologu są zupełnie odmienne od zmiennych w językach imperatywnych i tylko trochę podobne do zmiennych w językach funkcyjnych. Owo podobieostwo polega na tym, że zmienna prologowa nie może dowolnie zmieniad wartości tak, jak się to dzieje przy podstawieniach - tych zresztą w ogóle w Prologu nie ma. W Prologu nadawanie wartości zmiennym następuje w wyniku uzgodnieo - powiemy o nich dokładniej w dalszej części wykładu. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 11/18
12 Ukonkretnianie zmiennych Zmienna w programie Prologowym reprezentuje zupełnie nieokreślony byt, bez typu. W trakcie obliczeo, w rezultacie uzgodnieo następuje ukonkretnianie zmiennej, czyli bliższe określenie bytu reprezentowanego przez zmienną. Ów byt będziemy nazywali konkretyzacją zmiennej. Ukonkretnienie może byd: całkowite, częściowe. W przypadku ukonkretniania całkowitego zmienna utożsamia się z termem niezawierającym zmiennych i nie podlega dalszemu ukonkretnianiu. W tym momencie można ją postrzegad jak zainstancjonowaną zmienną w programie funkcyjnym. W przypadku ukonkretniania częściowego zmienna reprezentuje term, który wciąż zawiera inne zmienne, i może byd ukonkretniana dalej. Ciekawym przypadkiem jest ukonkretnienie, które następuje przy uzgadnianiu dwóch dotychczas nieukonkretnionych zmiennych. Nie pojawia się wtedy żaden bardziej szczegółowy opis struktury reprezentowanej przez zmienną, gdyż obydwie zmienne na razie reprezentują byty nieokreślone. Dwie zmienne zostają natomiast utożsamione, czyli odtąd każde wystąpienie i ukonkretnienie jednej z nich odnosi się tak samo do drugiej. Ukonkretnienie zmiennej nie może zostad zmienione na inne, może natomiast zostad anulowane w wyniku nawrotu. Generalnie odnosi się to do ostatniego etapu ukonkretnienia - zmienna wraca do poprzedniej konkretyzacji, a nie do stanu całkowicie nie ukonkretnionego. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 12/18
13 Przykłady ukonkretniania Przykład 1 Do programu: lubi(jan, tatry). lubi(jan, beskidy). lubi(jerzy, beskidy). lubi(jerzy, bieszczady). lubitosamo(x, Y) :- lubi(x, S), lubi(y, S), X \= Y. zadajemy zapytanie: lubitosamo(jan,x). W pierwszym etapie następuje dopasowanie owego celu do definicji lubitosamo(x, Y) co skutkuje dwoma uzgodnieniami: Atom jan zostaje dopasowany do zmiennej X z definicji. W rezultacie zmienna X zostaje ukonkretniona do wartości jan. Zmienna X z celu zostaje uzgodniona ze zmienną Y z definicji. W rezultacie powstaje jedna zmienna. Oczywiście zmienna X, której konkretyzacją jest atom jan, nie ma nic wspólnego z tą drugą. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 13/18
14 Przykłady ukonkretniania Przykład 2 Do programu: pracownik(imię(jan), nazwisko(kowalski), adres(ulica(długa),nr(2),miasto(kraków)), telefon( )). zadajemy zapytanie: pracownik(x, Y, Z, telefon( )). Cel pasuje do definicji jednego, konkretnego pracownika, a zatem mamy trzy uzgodnienia z następującymi skutkami: Zmienna X zostaje ukonkretniona do imię(jan). Zmienna Y zostaje ukonkretniona do nazwisko(kowalski). Zmienna Z zostaje ukonkretniona do adres(ulica(długa), nr(2), miasto(kraków)). Zauważmy, że wartościami zmiennych stają się tu całe struktury, a nie pojedyncze atomy. Druga obserwacja to to, że interpretera Prologu można użyd wprost jako mechanizmu wyszukiwania w bazie danych - podajemy znane elementy (tu: telefon), a interpreter znajduje wszystkie pasujące rekordy. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 14/18
15 Przykłady ukonkretniania Przykład 3 Do programu: pracownik(imię(jan), nazwisko(kowalski), adres(ulica(długa),nr(2),miasto(kraków)), telefon( )). pracownik(imię(stefan), nazwisko(nowak), adres(ulica(jodlowa),nr(2),miasto(warszawa)), telefon( )). zadajemy zapytanie: pracownik(imię(x), nazwisko(y), adres(a1, A2, A3), telefon(z)). Tym razem cel pasuje do obydwu pracowników, więc mamy jeden zestaw ukonkretnieo, nawrót (a więc anulowanie ukonkretnieo) i drugi zestaw. Konkretyzacje zmiennych X, Y, A1, A2, A3 i Z w poszczególnych zestawach to oczywiście dane dwóch pracowników: X = jan, Y = kowalski, A1 = ulica(długa), A2 = nr(2), A3 = miasto(kraków), Z = oraz X = jerzy, Y = nowak, A1 = ulica(krótka), A2 = nr(123), A3 = miasto(kraków), Z = dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 15/18
16 Przykłady ukonkretniania W ostatnim przykładzie w przypadku zmiennych X, Y i Z dotarliśmy tu już do atomów, natomiast w przypadku A1, A2 i A3 otrzymujemy struktury, gdyż na tym poziomie zagnieżdżenia odbyło się uzgodnienie. Dwa ostatnie przykłady pokazują, że uzgodnienia mogą byd na różnych poziomach zagnieżdżenia. Pozwala to zadawad pytania o różnym stopniu szczegółowości. Trzeba natomiast pamiętad, że zawsze należy przestrzegad arności (argumentowości) funktora. A zatem niepoprawne, właśnie ze względu na niewłaściwą arnośd, są cele: pracownik(imię(x), nazwisko(y), adres(a), telefon(z)). pracownik(imię(x), nazwisko(y), adres(a1, A2), telefon(z)). dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 16/18
17 Przykłady ukonkretniania zmiennych dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 17/18
18 KONIEC Dziękuję za uwagę dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 18/18
Programowanie w logice
Programowanie w logice PROLOG cz.1 PROLOG język wysokiego poziomu Powstał w 1972 na Uniwersytecie w Marsylii (Francja) w zespole A.Colmerauer a i F.Roussel a PROgrammation en LOGique, PROgramming in LOGic,
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Prolog (Pro-Logic) Programowanie w Logice. Dr inż. Piotr Urbanek
Prolog (Pro-Logic) Programowanie w Logice Dr inż. Piotr Urbanek Do czego służy ProLog? Używany w wielu systemach informatycznych związanych z: logiką matematyczną (automatyczne dowodzenie twierdzeń); przetwarzaniem
Programowanie w Logice
Programowanie w Logice Działanie Prologu Przemysław Kobylański na podstawie [CM2003] Składnia Programy Prologu składają się z termów. Term to stała, zmienna lub struktura (term złożony). Term zapisuje
Języki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie
Deklarowania faktów dotyczących obiektów i związków między nimi. Definiowania reguł dotyczących obiektów i związków między nimi.
Prolog Prolog Programowanie w Prologu składa się z: Deklarowania faktów dotyczących obiektów i związków między nimi. Definiowania reguł dotyczących obiektów i związków między nimi. Zadawania zapytao o
PODSTAWY SZTUCZNEJ INTELIGENCJI
Katedra Informatyki Stosowanej Politechnika Łódzka PODSTAWY SZTUCZNEJ INTELIGENCJI Laboratorium PROGRAMOWANIE SYSTEMÓW EKSPERTOWYCH Opracowanie: Dr hab. inŝ. Jacek Kucharski Dr inŝ. Piotr Urbanek Cel ćwiczenia
PROLOG. Prolog. Programowanie, W.F. Clocksin, C.S. Mellish, HELION Prolog, język sztucznej inteligencji, Eugeniusz Gatnar, Katarzyna Stąpor, Wyd.
PROLOG 1. Informacje wstępne Podczas zajęć korzystamy z darmowej wersji interpretera Prologu SWI-Prolog dostępnego ze strony: www.swi-prolog.org 2. Literatura i materiały Prolog. Programowanie, W.F. Clocksin,
Języki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 14 Języki deklaratywne Główne różnice między paradygmatem deklaratywnym a imperatywnym Omów główne cechy paradygmatu programowania w logice na przykładzie Prologa Główne
Wprowadzenie do Prologa
Wprowadzenie do Prologa Rozdział 1 Tutorial Introduction Maciej Gapiński Dominika Wałęga Spis treści 1. Podstawowe informacje 2. Obiekty i relacje 3. Reguły 4. Fakty 5. Zapytania 6. Zmienne i stałe Podstawowe
SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL
Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie
Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka)
Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka) Rozdział 2 Constructing Prolog Programs z książki Prolog Programming in Depth autorstwa Michael A. Covington, Donald Nute,
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Paradygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
ZMIENNE. Podstawy PHP
ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje
Tablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Programowanie w logice Prolog 1
Programowanie w logice Prolog 1 Prolog - zastosowania Zastosowania: relacyjne bazy danych. przetwarzanie języka naturalnego. logistyka. analiza struktur biochemicznych. wspomaganie projektowania. sztuczna
Materiały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
Wykład 0 Informacje Podstawowe
Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie
Programowanie w języku C++ Podstawowe paradygmaty programowania
Programowanie w języku C++ Podstawowe paradygmaty programowania Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra
Technologie baz danych
Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów
Laboratorium przedmiotu Paradygmaty Programowania
Laboratorium przedmiotu Paradygmaty Programowania Laboratorium 9 Prolog podstawy 1. Podstawy Prologu Programowanie w Prologu polega na deklarowaniu: Faktów dotyczących pewnych obiektów z analizowanego
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Celem ćwiczenia jest zapoznanie się z podstawowymi możliwościami języka Prolog w zakresie definiowania faktów i reguł oraz wykonywania zapytań.
Paradygmaty Programowania Język Prolog Celem ćwiczenia jest zapoznanie się z podstawowymi możliwościami języka Prolog w zakresie definiowania faktów i reguł oraz wykonywania zapytań. Wstęp Prolog (od francuskiego
Elementy logiki matematycznej
Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w
Podstawy języka PROLOG
Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki PROLOG akronim od PROgramming in LOGic Prolog został stworzony w 1971 przez Alaina Colmeraurera i Philipa Roussela. Podstawy teoretyczne
Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++
Programowanie obiektowo zorientowane Mirosław Głowacki Wykład w języku C++ Literatura B. Meyer, Programowanie zorientowane obiektowo, Helion Gliwice, 2005 J. Grębosz, Symfonia C++ Standard, Oficyna Kallimach,
Wykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Programowanie w logice Prolog 2
Programowanie w logice Prolog 2 Listy Lista to uporządkowany ciąg elementów. Elementami listy mogą być dowolne terminy: stałe, zmienne i struktury W Prologu listę zapisujemy następująco: Przykłady [element1,element2,,elementn]
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Przestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Python wstęp. Michał Bereta www.michalbereta.pl
Python wstęp Michał Bereta www.michalbereta.pl Wprowadzenie... 1 Źródła wiedzy... 1 Uruchomienie interpretera Pythona... 2 Python jako kalkulator użycie interaktyne... 2 Uruchamianie skryptów z plików...
Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów
Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@amu.edu.pl Plan na pytanie o odniesienie przedmiotowe zdań odpowiedź
Dariusz Banasiak. Instytut Informatyki, Automatyki i Robotyki. Politechniki Wrocławskiej
Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej PROLOG akronim od PROgramming in LOGic Prolog został stworzony w 1971 przez Alaina Colmeraurera i Philipa Roussela.
Internet Semantyczny i Logika I
Internet Semantyczny i Logika I Warstwy Internetu Semantycznego Dowód Zaufanie Logika OWL, Ontologie Podpis cyfrowy RDF, schematy RDF XML, schematy XML przestrzenie nazw URI Po co nam logika? Potrzebujemy
Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.
Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów
Programowanie w logice
Wydział Matematyki UŁ 14 marca 2007 Plan prezentacji 1 Składnia Termy Stałe Zmienne Struktury 2 Własny operator Przeciążanie operatorów 3 Arytmetyczne i logiczne predykaty systemowe 4 Do zapamiętania Termy
SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel
SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia
Wstęp do programowania 2
Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie
Bazy danych TERMINOLOGIA
Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.
Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).
Dekoratory są w miarę ezoteryczną cechą Pythona w przeciwieństwie do funkcji, klas czy iteratorów nie są powszechną cechą języków programowania. Niemniej, warto je omówić mimo wszystko, gdyż są niezwykle
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Statyczne i dynamiczne predykaty
Statyczne i dynamiczne predykaty Dynamiczne dowodzą lub odwołują pewne reguły, Statyczne nie potrafią tego co dynamiczne, ponieważ ich punkty zostały zebrane w całość, która działa szybciej, ale nie jest
Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279
Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański
Logika dla socjologów Część 4: Elementy semiotyki O pojęciach, nazwach i znakach
Logika dla socjologów Część 4: Elementy semiotyki O pojęciach, nazwach i znakach Rafał Gruszczyński Katedra Logiki Uniwersytet Mikołaja Kopernika 2011/2012 Spis treści 1 Krótkie wprowadzenie, czyli co
Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań System aksjomatyczny logiki Budując logikę
Typy, klasy typów, składnie w funkcji
Typy, klasy typów, składnie w funkcji Typy w Haskell Każde wyrażenie w Haskell posiada zdefiniowany typ. Dzięki temu już na etapie kompilacji kodu następuje sprawdzenie poprawności kodu i zabezpiecza nas
2. Łańcuchy tekstowe w PHP
2. Łańcuchy tekstowe w PHP 2.1 Apostrofy i cudzysłowy Łańcuch tekstowy w języku PHP to ciąg znaków ograniczony apostrofami (') lub cudzysłowami ("). Te znaki ograniczające nie powinny być traktowane wymiennie,
Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017
Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie
Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń
Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest
Programowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie Krzysztof Banaś Podstawy programowania 1 są sposobem na przechowywanie w ramach pojedynczej zmiennej zestawu zmiennych różnych typów,
Informatyka I: Instrukcja 4.2
Informatyka I: Instrukcja 4.2 1 Wskaźniki i referencje - bezboleśnie Nauczyliśmy się do tej pory, że funkcje w języku C mogą zwracać wartość. Co jednak, gdybyśmy chcieli napisać funkcję, która rozwiąże
Adam Meissner.
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Podstawy logiki pierwszego rzędu
Kultura logicznego myślenia
Kultura logicznego myślenia rok akademicki 2015/2016 semestr zimowy Temat 6: Rachunek predykatów jako logika pierwszego rzędu logika elementarna = logika pierwszego rzędu KRZ logika zerowego rzędu Język
METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ
METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ KONWERSATORIUM 6: REZOLUCJA V rok kognitywistyki UAM 1 Kilka uwag terminologicznych Słuchacze zapewne pamiętają z zajęć dotyczących PROLOGu poniższą
Podstawy programowania w C++
Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują
2
1 2 3 4 5 Dużo pisze się i słyszy o projektach wdrożeń systemów zarządzania wiedzą, które nie przyniosły oczekiwanych rezultatów, bo mało kto korzystał z tych systemów. Technologia nie jest bowiem lekarstwem
Programowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
RBD Relacyjne Bazy Danych
Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji
Tworzenie makr warunkowych
Tworzenie makr warunkowych Czasami chcemy, aby makro lub akacja makra były wykonywane tylko wtedy, gdy spełniony jest jakiś warunek. Na przykład chcemy utworzyć makro drukujące raport, ale tylko wtedy,
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Struktura drzewa w MySQL. Michał Tyszczenko
Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Programowanie w Logice Struktury danych (Lista 2)
Programowanie w Logice Struktury danych (Lista 2) Przemysław Kobylański Wstęp Struktury danych wyraża się w Prologu w postaci termów, tj. symbolicznych wyrażeń. Dotychczas poznaliśmy proste termy takie
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Wykład 9: Polimorfizm i klasy wirtualne
Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm
KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ
KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 3 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl POBIERANIE DANYCH C/AL Poniższe funkcje używane są do operacji pobierania
3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Andrzej Wiśniewski Logika II. Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań
Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań 1 Struktury modelowe Przedstawimy teraz pewien
Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ
Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Mariusz Jankowski autor strony internetowej poświęconej Excelowi i programowaniu w VBA; Bogdan Gilarski właściciel firmy szkoleniowej Perfect And Practical;
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Prezentacja do pobranie:
Prezentacja do pobranie: www.barkaf.cba.pl/prezentacja.rar 1 Prolog programowanie ROZDZIAŁ 1: WPROWADZENIE ROZDZIAŁ 2: PROLOG Z BLISKA NA PODSTAWIE: PROLOG. PROGRAMOWANIE- W. F. CLOCKSIN, C. S. MELLISH
Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski
Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
2017/2018 WGGiOS AGH. LibreOffice Base
1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,
Struktury formalne, czyli elementy Teorii Modeli
Struktury formalne, czyli elementy Teorii Modeli Szymon Wróbel, notatki z wykładu dra Szymona Żeberskiego semestr zimowy 2016/17 1 Język 1.1 Sygnatura językowa Sygnatura językowa: L = ({f i } i I, {P j
Pascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Technologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.
Wykład 4 Algorytmy + struktury danych = programy Niklaus Wirth Algorytm = logika + sterowanie Robert Kowalski J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 80 / 277 algorytm program język
Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem
Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego
Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Programowanie w logice Wykład z baz danych dla
Programowanie w logice Wykład z baz danych dla studentów matematyki 18 maja 2015 Programowanie w logice Programowanie w logice to podejście do programowania, w którym na program patrzymy nie jak na opis
Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki
Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykład 5. Wprowadzenie do semantyki teoriomodelowej cz.5. Wynikanie logiczne 1 Na poprzednim wykładzie udowodniliśmy m.in.:
PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Autor: Joanna Karwowska
Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.
Programowanie w logice
Programowanie w logice PROLOG cz.3 Predykat sprawdzający, czy podana lista stanowi początek innej listy: poczatek([],[_ _]). poczatek([h1 T1], [H2 T2]) :- H1 = H2, poczatek(t1,t2). ------------------------------------------------------------------------