SW wykład 13 - Slajd6: 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
 
Linia 2: Linia 2:


[[Grafika:sw1305.png|frame|center|]]
[[Grafika:sw1305.png|frame|center|]]
Podjęta próba dowodu całkowitej poprawności zaproponowanego programu
względem zadanej specyfikacji nie powiodła się. Nadal nic nie wiemy:
możliwe są dwie zupełnie różne, ale równie niesatysfakcjonujące
sytuacje. Po pierwsze, program nie jest poprawny względem zadanej
specyfikacji. Po drugie, być może program jest poprawny względem tej
specyfikacji, ale nie potrafiliśmy dotychczas tego pokazać. W obu
przypadkach, podjętego zadania programistycznego nie możemy uznać za
rozwiązane!
W rozważanym przykładzie zachodzi ta pierwsza możliwość: program nie
jest poprawny względem zadanych warunków wstępnego i końcowego. Łatwo
się o tym przekonać na przykład "testując" podaną instrukcję dla
wartości początkowej <math>n=0</math>.
Tak czy inaczej, najlepsze co możemy zrobić, to próbować dalej...

Aktualna wersja na dzień 19:03, 17 paź 2006

<<powrót do strony wykładu

Zadanie programistyczne Pierwsze podejście Przykład Weryfikacja Przykład Możliwe przyczyny porażki Poprawiony program Przykład dowodu Drugie podejście Wyprowadzanie programu Wyprowadzanie programu, c.d. Wyprowadzanie programu, c.d. Wyprowadzanie programu, c.d. Wyprowadzanie programu, c.d. Wyprowadzanie programu, c.d. Własność stopu Własność stopu, c.d. Poprawność przez konstrukcję

Podjęta próba dowodu całkowitej poprawności zaproponowanego programu względem zadanej specyfikacji nie powiodła się. Nadal nic nie wiemy: możliwe są dwie zupełnie różne, ale równie niesatysfakcjonujące sytuacje. Po pierwsze, program nie jest poprawny względem zadanej specyfikacji. Po drugie, być może program jest poprawny względem tej specyfikacji, ale nie potrafiliśmy dotychczas tego pokazać. W obu przypadkach, podjętego zadania programistycznego nie możemy uznać za rozwiązane!

W rozważanym przykładzie zachodzi ta pierwsza możliwość: program nie jest poprawny względem zadanych warunków wstępnego i końcowego. Łatwo się o tym przekonać na przykład "testując" podaną instrukcję dla wartości początkowej n=0.

Tak czy inaczej, najlepsze co możemy zrobić, to próbować dalej...