SW wykład 2 - Slajd12: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Arturas (dyskusja | edycje)
Nie podano opisu zmian
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
{{Szablon:Semantyka i weryfikacja programów/Wykład 2}}
{{Szablon:Semantyka i weryfikacja programów/Wykład 2}}
[[Grafika:sw0211.png|frame|center|]]
[[Grafika:sw0211.png|frame|center|]]
Semantyka wyrażeń nie jest już tak prosta: znaczenie wyrażenia zależy
oczywiście od wartości występujących w nim zmiennych. Wprowadzamy więc
pojęcie stanu (wartościowania zmiennych) dla "przechowywania" tych
właśnie aktualnych wartości zmiennych.
Formalnie stan to po prostu funkcja ze zbioru zmiennych w zbiór liczb
całkowitych. W naszym prostym języku, wartościami zmiennych mogą być
bowiem tylko liczby całkowite. W bardziej realistycznych przypadkach,
stany odwzorowują zmienne w bardziej złożone zbiory ich możliwych
wartości, zawierające nie tylko liczby całkowite, ale i na przykład
wartości logiczne, struktury danych, itp.
Wartość zmiennej w danym stanie to po prostu liczba, którą ten stan
(funkcja) przypisuje danej zmiennej: zapisując pozyskiwanie tej
wartości jako aplikację funkcji do argumentu, bez wyraźnej potrzeby
nie będziemy nadużywali nawiasów.
Ważne jest też pojęcie zmiany stanu przez podanie nowej wartości dla
jednej zmiennej, zapisywane jak wyżej. Będziemy też niekiedy
uogólniać tę notację dla zapisu modyfikacji stanu na kilku zmiennych
jednocześnie.

Wersja z 11:03, 22 sie 2006

<<powrót do strony wykładu

Składnia Składnia konkretna Składnia abstrakcyjna Przyjmowane założenia Przykład wiodący Kategorie składniowe Kategorie składniowe, c.d. Uwagi Indukcja strukturalna Definicje indukcyjne Kategorie semantyczne Wartościowanie zmiennych Semantyka wyrażeń Semantyka wyrażeń logicznych Semantyka instrukcji Prosty fakt Dowód Przezroczystość odwołań Semantyka operacyjna Obliczenia Semantyka operacyjna Tiny Własności Własności, c.d. Warianty definicji

Semantyka wyrażeń nie jest już tak prosta: znaczenie wyrażenia zależy oczywiście od wartości występujących w nim zmiennych. Wprowadzamy więc pojęcie stanu (wartościowania zmiennych) dla "przechowywania" tych właśnie aktualnych wartości zmiennych.

Formalnie stan to po prostu funkcja ze zbioru zmiennych w zbiór liczb całkowitych. W naszym prostym języku, wartościami zmiennych mogą być bowiem tylko liczby całkowite. W bardziej realistycznych przypadkach, stany odwzorowują zmienne w bardziej złożone zbiory ich możliwych wartości, zawierające nie tylko liczby całkowite, ale i na przykład wartości logiczne, struktury danych, itp.

Wartość zmiennej w danym stanie to po prostu liczba, którą ten stan (funkcja) przypisuje danej zmiennej: zapisując pozyskiwanie tej wartości jako aplikację funkcji do argumentu, bez wyraźnej potrzeby nie będziemy nadużywali nawiasów.

Ważne jest też pojęcie zmiany stanu przez podanie nowej wartości dla jednej zmiennej, zapisywane jak wyżej. Będziemy też niekiedy uogólniać tę notację dla zapisu modyfikacji stanu na kilku zmiennych jednocześnie.