Projekt 4: Programowanie w logice

Wielkość: px
Rozpocząć pokaz od strony:

Download "Projekt 4: Programowanie w logice"

Transkrypt

1 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 Po zainstalowaniu środowiska będziemy mieli dostępne dwie jego wersje: konsolową (dla systemu Windows jest to <kataloginstalacji>\lib\i386_nt\eclipse.exe) i graficzną (TkEclipse). Po utworzeniu pliku z programem (w ulubionym edytorze lub przy pomocy File->Edit new) możemy go skompilować poleceniem File->Compile lub wpisując [<nazwa-pliku-bez-rozszerzenia>]. w polu Query Entry (w tym wypadku plik powinien mieć rozszerzenie.pl i znajdować się w bieżącym katalogu). Zapytania wpisujemy w polu Query Entry. Programowanie w logice Program w języku PROLOG składa się z zestawu definicji klauzul. Najprostsza definicja klauzuli p/1 (1 oznacza liczbę parametrów klauzuli) ma postać: p(1). Oznacza ona, że klauzula ta jest spełniona dla parametru równego 1 (i tylko dla takiego). Jeżeli teraz wykonamy zapytanie: p(x). otrzymamy odpowiedź: X = 1 Yes Po zadaniu zapytania PROLOG przegląda wszystkie zdefiniowane klauzule i próbuje dopasować do nich zapytanie. Na przykład, gdy p jest spełnione dla 1 i 2: p(1). p(2). > p(x) X = 1 \\ Yes, maybe more X = 2 \\ Yes, maybe more Ogólna definicja klauzuli ma postać: predykat(zmienne) :- cel.

2 i oznacza, że klauzula dla zmiennych Zmienne jest spełniona, jeżeli spełniony jest cel, przy czym cel jest listą pod-celi połączonych koniunkcją (w postaci cel-1, cel- 2,, cel-n) lub alternatywą (w postaci (cel-1; cel-2; ; cel-n)). Np. klauzula: q( 0,0 ). q( X,Y ) :- X > 0, T is X 1, q( T,Y ). jest spełniona dla parametrów 0,0 oraz dla wszystkich X,Y takich, że q( X-1,Y ) jest spełnione. Do obliczenia wartości wyrażenia potrzebna jest klauzula is/2. W przeciwnym wypadku zmiennej logicznej T zostałoby przypisane wyrażenie symboliczne X 1. Klauzule postaci p(x). (tzn. z pustą listą celów) nazywamy faktami, pozostałe klauzule regułami. Zadajmy teraz zapytanie q( 7,0 ). Nie udało się go dopasować do pierwszej klauzuli, jednak dopasowanie do drugiej powiedzie się: zmienna X zostanie związana z wartością 7, Y zaś z zerem, po czym nastąpi sprawdzenie prawdziwości pod-celi. Pierwsze dwa są spełnione. Aby sprawdzić prawdziwość trzeciego pod-celu, należy sprawdzić, czy p( 6,0 ) jest prawdziwe. Nastąpi ponowna próba dopasowania zapytania (tym razem p( 6,0 )). Będzie ono prawdziwe, jeżeli prawdziwe będzie p( 5,0 ) itd., aż do zapytania p( 0,0 ), które jest prawdziwe z definicji (pierwszy fakt). Listy W PROLOGu często wykonujemy operacje na listach. Lista jest uporządkowanym ciągiem elementów zawartych między nawiasami kwadratowymi i rozdzielonych przecinkami, np.: [ 1,2,3,5 ]. Szczególnym przypadkiem jest pusta lista, oznaczana przy pomocy []. Każda niepusta lista skonstruowana jest z głowy (pierwszego elementu) i ogona (listy pozostałych elementów, potencjalnie pustej). Konstrukcja listy z głowy H i ogona T ma postać [H T]. Zatem lista [ 1,2,3 ] może być zapisana na jeden z równoważnych sposobów: [ 1,2,3 ] [1 [ 2,3 ]] [1 [2 [3]]] [1 [2 [3 []]]] Przykładowy predykat, wyznaczający długość listy ma postać: dlugosc( [],0 ). dlugosc( [_ T],L ) :- dlugosc( T,P ), L is P + 1. czyli długością pustej listy jest zero, zaś lista niepusta ma długość o jeden większą niż długość jej ogona. _ oznacza, że głowy listy nie wiążemy z żadną zmienną logiczną. Kolejny przykład dołączenie jednej listy na koniec drugiej: dolacz( [],L,L ). dolacz( [H T],L,[H X] ) :- dolacz( T,L,X ).

3 Lista L dołączona do pustej listy daje listę L. Lista L dołączona na koniec listy składającej się z głowy H i ogona T tworzy listę zbudowaną z głowy H i ogona X będącego wynikiem dołączenia na koniec T listy L. Kolejny przykład sprawdzenie, czy X jest równy jednemu z elementów listy: nalezy( X,[X _] ). nalezy( X,[H T] ) :- nalezy( X,T ). Komentarze Komentarze w PROLOGu zawarte są pomiędzy /* i */ (jak w C) lub pomiędzy % a końcem linii, np.: p(1). /* to jest komentarz */ p(2). % to tez jest komentarz Programowanie z ograniczeniami Aby wykorzystać programowanie z ograniczeniami, należy zaimportować bibliotekę ic, przy pomocy polecenia (podanego na początku programu): :- lib(ic). Typowe rozwiązanie problemu przy użyciu CLP ma postać: rozwiaz(zmienne):- wczytaj_dane(dane), ustaw_ograniczenia( Dane,Zmienne ), labeling(zmienne). gdzie ustaw_ograniczenia/2 definiuje model problemu. Predykat labeling/1 próbuje znaleźć rozwiązania sprawdzając wszystkie podstawienia dla zmiennych. Rozważmy następujący problem, w którym mamy 8 zmiennych: S, E, N, D, M, O, R, Y, każda z nich oznacza inną cyfrę, oraz spełniona jest równość: S E N D + M O R E = M O N E Y Rozwiązanie tego problemu będzie miało postać: :- lib(ic). model(zmienne) :- Zmienne = [ S,E,N,D,M,O,R,Y ], Zmienne :: 0..9, alldifferent(zmienne), S #\= 0, M #\= 0, 1000 * S * E + 10 * N + D * M * O + 10 * R + E #= * M * O * N + 10 * E + Y. rozwiaz(zmienne) :- model(zmienne), labeling(zmienne).

4 Predykat model najpierw tworzy listę zmiennych w naszym problemie. W drugim kroku przypisujemy wszystkim zmiennym (przy pomocy predykatu ::/2) jako domenę zbiór liczb naturalnych z przedziału <0, 9>. Aby stworzyć domenę będącą podzbiorem liczb rzeczywistych, przedział 0..9 należałoby zmienić na lub użyć predykatu $::/2. W następnej linii określamy, że wszystkie zmienne muszą być różne. Na koniec stwierdzamy że ani S ani M nie mogą być równe zero (ograniczenia wyrażone operatorami porównania tworzy się dodając znak # przed operatorem) oraz opisujemy nasze równanie. Zadania 1. Zaimplementuj predykat czy_posortowane( lista,odp ), stwierdzający, czy lista jest uporządkowana rosnąco (1 pkt.). Np.: > czy_posortowane( [1,2,3],ODP ) ODP = T > czy_posortowane( [6,2,3],ODP ) ODP = N 2. Zaimplementuj predykat czy_graficzny( lista,odp ), stwierdzający, czy lista tworzy ciąg graficzny (2.5 pkt.). 3. W wariancie gry Nim mamy 3 stosy kamieni. Dwóch graczy na przemian zdejmuje kamienie ze stosów i ten który wykona ostatni ruch (po jego ruchu nie zostaną żadne kamienie, lub drugi gracz nie może wykonać dozwolonego ruchu) przegrywa. Zaimplementuj predykat czy_( A,B,C ) stwierdzający, czy gracz, który wykonuje ruch dla odpowiednio A, B i C kamieni na stosach ma strategię jącą. (4 pkt). Dozwolone ruchy dla graczy to (według ostatniej cyfry numeru indeksu): 0) zdjęcie jednego lub dwóch kamieni z dowolnego stosu, 1) zdjęcie dwóch lub trzech kamieni z dowolnego stosu, 2) zdjęcie jednego kamienia z dowolnego stosu lub dwóch kamieni z różnych stosów, 3) zdjęcie jednego kamienia z dowolnego stosu i jednego kamienia z pierwszego stosu lub dwóch kamieni z dowolnego stosu, 4) zdjęcie po jednym kamieniu z każdego stosu lub zdjęcie dwóch kamieni z dowolnego stosu, 5) zdjęcie dwóch kamieni z drugiego stosu lub jednego kamienia z dowolnego stosu, 6) zdjęcie jednego kamienia z dowolnego stosu i przełożenie jednego kamienia ze stosu pierwszego na drugi lub zdjęcie dwóch kamieni z dowolnego stosu, 7) zdjęcie jednego kamienia z dowolnego stosu i przełożenie dwóch kamieni ze stosu pierwszego na trzeci lub zdjęcie dwóch kamieni z dowolnego stosu, 8) przełożenie jednego kamienia z pierwszego stosu na drugi i zdjęcie po jednym kamieniu z każdego stosu lub zdjęcie dwóch kamieni z drugiego stosu,

5 9) zamiana miejscami stosów drugiego i trzeciego i zdjęcie jednego kamienia ze stosu pierwszego, lub zdjęcie jednego kamienia z dowolnego stosu i jednego ze stosu trzeciego. Gracz A ma strategię jącą, gdy niezależnie od ruchów przeciwnika, odpowiednio wybierając posunięcia, zawsze wygra. Dla danego układu kamieni gracz A może przejść do takiego układu, że niezależnie od tego, jaki ruch wybierze gracz B, gracz A wygra. Sytuację taką można przedstawić w postaci drzewa (Si to kolejne stany gry): S1 gracz A lub i S2 gracz B S3 gracz B S4 gracz B S5 gracz A S6 gracz A S7 gracz A lub S8 gracz B S9 gracz B S10 gracz B Gdy gracz A wykonuje ruch, wystarczy, że tylko jeden z nich prowadzi do wygranej (LUB). Gdy gracz B wykonuje ruch wszystkie jego ruchy muszą prowadzić do wygranej A (AND; gdyby było inaczej, B mógłby przejść do stanu gry, w którym A nie ). Literatura ECL i PS e A Tutorial Introduction ( ECL i PS e User Manual (

Języki programowania Prolog

Ję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ółowo

Programowanie w logice

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ółowo

Programowanie w logice Prolog 2

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]

Bardziej szczegółowo

Paradygmaty programowania

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

Bardziej szczegółowo

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych. I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych. 1. Elementy logiki matematycznej. 1.1. Rachunek zdań. Definicja 1.1. Zdaniem logicznym nazywamy zdanie gramatyczne

Bardziej szczegółowo

Programowanie deklaratywne

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

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA 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ółowo

Elementy logiki matematycznej

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

Bardziej szczegółowo

PROLOG. Prolog. Programowanie, W.F. Clocksin, C.S. Mellish, HELION Prolog, język sztucznej inteligencji, Eugeniusz Gatnar, Katarzyna Stąpor, Wyd.

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,

Bardziej szczegółowo

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.3 Treść wykładu NuSMV NuSMV symboliczny

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych i dynamicznych, symulacji procesów, przekształceń i obliczeń symbolicznych

Bardziej szczegółowo

PODSTAWY SZTUCZNEJ INTELIGENCJI

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

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

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

Bardziej szczegółowo

CLP Programowanie logiczne z ograniczeniami.

CLP Programowanie logiczne z ograniczeniami. CLP Programowanie logiczne z ograniczeniami. Wstęp Programowanie z ograniczeniami (Constraint Programming CP) stało się w ostatnich latach popularnym sposobem modelowania i rozwiązywania wielu problemów

Bardziej szczegółowo

Pole wielokąta. Wejście. Wyjście. Przykład

Pole wielokąta. Wejście. Wyjście. Przykład Pole wielokąta Liczba punktów: 60 Limit czasu: 1-3s Limit pamięci: 26MB Oblicz pole wielokąta wypukłego. Wielokąt wypukły jest to wielokąt, który dla dowolnych jego dwóch punktów zawiera również odcinek

Bardziej szczegółowo

Kwerendy (zapytania) wybierające

Kwerendy (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ółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof

Bardziej szczegółowo

ROZDZIAŁ 1. Rachunek funkcyjny

ROZDZIAŁ 1. Rachunek funkcyjny ROZDZIAŁ 1 Rachunek funkcyjny Niech X 1,..., X n będą dowolnymi zbiorami. Wyrażenie (formułę) ϕ(x 1,..., x n ), w którym występuje n zmiennych x 1,..., x n i które zamienia się w zdanie logiczne, gdy zamiast

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

Programowanie deklaratywne

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

Bardziej szczegółowo

4. Funkcje. Przykłady

4. 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ółowo

Przestrzenie liniowe

Przestrzenie liniowe Rozdział 4 Przestrzenie liniowe 4.1. Działania zewnętrzne Niech X oraz F będą dwoma zbiorami niepustymi. Dowolną funkcję D : F X X nazywamy działaniem zewnętrznym w zbiorze X nad zbiorem F. Przykład 4.1.

Bardziej szczegółowo

Teoria gier. Jakub Cisło. Programowanie z pasją maja 2019

Teoria gier. Jakub Cisło. Programowanie z pasją maja 2019 Teoria gier Jakub Cisło Programowanie z pasją http://programowaniezpasja.pl jakub@programowaniezpasja.pl 10 maja 2019 Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 1 / 18 Plan wykładu 1

Bardziej szczegółowo

f (x)=mx 2 +(2m 2)x+m+1 ma co najmniej jedno

f (x)=mx 2 +(2m 2)x+m+1 ma co najmniej jedno Zadanie 1 x 2 2mx+4m 3=0 ma dwa różne pierwiastki? Odp: m ( ; 1) (3 ; ) Zadanie 2 mx 2 +(2m 2) x+m+1=0 ma dwa różne pierwiastki? Odp: m ( ;0) (0; 1 3 ) Zadanie 3 ma jeden pierwiastek? Odp: m = -2, m =

Bardziej szczegółowo

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

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

Bardziej szczegółowo

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2 Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń

Bardziej szczegółowo

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi. Logika Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi. Często słowu "logika" nadaje się szersze znaczenie niż temu o czym będzie poniżej: np. mówi się "logiczne myślenie"

Bardziej szczegółowo

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} }, nazywa- Definicja 1. Przestrzenią liniową R n my zbiór wektorów R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} }, z określonymi działaniami dodawania wektorów i mnożenia wektorów przez liczby rzeczywiste.

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

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

Bardziej szczegółowo

BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH

BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH WSTĘP Zbiór liczb całkowitych można definiować na różne sposoby. Jednym ze sposobów określania zbioru liczb całkowitych jest

Bardziej szczegółowo

Programowanie w Logice

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

Bardziej szczegółowo

Arytmetyka liczb binarnych

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

Bardziej szczegółowo

Programowanie deklaratywne

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

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ć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

Bardziej szczegółowo

1 Podstawowe oznaczenia

1 Podstawowe oznaczenia Poniżej mogą Państwo znaleźć skondensowane wiadomości z wykładu. Należy je traktować jako przegląd pojęć, które pojawiły się na wykładzie. Materiały te nie są w pełni tożsame z tym co pojawia się na wykładzie.

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

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

Bardziej szczegółowo

Wprowadzenie do programu Mathcad 15 cz. 1

Wprowadzenie do programu Mathcad 15 cz. 1 Wpisywanie tekstu Wprowadzenie do programu Mathcad 15 cz. 1 Domyślnie, Mathcad traktuje wpisywany tekst jako wyrażenia matematyczne. Do trybu tekstowego można przejść na dwa sposoby: Zaczynając wpisywanie

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

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

Bardziej szczegółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

Wprowadzenie do Prologa

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

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

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

Bardziej szczegółowo

Definicje wyższego poziomu

Definicje wyższego poziomu Definicje wyższego poziomu Interpreter Scheme-a nie będzie narzekad w przypadku wystąpienia niezdefionowanej zmiennej w ciele wyrażenia lambda dopóki nie będzie zastosowana Przykład braku informacji o

Bardziej szczegółowo

Laboratorium przedmiotu Paradygmaty Programowania

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

Bardziej szczegółowo

Algorytm. a programowanie -

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

Bardziej szczegółowo

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 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ółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

Bardziej szczegółowo

Semantyka rachunku predykatów

Semantyka rachunku predykatów Relacje Interpretacja Wartość Spełnialność Logika obliczeniowa Instytut Informatyki Relacje Interpretacja Wartość Plan Plan Relacje O co chodzi? Znaczenie w logice Relacje 3 Interpretacja i wartościowanie

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

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:

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

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

Bardziej szczegółowo

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach: Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 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ółowo

WYRAŻENIA ALGEBRAICZNE

WYRAŻ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ółowo

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi: 1 Elementy logiki W logice zdaniem nazywamy wypowiedź oznajmującą, która (w ramach danej nauki) jest albo prawdziwa, albo fałszywa. Tak więc zdanie może mieć jedną z dwóch wartości logicznych. Prawdziwość

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

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 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

Bardziej szczegółowo

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany. Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często

Bardziej szczegółowo

Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Podstawowe algorytmy przetwarzania tablic (wypełnianie, porównywanie elementów,

Bardziej szczegółowo

Programowanie w Logice Struktury danych (Lista 2)

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

Bardziej szczegółowo

Definicja i własności wartości bezwzględnej.

Definicja i własności wartości bezwzględnej. Równania i nierówności z wartością bezwzględną. Rozwiązywanie układów dwóch (trzech) równań z dwiema (trzema) niewiadomymi. Układy równań liniowych z parametrem, analiza rozwiązań. Definicja i własności

Bardziej szczegółowo

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych.

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych. Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych, pod warunkiem, że

Bardziej szczegółowo

Programowanie w Logice Przykłady programów. Przemysław Kobylański

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 ;

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

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ć,

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą

Bardziej szczegółowo

12.Rozwiązywanie równań i nierówności liniowych oraz ich układów.

12.Rozwiązywanie równań i nierówności liniowych oraz ich układów. matematyka /.Rozwiązywanie równań i nierówności liniowych oraz ich układów. I. Przypomnij sobie:. Co to jest równanie /nierówność? Rodzaje nierówności. Ogólnie: Równaniem nazywamy dwa wyrażenia algebraiczne

Bardziej szczegółowo

1 Całki funkcji wymiernych

1 Całki funkcji wymiernych Całki funkcji wymiernych Definicja. Funkcją wymierną nazywamy iloraz dwóch wielomianów. Całka funkcji wymiernej jest więc postaci: W (x) W (x) = an x n + a n x n +... + a x + a 0 b m x m + b m x m +...

Bardziej szczegółowo

Prolog (Pro-Logic) Programowanie w Logice. Dr inż. Piotr Urbanek

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

Bardziej szczegółowo

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

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

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 6

Języki formalne i automaty Ćwiczenia 6 Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Wprowadzenie do Pythona podstawowe informacje Python to język programowania wysokiego poziomu,

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

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

Bardziej szczegółowo

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c FUNKCJA KWADRATOWA 1. Definicje i przydatne wzory DEFINICJA 1. Funkcja kwadratowa lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax + bx + c taką, że a, b, c R oraz a 0. Powyższe wyrażenie

Bardziej szczegółowo

2. DZIAŁANIA NA WIELOMIANACH

2. DZIAŁANIA NA WIELOMIANACH WIELOMIANY 1. Stopieo wielomianu. Działania na wielomianach 2. Równość wielomianów. 3. Pierwiastek wielomianu. Rozkład wielomianu na czynniki 4. Równania wielomianowe. 1.STOPIEŃ WIELOMIANU Wielomian to

Bardziej szczegółowo

Podstawy Informatyki. Algorytmy i ich poprawność

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

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

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

Bardziej szczegółowo

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.4 Treść wykładu NuSMV NuSMV symboliczny

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elż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ółowo

Języki programowania deklaratywnego

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

Bardziej szczegółowo

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Minimalizacja funkcji logicznych.

Bardziej szczegółowo

Podstawowe struktury algebraiczne

Podstawowe struktury algebraiczne Maciej Grzesiak Podstawowe struktury algebraiczne 1. Wprowadzenie Przedmiotem algebry było niegdyś przede wszystkim rozwiązywanie równań. Obecnie algebra staje się coraz bardziej nauką o systemach matematycznych.

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując

Bardziej szczegółowo

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający

Bardziej szczegółowo

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi. Grupy. Permutacje 1 1 Definicja grupy Niech G będzie zbiorem. Działaniem na zbiorze G nazywamy odwzorowanie (oznaczane, jak mnożenie, przez ) przyporządkowujące każdej parze uporządkowanej (a, b) G G element

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

zdarzenie losowe - zdarzenie którego przebiegu czy wyniku nie da się przewidzieć na pewno.

zdarzenie losowe - zdarzenie którego przebiegu czy wyniku nie da się przewidzieć na pewno. Rachunek prawdopodobieństwa Podstawowym celem rachunku prawdopodobieństwa jest określanie szans zajścia pewnych zdarzeń. Pojęcie podstawowe rachunku prawdopodobieństwa to: zdarzenie losowe - zdarzenie

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Liczby rzeczywiste. Działania w zbiorze liczb rzeczywistych. Robert Malenkowski 1

Liczby rzeczywiste. Działania w zbiorze liczb rzeczywistych. Robert Malenkowski 1 Robert Malenkowski 1 Liczby rzeczywiste. 1 Liczby naturalne. N {0, 1,, 3, 4, 5, 6, 7, 8...} Liczby naturalne to liczby używane powszechnie do liczenia i ustalania kolejności. Liczby naturalne można ustawić

Bardziej szczegółowo

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

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

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

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

Bardziej szczegółowo

MATLAB tworzenie własnych funkcji

MATLAB tworzenie własnych funkcji MATLAB tworzenie własnych funkcji Definiowanie funkcji anonimowych Własne definicje funkcji możemy tworzyć bezpośrednio w Command Window, są to tzw. funkcje anonimowe; dla funkcji jednej zmiennej składnia

Bardziej szczegółowo

LOGIKA MATEMATYCZNA. Poziom podstawowy. Zadanie 2 (4 pkt.) Jeśli liczbę 3 wstawisz w miejsce x, to które zdanie będzie prawdziwe:

LOGIKA MATEMATYCZNA. Poziom podstawowy. Zadanie 2 (4 pkt.) Jeśli liczbę 3 wstawisz w miejsce x, to które zdanie będzie prawdziwe: LOGIKA MATEMATYCZNA Poziom podstawowy Zadanie ( pkt.) Która koniunkcja jest prawdziwa: a) Liczba 6 jest niewymierna i 6 jest liczbą dodatnią. b) Liczba 0 jest wymierna i 0 jest najmniejszą liczbą całkowitą.

Bardziej szczegółowo