SW wykład 10 - Slajd4: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
 
(Nie pokazano 1 wersji utworzonej przez jednego użytkownika)
Linia 1: Linia 1:
{{Semantyka i weryfikacja programów/Wykład 10}}
{{Semantyka i weryfikacja programów/Wykład 10}}


[[Grafika:sw1004.png|frame|center|]]
[[Grafika:sw1003.png|frame|center|]]
 
Zajmować się tu będziemy jedną z najprostszych form specyfikacji
programów: ich poprawnością względem podanych warunku wstępnego
(założeń o danych wejściowych programu) i warunku końcowego (wymagań
dotyczących jego wyników). Na początek rozpatrywać będziemy
tzw. poprawność częściową (przy czym owa "częściowość" to tylko
zwyczajowe określenie wykorzystywanej tu wersji pojęcia poprawności
--- z pewnością nie chodzi tu o to, że program może być "częściowo
poprawny, a częściowo nie"). Warunki wstępny i końcowy dla poprawności
częściowej danego programu zapisywać będziemy jako formuły w nawiasach
klamrowych przed i po programie, odpowiednio.
 
Na slajdzie podajemy prosty przykład programu (w najprostszej wersji
języka TINY) i takiej jego właśnie specyfikacji, wymagającej
częściowej poprawności względem podanych warunku wstępnego i
końcowego. Tak zapisane stwierdzenie o poprawności programu, na razie
nieco nieformalnie można odczytać jak w podwójnej ramce na dole
slajdu.

Aktualna wersja na dzień 17:05, 10 paź 2006

<<powrót do strony wykładu

Poprawność programów i weryfikacja Poprawność programów Dowodzenie poprawności Wyspecyfikowany program Logika Hoare'a Definicje formalne Definicje formalne, c.d. Semantyka logiki Hoare'a Reguły wnioskowania Przykład dowodu Przykład dowodu, c.d. Niezmiennik pętli Przykład dowodu, c.d. W pełni wyspecyfikowany program Teorie pierwszego rzędu

Zajmować się tu będziemy jedną z najprostszych form specyfikacji programów: ich poprawnością względem podanych warunku wstępnego (założeń o danych wejściowych programu) i warunku końcowego (wymagań dotyczących jego wyników). Na początek rozpatrywać będziemy tzw. poprawność częściową (przy czym owa "częściowość" to tylko zwyczajowe określenie wykorzystywanej tu wersji pojęcia poprawności --- z pewnością nie chodzi tu o to, że program może być "częściowo poprawny, a częściowo nie"). Warunki wstępny i końcowy dla poprawności częściowej danego programu zapisywać będziemy jako formuły w nawiasach klamrowych przed i po programie, odpowiednio.

Na slajdzie podajemy prosty przykład programu (w najprostszej wersji języka TINY) i takiej jego właśnie specyfikacji, wymagającej częściowej poprawności względem podanych warunku wstępnego i końcowego. Tak zapisane stwierdzenie o poprawności programu, na razie nieco nieformalnie można odczytać jak w podwójnej ramce na dole slajdu.