Logika Hoare a z jawnymi aktualizacjami stanu

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

Download "Logika Hoare a z jawnymi aktualizacjami stanu"

Transkrypt

1 Logika Hoare a z jawnymi aktualizacjami stanu Instytut Informatyki, Uniwersytet Wrocławski 25 października 2010

2 Plan prezentacji 1 Wprowadzenie 2 Logika Hoare a Floyda 3 4 Prezentacja programu KeY Hoare 5 Informacje końcowe

3 Gramatyka języka while P rogram ::= (Statement)? Statement ::= EmptyStatement AssignmentStatement CompoundStatement ConditionalStatement LoopStatement EmptyStatement ::= ; AssignStatement ::= Location = Expression ; CompoundStatement ::= Statement Statement ConditionalStatement ::= if ( BooleanExp ) { Statement } else { Statement } LoopStatement ::= while ( BooleanExp ) { Statement } Expression ::= BooleanExp IntExp BooleanExp ::= IntExp ComparisonOp IntExp IntExp == IntExp BooleanExp BooleanOp BooleanExp!BooleanExp Location true false IntExp ::= IntExp IntOp IntExp Z Location ComparisonOp ::= < <= >= > BooleanOp ::= & == IntOp ::= * / % + -

4 Logika Hoare a Floyda Zwana także logiką Hoare a lub semantyką aksjomatyczną. System formalny służący do wnioskowania o poprawności programów. Wprowadzony w roku 1969 przez sir Charlesa Antony ego Richarda Hoare a (wynalazcę Quicksorta, laureata Nagrody Turinga w 1980 r.), idea została wzięta z pracy z 1967 r. Roberta W Floyda (twórcy algorytmu Floyda Warshalla, laureata Nagrody Turinga w 1978 r.) dotyczącej analizy schematów blokowych.

5 Semantyka formalna Pamięć Pamięć utożsamiamy z funkcją przypisującą adresom zmiennych ich wartości. Bieżący stan pamięci możemy opisać jako natomiast zbiór stanów pamięci to π : Location (Z {true, false}), Π = (Z {true, false}) Location. Program W naszym rozumieniu, programy są częściowymi funkcjami modyfikującymi pamięć: [σ ] : Π Π takimi, że dom([σ ]) = {π Π program σ uruchomiony w stanie π się zatrzyma}.

6 Naturalna semantyka operacyjna Relacja przejścia Relacja przejścia naturalnej semantyki operacyjnej określa, że jeśli pewien program σ uruchomimy w pamięci π to otrzymamy pamięć π. σ, π π, gdzie : (Π Π) Π Π. Notację tą rozszerzamy na ewaluację wyrażeń arytmetycznych oraz boolowskich σ, e i n, σ, e b b, gdzie e i : IntExp, n Z gdzie e b : BooleanExp, b {true, false}

7 Reguły naturalnej semantyki operacyjnej skip ;, π π e, π v assignment x = e;, π π[x/v] composition s 1, π π s 2, π π s 1 s 2, π π conditionalt b, π true s 1, π π if(b){s 1 }else{s 2 }, π π conditionalf b, π false s 2, π π if(b){s 1 }else{s 2 }, π π loopt b, π true s, π π while(b){s}, π π while(b){s}, π π b, π false loopf while(b){s}, π π

8 Formuły logiki Hoare a Trójki Hoare a Formuły logiki Hoare a przedstawiamy w postaci trójek {ϕ} σ {ψ} gdzie ϕ i ψ są zamkniętymi formułami pierwszego rzędu, zaś σ jest programem. Prawdziwość formuł Formuła jest prawdziwa w sensie częściowej poprawności (co zapisujemy = {ϕ}σ{ψ}), jeśli σ : Π Π. π, π : Π. π = ϕ σ, π π π = ψ. Formuła jest prawdziwa w sensie całkowitej poprawności (co zapisujemy = [ϕ]σ[ψ]), jeśli σ : Π Π. π : Π. π : Π. π = ϕ σ, π π π = ψ.

9 Reguły logiki Hoare a skip {P } ; {P } assignment {P [x/e]} x = e; {P } {P } s 1 {R} {R} s 2 {Q} composition {P } s 1 s 2 {Q} {P & b = true} s 1 {Q} {P & b = false} s 2 {Q} conditional {P } if(b){s 1 }else{s 2 } {Q} loop {I & b = true} s {I} {I} while(b){s} {I & b = false} P > Q {Q} s {R} weakeningleft {P } s {R} weakeningright {P } s {Q} Q > R {P } s {R} oracle P 1 1 poprawna formuła pierwszego rzędu

10 Reguły logiki Hoare a skip {P } ; {P } assignment {P [x/e]} x = e; {P } {P } s 1 {R} {R} s 2 {Q} composition {P } s 1 s 2 {Q} {P & b = true} s 1 {Q} {P & b = false} s 2 {Q} conditional {P } if(b){s 1 }else{s 2 } {Q} loop {I & b = true} s {I} {I} while(b){s} {I & b = false} P > Q {Q} s {R} weakeningleft {P } s {R} weakeningright {P } s {Q} Q > R {P } s {R} oracle P 1 loop T {I & b = true & dec = dec } s {I & dec 0 & dec < dec } {I} while(b){s} {I & b = false} 1 poprawna formuła pierwszego rzędu

11 Dedukcja asercji {y >= 0} z = 0; n = y; while (n > 0) { z = z + x; n = n - 1; } {z = x y}

12 Dedukcja asercji {y >= 0} z = 0; {y >= 0 & z = 0} n = y; while (n > 0) { } z = z + x; n = n - 1; } {z = x y}

13 Dedukcja asercji {y >= 0} z = 0; {y >= 0 & z = 0} n = y; {y >= 0 & z = 0 & n = y} while (n > 0) { } z = z + x; n = n - 1; } {z = x y}

14 Dedukcja asercji {y >= 0} z = 0; {y >= 0 & z = 0} n = y; {y >= 0 & z = 0 & n = y} {n >= 0 & z = x (y n) } while (n > 0) { z = z + x; } n = n - 1; {n >= 0 & z = x (y n) } {z = x y}

15 Dedukcja asercji {y >= 0} z = 0; {y >= 0 & z = 0} n = y; {y >= 0 & z = 0 & n = y} {n >= 0 & z = x (y n) } while (n > 0) { {n >= 0 & z = x (y n) & n > 0 } z = z + x; n = n - 1; {n >= 0 & z = x (y n) } } {n >= 0 & z = x (y n) &!n > 0} {z = x y}

16 Dedukcja asercji {y >= 0} z = 0; {y >= 0 & z = 0} n = y; {y >= 0 & z = 0 & n = y} {n >= 0 & z = x (y n) } while (n > 0) { {n >= 0 & z = x (y n) & n > 0 } z = z + x; {n 1 >= 0 & z = x (y (n 1)) } n = n - 1; {n >= 0 & z = x (y n) } } {n >= 0 & z = x (y n) &!n > 0} {z = x y}

17 Dedukcja asercji {y >= 0} z = 0; {y >= 0 & z = 0} n = y; {y >= 0 & z = 0 & n = y} {n >= 0 & z = x (y n) } while (n > 0) { {n >= 0 & z = x (y n) & n > 0 } {n 1 >= 0 & z + x = x (y (n 1)) } z = z + x; {n 1 >= 0 & z = x (y (n 1)) } n = n - 1; {n >= 0 & z = x (y n) } } {n >= 0 & z = x (y n) &!n > 0} {z = x y}

18 Dedukcja asercji {y >= 0} z = 0; {y >= 0 & z = 0} n = y; {y >= 0 & z = 0 & n = y} {n >= 0 & z = x (y n) & n = n } while (n > 0) { {n >= 0 & z = x (y n) & n > 0 & n = n } {n 1 >= 0 & z + x = x (y (n 1)) & n = n } z = z + x; {n 1 >= 0 & z = x (y (n 1)) & n 1 < n } n = n - 1; {n >= 0 & z = x (y n) & n < n & n >= 0} } {n >= 0 & z = x (y n) &!n > 0} {z = x y}

19 Najsłabsze warunki wstępne Definicja Najsłabszy warunek wstępny dla programu σ i formuły ψ (co oznaczamy jako wp(σ, ψ)) jest to formuła ϕ taka, że ( = {ϕ} σ {ψ} ) ( γ. = {γ} σ {ψ} (γ ϕ)) wp(;, ψ) wp(x = e;, ψ) wp(s 1 s 2, ψ) wp(if(b){s 1 }else{s 2 }, ψ) wp(while(b){s}, ψ) = ψ = ψ[x/e] = wp(s 1, wp(s 2, ψ)) = (b wp(s 1, ψ)) ( b wp(s 2, ψ)) = ( b ψ) (b wp(s, wp(while(b){s}, ψ)))

20 Logika Hoare a z jawnymi aktualizacjami stanu Wykorzystywana w programie KeY Hoare tak, aby mogła stanowić wsparcie dla kursów nauczających formalnej weryfikacji programów.

21 Dlaczego modyfikować logikę Hoare a Powody Ze względu na regułę dla przypisania, zazwyczaj explicite wyznacza się najsłabszy warunek wstępny, a potem przeprowadza się wnioskowanie wstecz co jest nieintuicyjne. Reguła dla złożenia rozdziela dowód i wymaga określenia pośredniego stanu, często również stosując wnioskowanie od tyłu. Ręczne tworzenie dowodów (nawet dla małych programów) jest żmudne i często obarczone błędami takie dowody nie będą poprawne dla automatycznej weryfikacji. Zmiana formuły wymaga użycia reguł wnioskowania dla formuł i ponownego jej napisania. Nie jest łatwo przypisać węzeł w drzewie dowodu konkretnemu miejscu w programie.

22 Aktualizacje stanu Definicja Aktualizacją jest wyrażenie postaci: Location := F OLT erm a. Jeśli U i V są aktualizacjami stanu to są nimi też: U, V (aktualizacja szeregowa) i U V (aktualizacja równoległa). a term formuły pierwszego rzędu Aktualizacje równoległe Niech U = l 1 := t 1... l m := t m i załóżmy, że znajdujemy się w stanie obliczeń π. Wtedy aktualizacje zmienią stan na π U taki, że { π(l) jeśli l / {l1,..., l π U = m } t k jeśli l = l k oraz l / {l k+1,..., l m } Lemat Dla każdej aktualizacji U istnieje aktualizacja równoległa V taka, że U i V są równoważne (tzn. dla każdego stanu π zachodzi π U = π V ).

23 Aktualizacje stanu c.d. Lemat Dla każdych aktualizacji U i x := t aktualizacje U, x := t i U x := U(t) są równoważne. Trójki Hoare a z aktualizacjami stanu Trójki takie zamieniają się w czwórki i mają postać {ϕ} [U] σ {ψ}, gdzie ϕ, ψ, σ są takie jak przy logice Hoare a, zaś U jest aktualizacją nad sygnaturą ϕ i σ. Semantyka takiej czwórki jest następująca: Dla każdego stanu π spełniającego ϕ, jeśli uruchomimy program σ w stanie π U wtedy, jeśli się zakończy, to stan końcowy będzie spełniał warunek ψ.

24 Reguły logiki Hoare a ze aktualizacjami stanu exit assignment P U(Q) {P } [U] {Q} {P } [U, x := e] s {Q} {P } [U] x = e; s {Q} skip {P } [U] s {Q} {P } [U] ; s {Q} {P & U(b = true)} [U] s 1 s {Q} {P & U(b = false)} [U] s 2 s {Q} conditional {P } [U] if(b){s 1 }else{s 2 }s {Q} loop P U(I) {I & b = true} [] s 1 {I} {I & b = false} [] s {Q} {P } [U] while(b){s 1 }s {Q}

25 Reguły zmian stanu Niech x będzie zmienną programu, t termem logiki pierwszego rzędu, P równoległą aktualizacją postaci l 1 := t 1,..., l m := t m, y zmienną logiczną, F n-arną funkcją, spójnikiem logicznym, zaś λ kwantyfikatorem. U, x := t = U x { := U(t) x jeśli l / {l1,..., l P (x) = m } t k jeśli x = l k oraz l / {l k+1,..., l m } U(y) = y U(F (t 1,..., t m )) = F (U(t 1 ),..., U(t n )) U(P Q) = U(P ) U(Q)) U(λy. P ) = λy. U(P ), y / free(u)

26 Prezentacja programu KeY Hoare Środowisko pozwalające na dowodzenie poprawności programów (częściowej, całkowitej oraz ze względu na pesymistyczny czas działania) napisanych w podzbiorze języka Java.

27 Materiały Strona programu Bezpośrednie odnośniki Automatyczny instalator : webstart/key-hoare.jnlp Tutorial: Przykłady: examples zip

28 Interfejs Zarządzanie plikami KeY Hoare akceptuje pliki z rozszerzeniem.key (zwyczajowo zawierające jedynie specyfikację problemu) oraz.proof w których znajduje się dodatkowo dowód (lub jego część). Program pozwala również na zapisywanie aktualnie przeprowadzanego dowodu w pliku.proof. Najważniejsze składowe Po lewej w zakładce Proof znajduje się drzewo dowodu w którym możemy oglądać już wykonane kroki oraz wybierać zadania do udowodnienia (oznaczone jako OPEN GOAL i pokolorowane na czerwono). Główne okno zatytułowane jest Inner Node jeśli oglądamy fragment odpowiadający już wykonanemu krokowi dowodu lub Current Goal wtedy wyświetlany jest cel, który aktualnie wymaga udowodnienia.

29 Dowodzenie Aplikacja reguł logiki Hoare a Jeśli cel jest trójką Hoare a z aktualizacjami stanu, czyli ma formę {...} [...]... {...} wtedy należy najechać kursorem nad kwadratowe nawiasy i po wciśnięciu prawego przycisku wybrać z menu odpowiednią regułę do zastosowania (zawsze będzie dostępna tylko jedna z wymienionych): assignment, exit, skip, conditional lub Loop Invariant. W przypadku pętli pojawi się dodatkowe okno w którym należy podać jej niezmiennik. Gdy dowodzona jest całkowita poprawność, pokaże się także drugie okno, przeznaczone na term stanowiący miarę pętli. Dowodzenie formuł logicznych Jeśli cel jest postaci -... wtedy należy najechać kursorem na znak - i po wciśnięciu prawego przycisku wybrać opcję Apply rules automatically here.

30 Dowodzenie c.d. Automatyzacja dowodu W zakładce Proof Search Strategy można (po ustawieniu odpowiedniego limitu czasowego) zaznaczyć opcję Autoresume strategy. Wtedy cele będące formułami logicznymi będą rozwiązywane natychmiast, bez potrzeby ingerencji użytkownika. Polecenia aplikacji reguł logiki Hoare a wciąż trzeba wydawać ręcznie.

31 Struktura plików.key \functions { Deklaracja stałych, np. int startval; } \programvariables { Deklaracja wszystkich wykorzystywanych zmiennych. } \hoare Sekcja zawierająca trójkę Hoare a z aktualizacjami stanu. Możliwe komendy: hoare dla częściowej poprawności, hoaretotal dla całkowitej, hoareet dla czasu wykonania. { { Warunek wstępny } [ Inicjująca aktualizacja (w formie równoległej) ] \[{ Kod programu }\] { Warunek końcowy } }

32 Częściowa poprawność: multiplication.key \functions { } \programvariables { int n, x, y, z; } \hoare { {y >= 0} \[{ z = 0; n = y; while (n>0) { z = z + x; n = n-1; } }\] {z = x * y} }

33 Częściowa poprawność: multiplication.key \functions { } \programvariables { int n, x, y, z; } \hoare { {y >= 0} \[{ z = 0; n = y; while (n>0) { z = z + x; n = n-1; } }\] {z = x * y} } Niezmiennik: n >= 0 & z = x * (y - n)

34 Reguły dla całkowitej poprawności loop T P U(I & dec >= 0) {I & b = true & dec = dec } [] s 1 {I & dec 0 & dec < dec } {I & b = false} [] s {Q} {P } [U] while(b){s 1 }s {Q}

35 Całkowita poprawność: countdowntotal.key \functions { int startval; } \programvariables { int timer; } \hoaretotal { { startval >= 0 } [timer := startval] \[{ while (timer>0) { timer = timer -1; } }\] { timer = 0 } }

36 Całkowita poprawność: countdowntotal.key \functions { int startval; } \programvariables { int timer; } \hoaretotal { { startval >= 0 } [timer := startval] \[{ while (timer>0) { timer = timer -1; } }\] { timer = 0 } } Niezmiennik: timer >= 0 Miara: timer

37 Reguły dla czasu wykonania exit ET assignment ET P U(Q) {P } [U] {Q} conditional ET loop ET {P } [U, x := e, et := et + 1] s {Q} {P } [U] x = e; s {Q} skip ET {P } [U, et := et + 1] s {Q} {P } [U] ; s {Q} {P & U(b = true)} [U, et := et + 1] s 1 s {Q} {P & U(b = false)} [U, et := et + 1] s 2 s {Q} {P } [U] if(b){s 1 }else{s 2 }s {Q} P U(I & dec >= 0) {I & b = true & dec = dec } [et := et + 1] s 1 {I & dec 0 & dec < dec } {I & b = false} [et := et + 1] s {Q} {P } [U] while(b){s 1 }s {Q} et odpowiada specjalnemu licznikowi executiontime którego wartość można ustawić na przed wykonaniem programu.

38 Czas wykonania: countdownexecutiontime.key \functions { int startval; } \programvariables { int timer; } \hoareet { { startval >= 0 & executiontime = 0} [timer := startval] \[{ while (timer>0) { timer = timer -1; } }\] { timer = 0 & executiontime = 2*startVal + 1} }

39 Czas wykonania: countdownexecutiontime.key \functions { int startval; } \programvariables { int timer; } \hoareet { { startval >= 0 & executiontime = 0} [timer := startval] \[{ while (timer>0) { timer = timer -1; } }\] { timer = 0 & executiontime = 2*startVal + 1} } Niezmiennik: timer>=0 & executiontime = 2*(startVal-timer) Miara: timer

40 Zadania na koniec multiplicationtotal

41 Zadania na koniec multiplicationtotal Niezmiennik: n >= 0 & z = x * (y - n) Miara: n

42 Zadania na koniec multiplicationtotal Niezmiennik: n >= 0 & z = x * (y - n) Miara: n multiplicationexecutiontime Warunek początkowy: y >= 0 & executiontime=0 Warunek końcowy: z = x * y & executiontime = 3 * y + 3

43 Zadania na koniec multiplicationtotal Niezmiennik: n >= 0 & z = x * (y - n) Miara: n multiplicationexecutiontime Warunek początkowy: y >= 0 & executiontime=0 Warunek końcowy: z = x * y & executiontime = 3 * y + 3 Niezmiennik: n >= 0 & z = x * (y - n) & executiontime = 3 * (y - n) + 2 Miara: n

44 Zadania na koniec multiplicationtotal Niezmiennik: n >= 0 & z = x * (y - n) Miara: n multiplicationexecutiontime Warunek początkowy: y >= 0 & executiontime=0 Warunek końcowy: z = x * y & executiontime = 3 * y + 3 Niezmiennik: n >= 0 & z = x * (y - n) & executiontime = 3 * (y - n) + 2 Miara: n Do obejrzenia/udowodnienia max.key gcd.key arraysort.key

45 Bibliografia Rainer Hähnle, Richard Bubel, A Hoare-Style Calculus with Explicit State Updates, Departament of Computer Science and Engineering, Chalmers University of Technologic and Göteborg University K. R. Apt, E.-R. Olderog, Verification of Sequential and Concurrent Programs, Springer-Verlag New York, Inc Mateusz Styrczula, Programowanie. Notatki do wykładów, Instytut Informatyki, Uniwersytet Wrocławski P. Urzyczyn, Materiały do wykładu z semantyki, Instytut Informatyki, Uniwersytet Warszawski Wikipedia contributors, Wikipedia, The Free Encyclopedia, [Internet]

46 Koniec

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

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017 Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu

Bardziej szczegółowo

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017 Logika Stosowana Wykład 2 - Logika modalna Część 2 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 27 Plan wykładu

Bardziej szczegółowo

Poprawność semantyczna

Poprawność semantyczna Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych

Bardziej szczegółowo

Wstęp do Programowania potok funkcyjny

Wstęp do Programowania potok funkcyjny Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 Kilka podstawowych pojęć Definition Programy imperatywne zmieniają stan, czyli wartości zmiennych. Asercja = warunek logiczny, który

Bardziej szczegółowo

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa. Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna

Bardziej szczegółowo

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl OSTRZEŻENIE Niniejszy plik nie zawiera wykładu z Metod dowodzenia...

Bardziej szczegółowo

Metoda Tablic Semantycznych

Metoda Tablic Semantycznych Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,

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

4 Klasyczny rachunek zdań

4 Klasyczny rachunek zdań 4 Klasyczny rachunek zdań Elementy Logiki i Teorii Mnogości 2015/2016 Spis najważniejszych tautologii: (a) p p prawo wyłączonego środka (b) ( p) p prawo podwójnej negacji (c) p q q p (d) p q q p prawo

Bardziej szczegółowo

Wykład 11b. System aksjomatyczny Klasycznego Rachunku Predykatów. Aksjomaty i reguły inferencyjne

Wykład 11b. System aksjomatyczny Klasycznego Rachunku Predykatów. Aksjomaty i reguły inferencyjne Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11b. System aksjomatyczny Klasycznego Rachunku Predykatów. Aksjomaty i reguły inferencyjne Istnieje wiele systemów aksjomatycznych

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

Wprowadzenie do programowania współbieżnego Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie

Bardziej szczegółowo

Microsoft EXCEL SOLVER

Microsoft EXCEL SOLVER Microsoft EXCEL SOLVER 1. Programowanie liniowe z wykorzystaniem dodatku Microsoft Excel Solver Cele Po ukończeniu tego laboratorium słuchacze potrafią korzystając z dodatku Solver: formułować funkcję

Bardziej szczegółowo

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest

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

Adam Meissner.

Adam Meissner. Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Podstawy logiki pierwszego rzędu

Bardziej szczegółowo

Rozkłady zajęć- notatki

Rozkłady zajęć- notatki Rozkłady zajęć- notatki... 1 Wprowadzanie notatek... 1 Zapisanie notatki... 2 Notatka zawierające grafikę... 2 Słowa kluczowe... 3 Drukowanie notatek... 4 Rozkłady zajęć- notatki To rozszerzenie dostępne

Bardziej szczegółowo

Składnia rachunku predykatów pierwszego rzędu

Składnia rachunku predykatów pierwszego rzędu Początek Gramatyka Kwantyfikatory Poprawność Logika obliczeniowa Instytut Informatyki Początek Gramatyka Kwantyfikatory Poprawność Plan wykładu 1 Na (dobry) początek Zrozumieć słowa Oswoić znaki 2 Gramatyka

Bardziej szczegółowo

Paradygmaty dowodzenia

Paradygmaty dowodzenia Paradygmaty dowodzenia Sprawdzenie, czy dana formuła rachunku zdań jest tautologią polega zwykle na obliczeniu jej wartości dla 2 n różnych wartościowań, gdzie n jest liczbą zmiennych zdaniowych tej formuły.

Bardziej szczegółowo

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią. Semantyczne twierdzenie o podstawianiu Jeżeli dana formuła rachunku zdań jest tautologią i wszystkie wystąpienia pewnej zmiennej zdaniowej w tej tautologii zastąpimy pewną ustaloną formułą, to otrzymana

Bardziej szczegółowo

Gramatyki atrybutywne

Gramatyki atrybutywne Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych 4. Łódź 2018 Suma szeregu harmonicznego - Wpisz kod programu w oknie edycyjnym - Zapisz kod w pliku harmonic.py - Uruchom skrypt (In[1]: run harmonic.py) - Ten program wykorzystuje

Bardziej szczegółowo

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania

Bardziej szczegółowo

napisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję algorytmu z rozgałęzieniami;

napisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję algorytmu z rozgałęzieniami; 1 TEMAT LEKCJI: Algorytmy z rozgałęzieniami. 2 CELE WYRAŻONE OPERACYJNIE: 2.1 Wiadomości: Uczeń potrafi: napisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję

Bardziej szczegółowo

LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.

LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625. LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.1 Warszawa 2001 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.1

Bardziej szczegółowo

SimplySign logowanie i rejestracja na komputerze oraz dodanie certyfikatu do programu Płatnik

SimplySign logowanie i rejestracja na komputerze oraz dodanie certyfikatu do programu Płatnik SimplySign logowanie i rejestracja na komputerze oraz dodanie certyfikatu do programu Płatnik 1. INSTALACJA CERTYFIKATU SIMPLY SIGN W MAGAZYNIE SYSTEMOWYM. W celu użytkowania certyfikatu SimplySign na

Bardziej szczegółowo

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0 MathScript i Formula Nodes (MathScript and Formula Nodes) Formula Node w oprogramowaniu LabVIEW jest wygodnym, tekstowym węzłem, który można użyć do wykonywania skomplikowanych operacji matematycznych

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Wykład 2. Poprawność algorytmów

Wykład 2. Poprawność algorytmów Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm

Bardziej szczegółowo

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3 Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium przyrządów wirtualnych Ćwiczenie 3 Wykorzystanie technologii ActiveX do rejestracji danych z przyrządów wirtualnych 1. Wstęp Do

Bardziej szczegółowo

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Poprawność programów Jeżeli projektujemy algorytmy lub piszemy programy, to ważne jest pytanie, czy nasz algorytm lub program

Bardziej szczegółowo

Podstawowe Pojęcia. Semantyczne KRZ

Podstawowe Pojęcia. Semantyczne KRZ Logika Matematyczna: Podstawowe Pojęcia Semantyczne KRZ I rok Językoznawstwa i Informacji Naukowej UAM 2006-2007 Jerzy Pogonowski Zakład Logiki Stosowanej UAM http://www.logic.amu.edu.pl Dodatek: ściąga

Bardziej szczegółowo

25 lutego 2013, godzina 23: 57 strona 1. P. Urzyczyn: Materia ly do wyk ladu z semantyki. Logika Hoare a

25 lutego 2013, godzina 23: 57 strona 1. P. Urzyczyn: Materia ly do wyk ladu z semantyki. Logika Hoare a 25 lutego 2013, godzina 23: 57 strona 1 P. Urzyczyn: Materia ly do wyk ladu z semantyki Logika Hoare a Rozważamy najprostszy model imperatywnego jezyka programowania z jednym typem danych. Wartości tego

Bardziej szczegółowo

Metody Kompilacji Wykład 3

Metody Kompilacji Wykład 3 Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy

Bardziej szczegółowo

Przypisy i przypisy końcowe

Przypisy i przypisy końcowe - 1 - Przypisy i przypisy końcowe Przypisami nazywamy pewne teksty służące do podawania wyjaśnień, komentarzy, odsyłaczy do tekstu, do bibliografii itp. Edytor WORD rozróżnia dwa rodzaje przypisów: przypisy

Bardziej szczegółowo

Internet Semantyczny i Logika II

Internet Semantyczny i Logika II Internet Semantyczny i Logika II Ontologie Definicja Grubera: Ontologia to formalna specyfikacja konceptualizacji pewnego obszaru wiedzy czy opisu elementów rzeczywistości. W Internecie Semantycznym językiem

Bardziej szczegółowo

Instrukcja obsługi programu PLOMP PLUS FM

Instrukcja obsługi programu PLOMP PLUS FM Instrukcja obsługi programu PLOMP PLUS FM Edata Polska Sp. z o.o. ul. Puławska 314 02-819 Warszawa Tel 22 545-32-40 Fax 22 678-60-29 biuro@edatapolska.pl Ver 1.04 Aplikacja PLOMP PLUS FM przeznaczona jest

Bardziej szczegółowo

Myślenie w celu zdobycia wiedzy = poznawanie. Myślenie z udziałem rozumu = myślenie racjonalne. Myślenie racjonalne logiczne statystyczne

Myślenie w celu zdobycia wiedzy = poznawanie. Myślenie z udziałem rozumu = myślenie racjonalne. Myślenie racjonalne logiczne statystyczne Literatura: podstawowa: C. Radhakrishna Rao, Statystyka i prawda, 1994. G. Wieczorkowska-Wierzbińska, J. Wierzbiński, Statystyka. Od teorii do praktyki, 2013. A. Aczel, Statystyka w zarządzaniu, 2002.

Bardziej szczegółowo

Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik. wersja 1.8

Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik. wersja 1.8 Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik wersja 1.8 Spis treści 1. INSTALACJA CERTYFIKATU Z KARTY KRYPTOGRAFICZNEJ W MAGAZYNIE SYSTEMOWYM... 3 Wczytanie danych z karty CryptoCERTUM...

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest

Bardziej szczegółowo

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0 Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga

Bardziej szczegółowo

Rachunek zdań i predykatów

Rachunek zdań i predykatów Rachunek zdań i predykatów Agnieszka Nowak 14 czerwca 2008 1 Rachunek zdań Do nauczenia :! 1. ((p q) p) q - reguła odrywania RO 2. reguła modus tollens MT: ((p q) q) p ((p q) q) p (( p q) q) p (( p q)

Bardziej szczegółowo

Synchronizator plików (SSC) - dokumentacja

Synchronizator plików (SSC) - dokumentacja SZARP http://www.szarp.org Synchronizator plików (SSC) - dokumentacja Wersja pliku: $Id: ssc.sgml 4420 2007-09-18 11:19:02Z schylek$ > 1. Witamy w programie SSC Synchronizator plików (SZARP Sync Client,

Bardziej szczegółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

JAO - Wprowadzenie do Gramatyk bezkontekstowych JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa

Bardziej szczegółowo

ForPascal Interpreter języka Pascal

ForPascal Interpreter języka Pascal Akademia Podlaska w Siedlcach Wydział Nauk Ścisłych Instytut Informatyki ForPascal Interpreter języka Pascal Przedmiot: Sieci i Systemy Wirtualne Informatyka IV Prowadzący: dr Krzysztof Trojanowski Grupa:

Bardziej szczegółowo

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Wstęp do logiki. Klasyczny Rachunek Zdań III

Wstęp do logiki. Klasyczny Rachunek Zdań III Wstęp do logiki Klasyczny Rachunek Zdań III Przypomnijmy: Logika: = Teoria form (schematów, reguł) poprawnych wnioskowań. Wnioskowaniem nazywamy jakąkolwiek skończoną co najmniej dwuwyrazową sekwencję

Bardziej szczegółowo

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Tworzenie pliku źródłowego w aplikacji POLTAX2B. Tworzenie pliku źródłowego w aplikacji POLTAX2B. Po utworzeniu spis przekazów pocztowych klikamy na ikonę na dole okna, przypominającą teczkę. Następnie w oknie Export wybieramy format dokumentu o nazwie

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

Kadry Optivum, Płace Optivum

Kadry Optivum, Płace Optivum Kadry Optivum, Płace Optivum Jak seryjnie przygotować wykazy absencji pracowników? W celu przygotowania pism zawierających wykazy nieobecności pracowników skorzystamy z mechanizmu Nowe wydruki seryjne.

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

kodowanienaekranie.pl

kodowanienaekranie.pl Temat: Naucz się tekstowego języka Python z Codey Rocky - część 1 Zdarzenia kl7-8 Szkoła Podstawowa Przedmiot: informatyka Autor: Sylwester Zasoński Czas trwania: 1h lekcyjna Cele ogólne: Rozwijanie kompetencji

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Badania operacyjne Instrukcja do c wiczen laboratoryjnych Rozwiązywanie problemów programowania liniowego z użyciem MS Excel + Solver

Badania operacyjne Instrukcja do c wiczen laboratoryjnych Rozwiązywanie problemów programowania liniowego z użyciem MS Excel + Solver Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Techniki Morskiej i Transportu Katedra Konstrukcji, Mechaniki i Technologii Okręto w Badania operacyjne Instrukcja do c wiczen laboratoryjnych

Bardziej szczegółowo

DBE DataBase Engineering

DBE DataBase Engineering Loader PI dla mmedica Instrukcja instalacji interfejsu Przychodni Internetowej (Loader PI) w wersji DEMO dla programu mmedica. DBE DataBase Engineering Firma z którą pracują najlepsi Wrocław 2009 PL-PI-INS001-122009

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

Techniki informacyjne dla wnioskowania oraz generowania, reprezentacji i zarządzania wiedzą

Techniki informacyjne dla wnioskowania oraz generowania, reprezentacji i zarządzania wiedzą Zakład Zaawansowanych Technik Informacyjnych (Z-6) Techniki informacyjne dla wnioskowania oraz generowania, reprezentacji i zarządzania wiedzą Zadanie nr 2 Relacyjne systemy dedukcyjne: teoria i zastosowania

Bardziej szczegółowo

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy Sztucznej Inteligencji (PSZT) Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Wnioskowanie logiczne i systemy eksperckie Systemy posługujące się logiką predykatów: część 3/3 Dzisiaj Uogólnienie Poprawność i pełność wnioskowania

Bardziej szczegółowo

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej: Interfejs w MFC 1. Tworzenie nowego projektu Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej: Następnie wybieramy opcje jak na rysunku: Następnie wybieramy

Bardziej szczegółowo

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW Logika Stosowana Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika

Bardziej szczegółowo

Site Installer v2.4.xx

Site Installer v2.4.xx Instrukcja programowania Site Installer v2.4.xx Strona 1 z 12 IP v1.00 Spis Treści 1. INSTALACJA... 3 1.1 Usunięcie poprzedniej wersji programu... 3 1.2 Instalowanie oprogramowania... 3 2. UŻYTKOWANIE

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

Hoare Advanced Homework Assistant

Hoare Advanced Homework Assistant Aleksy Schubert 1 Tadeusz Sznuk 2 1 alx@mimuw.edu.pl 2 tsznuk@mimuw.edu.pl 3 października 2013 Cele projektu Cel Przeniesienie nauczania semantyki na wydziale w XXI wiek. Na początek chcemy się skupić

Bardziej szczegółowo

Optimizing Programs with Intended Semantics

Optimizing Programs with Intended Semantics Interaktywna optymalizacja programów 26 kwietnia 2010 Spis treści Spis treści Wstęp Omówienie zaproponowanego algorytmu na przykładzie Wewnętrzna reprezentacja reguł dotyczących optymalizacji Wybrane szczegóły

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

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie Podstawy programowania w Pythonie Wykład 5 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 7 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl Metoda tabel syntetycznych (MTS) MTS

Bardziej szczegółowo

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Pętle 1 Program wykładu Pojęcie pętli Pętla FOR Pętla DO LOOP Pętle zagnieżdżone 2 Pojęcie pętli Suma lub iloczyn dowolnych n liczb wprowadzanych

Bardziej szczegółowo

Internet Semantyczny. Logika opisowa

Internet Semantyczny. Logika opisowa Internet Semantyczny Logika opisowa Ontologie Definicja Grubera: Ontologia to formalna specyfikacja konceptualizacji pewnego obszaru wiedzy czy opisu elementów rzeczywistości. W Internecie Semantycznym

Bardziej szczegółowo

Lekcja 3: Elementy logiki - Rachunek zdań

Lekcja 3: Elementy logiki - Rachunek zdań Lekcja 3: Elementy logiki - Rachunek zdań S. Hoa Nguyen 1 Materiał a) Zdanie proste, złożone b) Spójniki logiczne (funktory zdaniotwórcze):,,,,, (alternatywa wykluczająca - XOR). c) Tautologia, zdanie

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Literatura David Harel. Rzecz o istocie informatyki. Algorytmika. Wydawnictwa Naukowo-Techniczne. Wydanie trzecie. Seria: Klasyka informatyki. Warszawa 2000. Niklaus Wirth. Algorytmy

Bardziej szczegółowo

Rachunek zdań. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Rachunek zdań. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Rachunek zdań Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak RACHUNEK ZDAŃ Zdania Definicja Zdanie jest to stwierdzenie w języku naturalnym, któremu można przypisać wartość prawdy lub

Bardziej szczegółowo

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie 1. Uruchomienie programu TwinCAT 3: a) Kliknąć w start i wpisać wpisać frazę twincat. b) Kliknąć w ikonę jak poniżej: 2. Wybrać w menu

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową

Bardziej szczegółowo

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie Laboratorium Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie programowalnym FPGA. 1. Zasada działania algorytmów Algorytm Vernam a wykorzystuje funkcję

Bardziej szczegółowo

Dodatek. Instrukcja instalacji i konfiguracji. dla Subiekt nexo. Wersja:

Dodatek. Instrukcja instalacji i konfiguracji. dla Subiekt nexo. Wersja: Dodatek dla Subiekt nexo Instrukcja instalacji i konfiguracji Wersja: 1.0.1., ul. Zwoleńska 127 lok. 32, 04-761 Warszawa Spis treści 1. Informacje ogólne... 3 O programie... 3 Wymagania systemowe i sprzętowe...

Bardziej szczegółowo

WOJEWÓDZTWO PODKARPACKIE

WOJEWÓDZTWO PODKARPACKIE WOJEWÓDZTWO PODKARPACKIE UNIA EUROPEJSKA EUROPEJSKI FUNDUSZ ROZWOJU REGIONALNEGO Instrukcja instalacji generatora wniosku o dofinansowanie projektu ze środków EFRR w ramach I osi priorytetowej Regionalnego

Bardziej szczegółowo

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1. 3. Wykłady 3 i 4: Języki i systemy dedukcyjne. Klasyczny rachunek zdań. 3.1. Monoidy wolne. Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy

Bardziej szczegółowo

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane: Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem

Bardziej szczegółowo

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31 Strona: 1 z 31 Explorer Analyzer 1 Uruchamianie programu i raportu PoniŜsze czynności uruchamiają program Bex Analyzer oraz wybrany raport z hurtowni danych. 1. uruchom z menu Start>Programy>Business Explorer>Analyzer

Bardziej szczegółowo

Dowody założeniowe w KRZ

Dowody założeniowe w KRZ Dowody założeniowe w KRZ Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl w styczniu 2007 Jerzy Pogonowski (MEG) Dowody założeniowe w KRZ w styczniu 2007 1 / 10 Dowody

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

1. Tworzenie nowego projektu.

1. Tworzenie nowego projektu. Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty

Bardziej szczegółowo

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Pomoc do programu Oferent

Pomoc do programu Oferent Pomoc do programu Oferent Co to jest Oferent Oferent jest bezpłatną aplikacją internetową (z możliwością instalacji na komputerze) pozwalającą na przygotowanie kosztorysu ofertowego, jego wydrukowanie

Bardziej szczegółowo

programu Neofon instrukcja obsługi Spis treści

programu Neofon instrukcja obsługi Spis treści instrukcja obsługi programu Neofon Spis treści... 2 Główne okno aplikacji... 3 Panel dolny... 4 Klawiatura numeryczna... 5 Regulacja głośności... 6 Książka adresowa... 7 Okno dodawania/edycji kontaktu...

Bardziej szczegółowo

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE. Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE SZKOLENIE JEST DLA OSÓB, KTÓRE: znają program Microsoft Excel na poziomie średniozaawansowanym, chcą poznać ogólne zasady tworzenia

Bardziej szczegółowo

Instrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:

Instrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja: Instrukcja aktualizacji oprogramowania Wersja dokumentu: 01i00 Aktualizacja: 2016-03-11 Uwagi Inne dokumenty dotyczące obsługi urządzeń można pobrać ze strony energetyka.itr.org.pl Przed aktualizacją oprogramowania

Bardziej szczegółowo

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY. Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY SZKOLENIE JEST DLA OSÓB, KTÓRE: nigdy wcześniej nie programowały lub nie miały styczności z programowaniem od dłuższego czasu,

Bardziej szczegółowo

Wstęp do informatyki- wykład 7

Wstęp do informatyki- wykład 7 1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo