Programowanie w logice
|
|
- Marian Niewiadomski
- 8 lat temu
- Przeglądów:
Transkrypt
1 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, PROramowanie w LOGice Podstawa utworzenia PROLOGu: logika predykatów pierwszego rzędu oraz zasada rezolucji. Program napisany w PROLOGu zawiera zbiór asercji (faktów), które mogą być traktowane jako aksjomaty pewnej teorii oraz zbiór reguł wnioskowania (dedukcji) dla tej teorii. Problem do rozwiązania jest twierdzeniem teorii, które należy udowodnić. Języki proceduralne (imperatywne) program zawiera szczegółowy opis kolejnych kroków postępowania zgodnie z przyjętym algorytmem tak, aby z wprowadzonych danych otrzymać żądane wyniki (PASCAL, FORTRAN, C) Język deklaratywny wymaga określenia związków (relacji) między danymi a wynikiem (PROLOG) Predykaty Predykaty opisują związki zachodzące między obiektami Symbol predykatu: dowolna długość, dowolne litery cyfry i _, zaczyna się od małej litery. Przykłady: lubi, wiekszy_od, mlodszy_od, jest_przodkiem Argumenty predykatu: termy oddzielone przecinkami, dowolna liczba termów. Przykłady: lubi (anna,ksiazka(autor(adam,mickiewicz),pan_tadeusz,1960)) suma(x,y,z) ojciec(maciej,marek) Fakty Opisują związki między obiektami, opisują obiekty. Przedstawia się je za pomocą predykatów. predykat(obiekt 1, obiekt 2,obiekt 3,...,obiekt n ). lubi(anna, piotr). lubi(piotr, anna). kobieta(anna). ojciec(jan, marek). odleglosc(poznan,berlin,300). 1
2 Fakty Cel Nazwy obiektów występujące w nawiasach nazywamy argumentami. Bazę danych można wykorzystać poprzez zadawanie pytań lub inaczej celów do realizacji. Zbiór faktów nazywamy bazą danych. Celem, w zależności od formy, jest: pytanie o prawdziwość faktów, polecenie znalezienia obiektów będących w relacji z innymi obiektami. Zapytania (cele) lubi(jan, wycieczki). lubi(jan, ksiazki). lubi(jan, kino). lubi(ewa, ksiazki). lubi(ewa, kwiaty).?- lubi(jan, kino). yes?- lubi(jan, konie). no Zapytania?- lubi(jan,x).?- lubi(y,kwiaty). X=wycieczki; Y=ewa. X=ksiazki; X=kino.?- lubi(ewa,z).?- lubi(x,ksiazki). Z=ksiazki; X=jan; Z=kwiaty. X=ewa. Reguły stwierdzenia dotyczące obiektów i ich powiązań, opisują zależności między obiektami predykat(obiekt 1, obiekt 2, obiekt 3,... obiekt n ) if predykat1(obiekt1 1, obiekt1 2, obiekt1 3,...,obiekt1 m1 ) and predykat2(obiekt2 1, obiekt2 2, obiekt2 3,...,obiekt2 m2 ) and... predykatk(obiektk 1, obiektk 2,obiektk 3,... obiektk mk ). Reguły Przykład: siostra(x,y) :- kobieta(x),rodzice(m,o,x), rodzice(m,o,y), X\=Y. X jest siostrą Y, jeśli X jest kobietą oraz X i Y mają takich samych rodziców Predykat siostra jest tutaj głową reguły (głowa składa się tylko z jednego predykatu), zaś warunki: kobieta(x), rodzice(m,o,x), rodzice(m,o,y), X\=Y tworzą ciało reguły. 2
3 Poszukiwanie odpowiedzi Fakty i reguły Zapisane w bazie danych fakty i reguły analizowane są od góry do dołu w kolejności wprowadzenia. Szukany jest fakt potwierdzający zapytanie. Jeżeli w pytaniu jest zmienna, to w trakcie wyszukiwania odpowiedzi jest ukonkretniana (podstawiane są pod nią stałe wartości). Jeżeli zapytanie jest złożone, to zawsze poszukuje się potwierdzenia predykatów od lewego do skrajnie prawego. Powrót do wcześniejszych predykatów celem sprawdzenia wszystkich kombinacji nazywa się nawracaniem (backtracking). Fakty i reguły stanowią tzw. klauzule. Fakt to klauzula składająca się tylko z nagłówka (nie posiada treści). Zbiór klauzul, w których predykaty tworzące nagłówki mają tę samą nazwę i liczbę argumentów tworzą procedurę. Deklaratywna interpretacja klauzuli Każdą klauzulę o ogólnej postaci: A:- B 1, B 2,, B n. można interpretować w następujący sposób: A zachodzi, jeśli zachodzą (są prawdziwe) B 1 i B 2 i i B n. Podstawowe elementy języka Term to stała, zmienna lub struktura. Stałe (obiekty proste, struktury atomowe, atomy) to symboliczne nazwy obiektów występujących w programie. Przykłady: j23, 1, 2, 007, jan, aula_a, jan_kowalski, Jan Kowalski, 125,00 Podstawowe elementy języka Zmienne symbolicznie przedstawiają nazwy obiektów, które nie są w danej chwili znane. Przykłady: X, A, Ogon_listy, _miasto Zmienna anonimowa _ (nie ma znaczenia dla programisty) Struktury Struktura obiekt składający się z innych obiektów, określona jest przez funktor oraz nazwy obiektów składowych (argumentów funktora) Przykłady: ksiazka(adam,mickiewicz,pan_tadeusz,2012) ksiazka(autor(adam,mickiewicz), tytul(pan_tadeusz), wydanie(100,2012)) 3
4 termów T1 i T2 polega na szukaniu wyrażeń, jakie trzeba podstawić pod zmienne występujące w T1 i T2, by po ich podstawieniu termy stały się identyczne. Jeśli takiego postawienia nie ma, to unifikacja zawodzi. T1=T2 Jeżeli termy T1 i T2 są zmiennymi, X i Y to przy próbie uzgodnienia tych zmiennych możliwe są przypadki: Zmienna X jest ukonkretniona, czyli związana z pewną stałą (strukturą), a Y jest wolna wtedy Y zostanie ukonkretniona przez wartość zmiennej X. stolica(berlin,niemcy)=y. Zmienna X jest wolna, a Y ukonkretniona, wtedy X zostanie ukonkretniona przez wartość zmiennej Y. X=madryt. Jeśli obie zmienne są wolne, to wtedy następuje ich powiązanie, czyli jeśli w pewnym momencie działania programu jedna z nich zostanie ukonkretniona, to druga automatycznie przyjmie tę samą wartość. X=Y. Jeśli T1 i T2 są stałymi (atomami lub liczbami) to równość zachodzi, gdy ta sama stała występuje po obu stronach predykatu =. praga=praga. 2010=2010. Dwie struktury są sobie równe, jeśli a) są opisane przez ten sam funktor, b) funktory maja tę samą liczbę argumentów, c) odpowiednie argumenty są sobie równe. kolor(niebieski,auto)=kolor(niebieski,auto). Uzgadnianie: staw(morskie_oko,tatry)=staw(x,tatry). 4
5 Porównywanie wartości a(x,y,z)=a(s,t,v). X=1. X=uczenia(uam). uczelnia(uam,poznan)=uczelnia(y,poznan). stolica(x,polska)=stolica(warszawa,p). X=Y Porównanie kończy się sukcesem, gdy oba wyrażenia są identyczne lub da się je uzgodnić X\=Y Porównanie kończy się sukcesem, gdy wyrażeń nie daje się uzgodnić X==Y Porównywanie wartości Predykat X==Y również oznacza równość, ale w węższym znaczeniu niż X=Y. Jeśli X lub Y w wyrażeniu X=Y jest zmienną, to następuje uzgodnienie. W przypadku X==Y uzgodnienie nie nastąpi, jeśli jedna ze zmiennych ma przypisaną wartość, a druga nie. Predykat = traktuje zmienną nieukonkretnioną jako równą dowolnej wartości, dla predykatu == zmienna nieukonkretniona jest równa jedynie zmiennej z nią związanej X\==Y Lista operatorów arytmetycznych i porównania + dodawanie - odejmowanie / dzielenie // dzielenie całkowite * mnożenie ** potęga mod reszta z dzielenia is znak równości (wynik obliczeń arytmetycznych) ( X is 1 mod 3) =:= czy wartości równe =\= czy wartości różne > większe < mniejsze >= większe równe =< mniejsze równe Operator ''is'' is służy do ukonkretniania występującej po lewej stronie zmiennej przez wyrażenie arytmetyczne znajdującą się po prawej stronie.?- X is 2+3. X = 5 Yes 5
6 SWI-PROLOG Literatura Programy prologowe zapisuje się używając dowolnego edytora tekstowego notatnik (Windows). Plik zapisujemy z rozszerzeniem pl. Aby wczytać do pamięci plik prologowy, należy wydać interpreterowi następujące polecenie:?- [nazwa_pliku]. Uwaga: Wczytywane pliki muszą być w tym samym katalogu, z którego uruchamiany jest program pl. W. Clocksin, C. Mellish, Prolog. Programowanie E.Gatnar, K.Stąpor, Prolog G.Brzykcy, A.Meissner, Programowanie w prologu i programowanie funkcyjne M. Ben-Ari, Logika matematyczna w informatyce 6
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
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
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
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). ------------------------------------------------------------------------
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 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
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
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,
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
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
Projekt 4: Programowanie w logice
Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu
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
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
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
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.
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
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
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
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
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 Logice Środowisko programowania i dialog z systemem (Lista 0)
Programowanie w Logice Środowisko programowania i dialog z systemem (Lista 0) Przemysław Kobylański Wstęp Podczas laboratorium będziemy korzystać z systemu SWI-Prolog. Należy go ściągnąć i zainstalować
Programowanie w Logice Przykłady programów. Przemysław Kobylański
Programowanie w Logice Przykłady programów Przemysław Kobylański Język Imperator 1 jest prostym językiem imperatywnym. Jego składnię opisuje poniższa gramatyka BNF: PROGRAM ::= PROGRAM ::= INSTRUKCJA ;
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
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
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. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
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
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
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:
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
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
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
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji
Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki Podstawy Informatyki i algorytmizacji wykład 1 dr inż. Maria Lachowicz Wprowadzenie Dlaczego arkusz
Dana jest baza: kobieta(katarzyna). kobieta(anna). kobieta(maria). kobieta(marianna). kobieta(marta). Zdefiniujemy predykat kobiety/0 następująco:
STEROWANIE PROCESEM WNIOSKOWANIA. Predykat true/0 fail/0 cut/0 lub! not( W) lub \+W repeat/0 Objaśnienie zawsze spełniony, deterministyczny zawsze zawodzi, deterministyczny odcięcie; zawsze spełniony spełniony,
Warunki logiczne instrukcja if
Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y
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
PROLOG INNE PRZYKŁADY MACIEJ KELM
PROLOG INNE PRZYKŁADY MACIEJ KELM PREDYKAT RANDOM Funkcja random zwraca losową liczbę całkowitą w przedziale od 1 do X. Gdzie X jest parametrem funkcji random. Przed użyciem random należy zainicjować tak
Adam Meissner STUCZNA INTELIGENCJA
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis STUCZNA INTELIGENCJA Elementy programowania w logice Literatura
Wprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.1 Elementy języka Prolog: fakty i zapytania. Przemysław Kobylański
Wprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.1 Elementy języka Prolog: fakty i zapytania Przemysław Kobylański Część I Wprowadzenie 1 Stałe i zmienne Jedynym dostępnym w języku Prolog rodzajem
Arytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
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
Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41
Wykład 2 Informatyka Stosowana 8 października 2018, M. A-B Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Elementy logiki matematycznej Informatyka Stosowana Wykład 2 8 października
Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
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]
Składnia rachunku predykatów pierwszego rzędu
Początek Gramatyka Kwantyfikatory Poprawność Logika obliczeniowa Instytut Informatyki Początek Gramatyka Kwantyfikatory Poprawność Plan wykładu 1 Na (dobry) początek Zrozumieć słowa Oswoić znaki 2 Gramatyka
Predykat. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut
Predykat Weźmy pod uwagę następujące wypowiedzi: (1) Afryka jest kontynentem. (2) 7 jest liczbą naturalną. (3) Europa jest mniejsza niż Afryka. (4) 153 jest podzielne przez 3. Są to zdania jednostkowe,
Logika predykatów pierwszego rzędu PROLOG. Zarządzanie wiedzą. Wykład Reprezentacja wiedzy logika predykatów. Joanna Kołodziejczyk.
Wykład Reprezentacja wiedzy logika predykatów maj 2010 Logika predykatów pierwszego rzędu Plan wykładu Logika predykatów pierwszego rzędu Porównanie z rachunkiem zdań Rachunek zdań ograniczona ekspresja
FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe
FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (postać kierunkowa) Funkcja liniowa to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości liczbowe Szczególnie ważny w postaci
Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.
PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Obliczenia matematyczne (operatory) Operator
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem
FUNKCJA LINIOWA - WYKRES
FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Języki i paradygmaty programowania Wykład 7. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 1/18
dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 1/18 Prolog - prawie jak język naturalny Prolog powstał na początku lat siedemdziesiątych XX wieku, jako odpowiedź na problem automatycznego
Wyrażenia arytmetyczne
Wyrażenia arytmetyczne Do budowania wyrażeń w języku C używa się operatorów jednoargumentowych oraz dwuargumentowych. Podstawowy operator jednoargumentowy to operator zmiany znaku (-), który jest prawostronnie
Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL
Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany
Programowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
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.
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,
JAVAScript w dokumentach HTML (1)
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript
Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
Podstawy Informatyki. Algorytmy i ich poprawność
Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania
Programowanie w języku C++ Grażyna Koba
Programowanie w języku C++ 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 zasad
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0
ĆWICZENIE 1 Klasyczny Rachunek Zdań (KRZ): zdania w sensie logicznym, wartości logiczne, spójniki logiczne, zmienne zdaniowe, tabele prawdziwościowe dla spójników logicznych, formuły, wartościowanie zbioru
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
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
PROLOG. Programmation en Logique. Michał Bereta
PROLOG Programmation en Logique Michał Bereta Programmation en Logique Stworzony w 1971 roku przez Alaina Colmeraurera i Phillipe'a Roussela na Uniwersytecie w Marsylii Podczas pracy nad zastosowaniem
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,
Reprezentacja wiedzy i wnioskowanie
i wnioskowanie Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Wiedza AI to nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie. Inteligentne
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
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
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
Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową
Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.
Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś
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ź
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
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
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI Program wykładów: dr inż. Barbara GŁUT Wstęp do logiki klasycznej: rachunek zdań, rachunek predykatów. Elementy semantyki. Podstawy teorii mnogości
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
0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.
Wykłady z Analizy rzeczywistej i zespolonej w Matematyce stosowanej Wykład ELEMENTY LOGIKI ALGEBRA BOOLE A Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek
Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo
Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy
Zadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Maria Romanowska UDOWODNIJ, ŻE... PRZYKŁADOWE ZADANIA MATURALNE Z MATEMATYKI
Maria Romanowska UDOWODNIJ, ŻE... PRZYKŁADOWE ZADANIA MATURALNE Z MATEMATYKI Matematyka dla liceum ogólnokształcącego i technikum w zakresie podstawowym i rozszerzonym Z E S Z Y T M E T O D Y C Z N Y Miejski
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Programowanie logiczne a negacja
Programowanie logiczne a negacja Adrian Woźniak 12 stycznia 2006r. SPIS TREŚCI Programowanie logiczne a negacja Spis treści 1 Wstęp 2 2 Wnioskowanie negatywnych informacji 2 2.1 Reguła CWA (Closed World
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
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
Alfred N. Whitehead
Plan wykładu Automatyczne dowodzenie twierdzeń Dowodzenie twierdzeń matematycznych Dedukcja Logic Theorist Means-endsends Analysis Rezolucja Programowanie w logice PROLOG Logic Theorist - 1956 Automatyczne
Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.
Logika binarna Logika binarna zajmuje się zmiennymi mogącymi przyjmować dwie wartości dyskretne oraz operacjami mającymi znaczenie logiczne. Dwie wartości jakie mogą te zmienne przyjmować noszą przy tym
Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =
Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,