Prezentacja do pobranie:
|
|
- Zuzanna Piekarska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Prezentacja do pobranie: 1 Prolog programowanie ROZDZIAŁ 1: WPROWADZENIE ROZDZIAŁ 2: PROLOG Z BLISKA NA PODSTAWIE: PROLOG. PROGRAMOWANIE- W. F. CLOCKSIN, C. S. MELLISH AUTOR OPRACOWANIA: BARTŁOMIEJ KAFTAN
2 Instalacja Prologu w środowisku Windows 2 Współcześnie jest dostępnych szereg implementacji Prologu, w tym swobodnie dostępne kompilatory Prologu: Jan Wielemaker, SWI- Prolog, Daniel Diaz, GNU- Prolog,
3 Instalacja Prologu w środowisku Windows 3 Pobieramy plik wykonywalny, i instalujemy środowisko do programowania w języku Prolog: Po zainstalowaniu mamy skrót w menu start z pozytywnie wyglądającą ikonką:
4 Uruchomienie zainstalowanego 4 środowiska: Stwórzmy pierwszą bazę danych, która posłuży nam do wykonanie pierwszych zapytań: Tworzymy plik tekstowy z rozszerzeniem *.pl W jego treści wpiszemy przykładowe dane: Skrypty z rozszerzeniem pl zapisujemy w domyślnym katalogu dla skryptów, będzie to zapewne folder Prolog w katalogu Moje dokumenty.
5 Pierwszy program w Prologu 5 Ładujemy bazę danych poleceniem: [nazwa_pliku bez rozszerzenia pl]. W naszym przypadku [fam]. Pojawi się true w przypadku poprawnego załadowania bazy danych. Następnie wywołujemy polecenie:?- kobieta(x). X = kasia pierwszy wynik, następny wywołamy naciskając średnik. X = eliza kolejny wynik. Wyniki są zgodne z zadaną bazą danych.
6 Podstawowe polecenia 6 Każdą linie kodu kończymy kropką: cd('c:/users/bk/documents/prolog'). pwd. write( Hello World ). Zakończenie pracy w powłoce: halt. Komentarz w skryptach: % treść komentarza jednolinijkowego /* komentarz wielolinijkowy */
7 Podstawowe polecenia 7 Ładowanie bazy do interpretera: [nazwa_pliku]. [ścieżka/nazwa_pliku.pl'] Domyślne miejsce przechowywania baz danych: pwd. sprawdzenie domyślnego miejsca na bazę. cd(ścieżka/do/katalogu'). zadanie nowego miejsca zaciągania baz danych. Wyświetlenie zawartości wczytanej bazy danych: listing. wyświetlenie bazy. listing(predykat). informacja na temat danego predykatu apropos(nazwa) informacje na temat predykatów zawierających zadaną nazwę
8 Podstawowe polecenia 8 Sposoby uzyskania pomocy: help. wyświetla cały manual help(predykat) np. help(write). wyświetli informacje na temat danego predykatu. Narzędzia do edycji skryptów: emasc. uruchamia edytor emacs zwykły notatnik, okno swi-prolog file/edit Operatory:, - operator and ; - operator or
9 Prolog jako język programowania logicznego 9 Programowanie logiczne: - programowanie w logice; - programowanie w języku logiki; Programowanie logiczne, jest to metoda programowania, będąca odmianą programowania deklaratywnego. Programowanie deklaratywne - programista opisuje warunki, jakie musi spełniać końcowe rozwiązanie (co chcemy osiągnąć), a nie szczegółową sekwencję kroków, które do niego prowadzą (jak to zrobić). Programowanie deklaratywne często traktuje programy jako pewne hipotezy wyrażone w logice formalnej, a wykonywanie obliczeń jako ich dowodzenie. Programowanie deklaratywne jest szczególnym przedmiotem zainteresowania naukowców, gdyż dzięki minimalizacji lub eliminacji skutków ubocznych może znacząco uprościć tworzenie programów współbieżnych. Paradygmat programowania deklaratywnego obejmuje szeroką gamę języków programowania i bardziej szczegółowych paradygmatów podrzędnych. Przykładami programowalnych języków deklaratywnych są języki funkcyjne i logiczne takie, jak Ocaml, XSLT czy Prolog.
10 Prolog początki 10 Nazwa języka Prolog pochodzi od francuskiego Programmation en Logique, można to przetłumaczyć jako programowanie w logice. Prolog powstał jako język programowania służący do automatycznej analizy języków naturalnych, jest jednak językiem ogólnego zastosowania, szczególnie dobrze sprawdzającym się w programach związanych ze sztuczną inteligencją. Prolog w przeciwieństwie do większości popularnych języków jest językiem deklaratywnym. Prolog został stworzony w 1971 roku przez Alaina Colmeraurera i Phillipe'a Roussela.
11 Zastosowanie języka Prolog 11 Relacyjne bazy danych, Logika matematyczna, Rozwiązywanie problemów abstrakcyjnych, Przetwarzanie języka naturalnego, Automatyzacja projektowania, Symboliczne rozwiązywanie równań, Analiza struktur biochemicznych, Różne zagadnienia z dziedziny sztucznej inteligencji.
12 Pisanie programów w Prologu 12 Programowanie w prologu nie polega na opisywaniu konkretnych algorytmów, tak jak w tradycyjnych językach programowania. Pisząc programy w Prologu musimy zająć się formalnymi relacjami i obiektami związanymi z zadaną problematyką, sprawdzając prawdziwość poszczególnych relacji, dla zadanego problemu. Programując w Prologu opisujemy znane fakty i relacje dotyczące problemu. Program powinien potrafić w dużej mierze wywnioskować, na podstawie istniejących faktów, o nowych faktach.
13 Obiekty i relacje 13 Przykład 1: Ala ma kota. Ala obiekt, ma relacja posiadania, kot obiekt. Mamy do czynienia z relacją uporządkowaną ponieważ, to Ala ma kota, a nie kot ma Ale. Można to zapisać następująco: posiada(ala,kot). Przykład 2: Piwo jest tanie. Relacja nie musi określać jawnie wszystkich obiektów. W przykładzie mamy relacje bycia tanim, i relacja dotyczy tutaj obiektu piwo. Można to zapisać następująco: tanie(piwo).
14 Obiekt, ale nie programowanie 14 obiektowe Programowanie obiektowe: obiekt jest strukturą danych, która może dziedziczyć pola i metody. Początek programowania obiektowego to lata 6O-te, jednak popularność to lata (języki Smalltalk, C++, Java). Prolog służy do zupełnie innych celów niż języki obiektowe. Definiując obiekt w Prologu mamy na uwadze nie strukturę danych, która może dziedziczyć pola i metody, ale obiekt rozumiemy jako byt, który możemy opisać termami. Ujednolicona struktura danych, term na jej podstawie tworzone są wszystkie dane, oraz programy w Prologu.
15 Program w Prologu 15 Program złożony jest ze zbioru klauzul. Klauzula to fakt opisujący pewną informację. Klauzula to reguła mówiąca, jak rozwiązanie można powiązać z danymi faktami. Do zapisu relacji używamy reguł. Przykład reguły: Dwoje ludzi to siostry, jeśli oboje tychże ludzi to kobiety, oraz oboje tychże ludzi mają tych samych rodziców. Reguła pokazuje jak sprawdzić czy dwie osoby są siostrami sprawdzamy czy obie osoby to kobiety, oraz czy obie osoby mają tych samych rodziców.
16 Programowanie 16 Podstawowe pojęcia: Fakt, Zapytanie, Zmienna, Połączenie, Reguła, Listy, Rekurencje
17 Programowanie 17 Programowanie w Prologu składa się z następujących elementów: Deklarowanie faktów dotyczących obiektów i związków miedzy nimi. Definiowanie reguł dotyczących obiektów i związków miedzy nimi. Zadawania zapytań o obiektach i związkach między nimi. Prolog to zbiór faktów i reguł, które są używane do udzielenia odpowiedzi na zapytanie. Podajemy fakty i reguły, aby program wywnioskował nowe fakty, na podstawie istniejących.
18 Fakty 18 Przykład: Zasady: lubi(adam,ewa). Nazwy relacji i obiektów piszemy z małych liter. W nazwach relacji oraz obiektów nie używamy polskich znaków. Najpierw piszemy relacje, a następnie obiekty rozdzielone przecinkami w nawiasach okrągłych. Fakt musi się kończyć kropką nawiązanie do języka naturalnego. Ważna jest kolejność podawania argumentów, ponieważ to Adam lubi Ewę, co nie oznacza że Ewa lubi Adama, aby to określić musimy podać następny fakt lubi(ewa,adam), lub utworzyć odpowiednią regułę. Jako że nazwy obiektów mogą być wieloznaczne, to programista decyduje jak rozumień daną nazwę.
19 Nazewnictwo 19 Nazwy obiektów występujące w nawiasach nazywamy argumentami. Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem. Podawane nazwy są zupełnie dowolne, ale dobrą praktyką jest przypisywanie nazw dających obraz tego, czego dana nazwa dotyczy. Predykaty mogą mieć maksymalnie 1024 argumenty. Zbiór faktów nazywamy bazą danych. Podobnie zbiór reguł również nazywamy bazą danych.
20 1024 argumenty predykatu 20
21 Zapytania 21 Po utworzeniu bazy danych, możemy zająć się pytaniami. Pytania wyglądają podobnie jak fakty, ale są poprzedzone znakiem zapytania i myślnikiem?-. Przykład zapytania:?- lubi(adam,ewa). Powyższe zapytanie zwróci true jeżeli w bazie danych istnieje fakt lubi(adam,ewa)., oczywiście jeżeli w bazie danych nie ma takiego faktu to zwrócony zostanie false. Jeżeli zapytamy o coś czego nie ma w bazie, w sensie nie ma odpowiedniego predykatu, to otrzymamy informację: ERROR: toplevel: Undefined procedure: cosczegoniema/0 (DWIM could not correct goal) Oznacza to że nasza baza nie zawiera predykatu cosczegoniema, więc nasze zapytanie nie może uzyskać sensownej odpowiedzi.
22 Przykład użycia nieistniejącego predykatu 22
23 Zmienne 23 Zmienne używamy po to, aby nie odpytywać ciągle po kolei o wszystkie interesujące nas kwestie, ale aby zapytać raz, używając właśnie zmiennej, która będzie przechodzić po poszczególnych obiektach. Zmienna może być ukonkretniona lub nieukonkretniona. Zmienna ukonkretniona, odpowiada konkretnemu obiektowi. Zmienna nieukonkretniona, gdy nie wiemy jakiemu obiektowi może odpowiadać. Weźmy zapytanie:?- lubi(x,maria). Przetłumaczymy to jako: Kto lubi Marię. Przyjmijmy, że takimi obiektami będą Piotr oraz Paweł.?- lubi(x,maria). X=piotr X=pawel no po wciśnięciu średnika otrzymamy po raz kolejny wciskamy średnik i otrzymujemy ponieważ nie ma obiektu spełniającego kryteria wyszukiwania.
24 Przykład użycia zmiennej 24 Interpretacja: 2) Pytamy kogo lubi obiekt jan. 3) Pytamy przez kogo lubiany jest obiekt jan. 4) Pytamy kto lubi kogo. Uwaga na wielkość liter, bo jan to obiekt z bazy, a Jan to zmienna, której przyporządkowane są wartości.
25 Koniunkcje, 25 Koniunkcje będą służyć do zadawania bardziej skomplikowanych zapytań. Przykład: czy Paweł i Piotr lubią się wzajemnie? W tej sytuacji należało by zadać dwa odrębne pytania: Czy Paweł lubi Piotra? Czy Piotr lubi Pawła? Gdy obydwie odpowiedzi będą twierdzące, wtedy mamy odpowiedź na pytanie podstawowe, czy Piotr i Paweł lubią się wzajemnie. Do skrócenia takich zapisów używamy koniunkcji. Zapiszemy takie zapytanie w sposób następujący:?- lubi(piotr,pawel), lubi (pawel,piotr). W Prologu spójnik łączący dwa zapytania tj. i zapisujemy za pomocą przecinka. Za pomocą przecinka możemy oddzielić dowolną liczbę zapytań. Całe zapytanie będzie prawdziwe tylko wtedy, gdy wszystkie pod odpowiedzi będą pozytywne.
26 Przykład zastosowania koniunkcji, i dowód na to, że nie wystarczy kogoś lubić, aby też być lubianym 26
27 Bardziej skomplikowane zapytania 27 Przykład: chcemy się dowiedzieć, czy jest coś wspólnego co lubią dwa zadane obiekty.?- lubi(obiekt1,x), lubi(obiekt2,x). Jako rezultat tego zapytania otrzymamy X= (przy założeniu że oba obiekty lubią coś wspólnego. Program najpierw sprawdzi czy jest coś, co lubi obiekt1, a następnie sprawdzi czy to konkretne coś jest lubiane także przez obiekt2. Koniunkcje celów sprawdzamy od strony lewej do prawej.
28 Przykład bardziej skomplikowanego zapytania 28 Przy pierwszym załadowaniu bazy, w bazie nie znajdował się fakt: lubi(piotr,maria).
29 Mechanizm nawracania 29
30 Czy naprawdę Jan i Maria razem 30 lubią wino?
31 Reguły 31 Załóżmy, ze chcemy zapisać fakt, że Piotr lubi wszystkich. Można by tego dokonać wpisując wszystkie fakty po kolej, ale przy zastosowaniu tego sposobu np. do wszystkich ludzi w Polsce byłoby to dość pracochłonne oraz czasochłonne. W Prologu reguł używa się do zapisania, że pewien fakt zależy od grupy innych faktów. Zapiszmy to w języku potocznym: Jan kupuje wino, jeśli jest ono tańsze od piwa. Piotr lubi obiekt, jeśli obiekt jest człowiekiem narodowości polskiej. Kolejny przykład w języku potocznym: X jest siostrą Y, jeśli: X jest kobietą oraz X i Y mają tych samych rodziców. Jest oczywiste, że zmienne X oraz Y w całym zdaniu muszą mieć tę samą wartość, jeśli by tak nie było moglibyśmy dojść do bezsensownych zapisów np.: Anna jest siostrą Marii, jeśli Karolina jest kobietą oraz Monika i Paulina mają tych samych rodziców. Reguła to ogólne stwierdzenie dotyczące obiektów i ich powiązań. Możemy pozwolić, aby miała różne wartości w przypadkach użycia, ale w samej regule musi być interpretowana jednolicie.
32 Reguły 32 W języku Prolog reguła składa się z głowy i treści, połączonych symbolami dwukropka oraz myślnika --> głowa :- treść, oczywiście zakończone kropką: lubi(jan,x) :- lubi(x,wino). Przetłumaczmy tę regułę: Jan lubi X, jeśli X lubi wino. Głową reguły będzie: lubi(jan,x) Treścią reguły będzie: lubi(x,wino) Głowa i treść połączone są za pomocą :- Reguła kończy się kropką. Możemy dodać Janowi bardziej sprecyzowane kryteria poszukiwania sympatii poprzez dodanie kolejnych warunków: lubi(jan,x) :- lubi(x,wino), lubi(x,piwo), lubi(x,ciastka). Reguły zapisujemy w pliku z rozszerzenie.pl w bazie danych.
33 Przykład użycia reguły 33
34 Reguły, przykłady 34 Weźmy zapis o siostrach, przyjmijmy: Dwuargumentowy predykat siostra(x,y) mówiący, że X jest siostrą Y jeżeli: X jest kobietą, Matką X jest M, a ojcem X jest O, Y ma takich samych: matkę i ojca, jak X. Zapiszmy to w postaci reguły: siostra(x,y) :- kobieta(x), rodzice(x,m,o), rodzice(t,m,o). To samo możemy zapisać w jednym wierszu.
35 Reguły, przykłady 35 Rozważmy przykład złodzieja: dana osoba może coś ukraść, jeśli jest złodziejem, i coś lubi bo np. to coś jest wartościowe. Zapiszmy to w Prologu: moze_ukrasc(p,t) :- zlodziej(p), lubi(p,t). P potencjalny złodziej. T kradziona rzecz. /*1*/ zlodziej(jan). /*2*/ lubi(maria, czekolada). /*3*/ lubi(maria,wino). /*4*/ lubi(jan,x) :- lubi(x,wino). /*5*/ moze_ukrasc(x,y) :- zlodziej(x), lubi(x,y). Definicja lubi składa się z 3 klauzul: Dwóch faktów. Jednej reguły.
36 Jan kradnie Marie? 36 Sposób myślenia języka Prolog:?- moze_ukrasc(jan,x). /*1*/ zlodziej(jan). /*2*/ lubi(maria, czekolada). /*3*/ lubi(maria,wino). /*4*/ lubi(jan,x) :- lubi(x,wino). /*5*/ moze_ukrasc(x,y) :- zlodziej(x), lubi(x,y). Aby ukraść cokolwiek, Jan musi być przede wszystkim złodziejem z klauzuli nr 1 wynika że warunek ten jest spełniony, Jan musi lubić to co ma ukraść, bo po co kraść coś czego się nie lubi. Klauzula 4: Jan lubi wszystko to, co lubi wino. Klauzula 3: Maria lubi wino, a więc z klauzuli 4 wiemy, że Jan lubi Marie. Spełnione są obydwa warunki: Jan jest złodziejem oraz Jan lubi Marię. Wynika z tego, że Jan może ukraść Marię.
37 Jan kradnie Marie. 37
38 Prolog z bliska 38 Programy składają się z termów. Term to stała, zmienna lub struktura. Składnia języka Term zapisywany jest jako ciąg znaków, możemy używać następujących znaków: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z ! # $ % & ( ) = - ^ \ { } [ ] _ + : * ; < >.,? / Każdy rodzaj termu: stałe, zmienne oraz struktury rządzą się innymi zasadami ich tworzenia.
39 Stałe pierwszy rodzaj termów. 39 Stałe nazywają konkretne obiekty i konkretne relacje. Rodzaje stałych: atom: np. lubi, maria, ksiazka, moze_ukrasc, `?-` symbol pytań, `:-` symbol reguł. liczby np. -17, -2e2, 33.33, , 3.33e-20 Atomy dzielimy na: Składające się z liter i liczb, Składające się z symboli. Jeśli atom ujęty zostanie w pojedynczy apostrof może zawierać dowolne znaki, może się także zaczynać z dużej litery np. `jan_kowalski`, `jan-kowalski, `Jan_Kowalski`
40 Zmienne drugi rodzaj termów. 40 Zmienne mają postać atomów, ale zaczynają się wielką literą, albo podkreśleniem. Zmienna to inaczej zastępstwo dla danych obiektów. Przykłady nazewnictwa zmiennych: X,Y,Z Odpowiedz, Imie, Nazwisko Bardzo_opisowa_nazwa_zmiennej _zmienna Zmienna anonimowa: oznaczana pojedynczym podkreśleniem _?- lubi(_,piotr). Zmiennych anonimowych używamy wtedy, gdy nazwa zmiennej nie ma znaczenia. Stosuje się je po to, aby nie wymyślać nazw dla zmiennych, które i tak nie zostaną nigdzie dalej wykorzystane.
41 Przykład użycia zmiennych 41
42 Struktury trzeci rodzaj termów. Struktury nazywamy termami złożonymi. Struktura to pojedynczy obiekt, składający się z zestawu innych obiektów. Te inne obiekty nazywamy składnikami struktury. Składniki struktury są pogrupowane w strukturę. W prologu strukturę zapisujemy podając funktor oraz jego składniki. posiada(piotr,ksiazka(pan_tadeusz,mickiewicz)). Wewnątrz faktu posiada mamy strukturę książka, mającą dwa składniki: tytuł i autora. posiada(piotr,ksiazka(pan_tadeusz,autor(adam,mickiewicz))). 42 Jak widać elementem struktury, może był kolejna struktura, w tym przypadku struktura autor. posiada(piotr,ksiazka(x,autor(adam,y))). Struktury mogą być wykorzystywane w zapytaniach i zawierać zmienne. Gdy odpowiedź będzie twierdząca zmienna X zostanie skonkretyzowana tytułem książki, a zmienna Y przyjmie wartość nazwiska autora, przy założeniu że ma on na imię adam. Składnia struktur i faktów jest taka sama. Predykat (w faktach i regułach) jest funktorem struktury. Argumenty (w faktach i regułach) są składnikami struktury
43 Przykład użycia struktury 43
44 Operatory 44 Funktory możemy zapisywać jako operatory, dla zwiększenia czytelnmości programów. Łatwiej jest zapisać * 2 niżli: +(2, *(2,2)), choć obydwa zapisy znaczą zupełnie to samo. Operatory nie powodują wykonanie obliczeń, dla Prologu nie oznacza 2, lecz oznacza +(1,1). O operatorach musimy znać: Ich położenie. Priorytet. Łączność.
45 Operatory +, -, *, / 45 Są to operatory infiksowe (zapisywane są między swoimi argumentami). Aby używać operatorów, trzeba ustalić reguły dotyczące kolejności wykonywania operacji tzw. priorytety. Operatory w prologu mają klasę priorytetu. Klasa priorytety to odpowiednia liczba całkowita, im ta liczba mniejsza, tym priorytet większy. Łączność operatorów: Łączność lewostronna. Łączność prawostronna. Operatory arytmetyczne posiadają łączność lewostronną, dlatego 4/4/2 jest interpretowane jako (4/4)/2 Aby wymusić obliczenie możemy zastosować zapis: X is wyrażenie do wyliczenia.?- X is 2+2*2.
46 Równość i unifikacja 46 Predykat równości, infiksowy operator zapisywany jako =?- X = Y. Unifikacja to próba uczynniania X i Y równymi. Predykat równości jest wbudowany (jest z góry zdefiniowany w Prologu). Struktury są sobie równe, gdy mają taki sam funktor, taką samą liczbę składników, a odpowiadające sobie składniki są sobie równe.
47 Arytmetyka Predykaty do porównywania liczb: 47
48 Arytmetyka a obliczenie 48
49 Operator infiksowy is 49 Jego prawy argument jest termem, który jest zinterpretowany jako wyrażenie arytmetyczne. Wynik wyrażenia arytmetycznego po prawej jest dopasowywany do lewego argumentu. Wszystkie wartości wyrażenia po prawej muszą być znane. P/A to zwykła struktura, natomiast jest traktowana jako wyrażenie arytmetyczne, dlatego że stoi po prawej stronie operatora is. Wartość wyrażenia zostaje przyporządkowana do zmiennej Y.
50 Prawa strona wyrażenia is 50 Po prawej stronie możemy użyć następujących wyrażeń. X + Y X Y X * Y X / Y X // Y całkowity iloraz X przez Y X mod Y reszta z dzielenia X przez Y oraz najróżniejszych ich kombinacji.
51 Podsumowanie 51 Programista w języku Prolog zadaje pytania, na które zgodnie z załączoną bazą wiedzy uzyskuje odpowiedź. Zapytanie to koniunkcja celów jakie mają być spełnione. Zgodność z faktem spełnia zapytanie od razu. Reguła pozwala zadania spełniać stopniowo, poprzez spełnienie koniunkcji jej składowych celów. Gdy nie można spełnić klauzuli uruchamiany jest proces nawracania. Nawracanie to przeglądanie dotąd zrealizowanego programu i próba ponownego spełnienia celu przez znalezienie alternatywnego rozwiązania. Po udzieleniu odpowiedzi możemy ponownie wymusić proces nawracania poprzez wciśnięcie średnika.
52 Zadanie 1. Napisz bazę zad1.pl w taki sposób, aby poniższe zapytania zwróciły następujące wyniki. 52
53 Zadanie Napisz bazę zad2.pl w taki sposób, aby poniższe zapytania zwróciły następujące wyniki. Podczas pisania bazy zdecydowany zakaz używania faktów typu: Można użyć: lubi(imie,imie). lubi(imie,imie). lubi(imie,imie).
54 Zadanie 3. Dane jest drzewo obrazujące relacje ojciec syn: 54 Zdefiniuj fakty ojciec(a, b) oraz reguły: dziadek (X,Y), syn(x,y), brat(x,y) bazujące na faktach ojciec(x,y). Fakty i reguły zapisz do pliku zad3.pl ojciec(x,y) oznacza X jest ojcem Y. dziadek(x,y) oznacza X jest dziadkiem Y. syn(x,y) oznacza X jest synem Y. brat(x,y) oznacza X jest bratem Y.
55 Zadanie Utwórz plik zad4.pl zawierający regułę oblicz zawierającą 5 argumentów z czego ostatni pomniejszony o połowę powinien być równy sumie pierwszego i drugiego argumentu, wymnożonej przez trzeci argument, podzielonej przez czwarty argument. oblicz(10,2,3,2,9). ma zwrócić true. oblicz(15,2,3,2,12.75). ma zwrócić true. oblicz(11,2,3,0,9). ma zwrócić: ERROR: //2: Arithmetic: evaluation error: `zero_divisor' oblicz(10,10,10,10,10). ma zwrócić true. oblicz(17,10,10,10,10). ma zwrócić false.
56 Zadanie 5. Baza => baza5.pl Napisz reguły: a(x) Wypisz imiona wszystkich kierowców, którzy poruszają się samochodami o mocy powyżej 180 koni mechanicznych. b(x) Wypisz imiona wszystkich kierowców, którzy poruszają się samochodami o mocy powyżej 180 koni mechanicznych, i poniżej 205 koni mechanicznych, o nadwoziu sedan. c Wypisz imię kierowcy, rozmiar opony, moc, rodzaj nadwozia w następującym formacie: Kierowca = Kolor = Opona = Moc = Nadwozie = Ale nie wypisuj pojazdów w nadwoziu sedan, oraz o mocy od 170 do 210 koni mechanicznych. Rozmiar opony niech będzie nie większy niż 16 cali. 56
57 Baza do zadania nr 5 57 kierowca(piotr,samochod(silnik(100,benzyna),nadwozie(hatchback,zielony),ogumienie(14,zimowe))). kierowca(adam,samochod(silnik(110,diesel),nadwozie(kombi,zielony),ogumienie(16,letnie))). kierowca(piotr,samochod(silnik(120,benzyna),nadwozie(sedan,zielony),ogumienie(17,letnie))). kierowca(michal,samochod(silnik(130,diesel),nadwozie(hatchback,zielony),ogumienie(18,zimowe))). kierowca(karol,samochod(silnik(140,benzyna),nadwozie(kombi,zielony),ogumienie(19,letnie))). kierowca(karolina,samochod(silnik(150,diesel),nadwozie(sedan,zielony),ogumienie(20,zimowe))). kierowca(pawel,samochod(silnik(160,benzyna),nadwozie(hatchback,zielony),ogumienie(13,letnie))). kierowca(teresa,samochod(silnik(170,diesel),nadwozie(sedan,zielony),ogumienie(16,zimowe))). kierowca(aleksandra,samochod(silnik(180,benzyna),nadwozie(kombi,zielony),ogumienie(18,zimowe))). kierowca(beata,samochod(silnik(190,diesel),nadwozie(hatchback,zielony),ogumienie(15,letnie))). kierowca(agnieszka,samochod(silnik(200,benzyna),nadwozie(sedan,zielony),ogumienie(16,letnie))). kierowca(anna,samochod(silnik(300,diesel),nadwozie(kombi,zielony),ogumienie(17,zimowe))). kierowca(karina,samochod(silnik(400,diesel),nadwozie(hatchback,zielony),ogumienie(18,letnie))). kierowca(zbigniew,samochod(silnik(500,benzyna),nadwozie(sedan,zielony),ogumienie(19,zimowe))).
58 Dziękuj 58
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,
Bardziej szczegółowoPROLOG. 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,
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoWprowadzenie 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
Bardziej szczegółowoLaboratorium 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
Bardziej szczegółowoPODSTAWY 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
Bardziej szczegółowoProlog (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
Bardziej szczegółowoCelem ć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
Bardziej szczegółowoDeklarowania 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
Bardziej szczegółowoProjekt 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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoJę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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoJę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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoParadygmaty 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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoProgramowanie 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ć
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoProgramowanie 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]
Bardziej szczegółowoProlog 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,
Bardziej szczegółowo5.2. Pierwsze kroki z bazami danych
5.2. Pierwsze kroki z bazami danych Uruchamianie programu Podobnie jak inne programy, OO Base uruchamiamy z Menu Start, poprzez zakładkę Wszystkie programy, gdzie znajduje się folder OpenOffice.org 2.2,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoCw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Bardziej szczegółowoElżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Bardziej szczegółowoJę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
Bardziej szczegółowoDefinicje. 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
Bardziej szczegółowoJAVAScript 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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoPo 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
Bardziej szczegółowoJAVAScript 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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoWprowadzenie 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
Bardziej szczegółowoInstrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Bardziej szczegółowoJęzyki programowania Prolog
1. Środowisko ECL i PS e Języki programowania Prolog zadanie projektowe nr. 3 (2016/17) T. Goluch W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem: http://eclipseclp.org/.
Bardziej szczegółowoopisuje 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
Bardziej szczegółowoWskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Bardziej szczegółowoWykł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:
Bardziej szczegółowoSQL - 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
Bardziej szczegółowoC++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoTablice (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
Bardziej szczegółowoKlasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Bardziej szczegółowoPowtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy
Bardziej szczegółowoPROLOG 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
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoProgramowanie 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). ------------------------------------------------------------------------
Bardziej szczegółowoAlgorytmika i Programowanie VBA 1 - podstawy
Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy
Bardziej szczegółowoOdczyt danych z klawiatury Operatory w Javie
Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje
Bardziej szczegółowoWYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
Bardziej szczegółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowoZawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6
Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki
Bardziej szczegółowoProgramowanie. 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
Bardziej szczegółowoNazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.
Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać
Bardziej szczegółowoKwerendy (zapytania) wybierające
Access 2. Kwerendy (zapytania) wybierające Kwerendy wybierające (nazywane też zapytaniami wybierającymi) są podstawowymi obiektami w MS Access służącymi do wyszukiwania danych w tabelach. W wyniku uruchomienia
Bardziej szczegółowoUkłady VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoSPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD
Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości
Bardziej szczegółowoMakropolecenia w Excelu
Makropolecenia w Excelu Trochę teorii Makropolecenie w skrócie nazywane makro ma za zadanie automatyczne wykonanie powtarzających się po sobie określonych czynności. Na przykładzie arkusza kalkulacyjnego
Bardziej szczegółowoWykł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
Bardziej szczegółowoLOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
Bardziej szczegółowoObiektowy 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ć,
Bardziej szczegółowoAlgorytm. 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
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoJak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Bardziej szczegółowoPrzestrzenne 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
Bardziej szczegółowoPracownia 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
Bardziej szczegółowoTemat : SBQL 1 obiektowy język zapytań.
Laboratorium Języki i środowiska przetwarzania danych rozproszonych Temat : SBQL 1 obiektowy język zapytań. Historia zmian Data Wersja Autor Opis zmian 23.4.2012 1.0 Tomasz Kowalski Utworzenie dokumentu
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Bardziej szczegółowoPolcode Code Contest PHP-10.09
Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania
Bardziej szczegółowoAlgorytm. Algorytmy Marek Pudełko
Algorytm Algorytmy Marek Pudełko Definicja Algorytm to skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Algorytm ma przeprowadzić system z pewnego
Bardziej szczegółowo5.4. Tworzymy formularze
5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania
Bardziej szczegółowoPrzeszukiwanie 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
Bardziej szczegółowoWarto 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ś
Bardziej szczegółowoDariusz 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.
Bardziej szczegółowoOperacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.
Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach
Bardziej szczegółowoSystem operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania
Bardziej szczegółowo1. Wypisywanie danych
1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout
Bardziej szczegółowoznajdował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
Bardziej szczegółowoAdministracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoPrzykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym
S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu
Bardziej szczegółowoProlog. Programowanie
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Prolog. Programowanie Autorzy: W. F. Clocksin, C. S. Mellish T³umaczenie: Tomasz mijewski ISBN: 83-7197-918-5
Bardziej szczegółowoLaboratorium 1 - Programowanie proceduralne i obiektowe
Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?
Bardziej szczegółowoTemat 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,
Bardziej szczegółowoBazy 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.
Bardziej szczegółowoIntegracja sklepu internetowego z serwisem aukcyjnym Swistak.pl
Integracja sklepu internetowego z serwisem aukcyjnym Swistak.pl email: swistak@swistak.pl Spis treści 1. Wstęp...2 2. Import oferty...2 3. Plik CSV...3 4. Przykład pliku...7 5. Aktualizacja oferty...7
Bardziej szczegółowoJęzyk skryptowy: Laboratorium 1. Wprowadzenie do języka Python
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za
Bardziej szczegółowoPrzykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1
Rachunek Prawdopodobieństwa i Statystyka lab 3. Kaja Gutowska (Kaja.Gutowska@cs.put.poznan.pl) 1. Funkcje: - Funkcje nie powinny korzystać ze zmiennych globalnych. - Funkcje powinny być możliwie krótkie.
Bardziej szczegółowoWprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2
Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoMETODY 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ę
Bardziej szczegółowoDana 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,
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoSystemy 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
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoJę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 -
Bardziej szczegółowo