Paradygmaty programowania/Test 9: U podstaw programowania obiektowego — rachunek sigma

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Test 9

Rachunek sigma opisuje obiekty na poziomie abstrakcji podobnym do tego, na którym funkcje są opisywane przez:

języki wysokiego poziomu, np. Pascal, C, Java

rachunek lambda

teorię mnogości

rachunek sigma w ogóle nie zajmuje się obiektami

Podobnie jak w rachunku sigma, obiekty bez klas pojawiają się w języku:

C++

C

Java

JavaScript

Która relacja nie pasuje do pozostałych w kontekście języka C++?

relacja dziedziczenia

relacja podklasy

relacja podtypu

relacja zawierania bloków kodu

W rachunku sigma obiekt to zbiór metod, dla których mamy dwie operacje — wywołanie i:

nadpisanie

pobranie historii wywołań

zapamiętanie wyniku

zliczenie parametrów

W rachunku sigma każda metoda posiada ciało oraz parametr reprezentujący:

historię wywołań

jaźń obiektu

nazwę obiektu

wynik obliczeń

Zapis oznacza:

obiekt pusty

obiekt zawierający metodę pustą

obiekt zawierający jedną metodę, zwracającą obiekt pusty

ten zapis jest niepoprawny

Jeśli jest obiektem , to wywołanie da w wyniku:

obiekt pusty

obiekt

wywołanie to nie da wyniku, gdyż obliczenia nie kończą się

Jeśli jest obiektem , to wywołanie da w wyniku:

obiekt pusty

obiekt

wywołanie to nie da wyniku, gdyż obliczenia nie kończą się

Relacja redukcji (rozszerzona, z gwiazdką) w rachunku sigma spełnia własność Churcha-Rossera. Oznacza to, że jeśli i , to:

istnieje takie, że i

Otrzymawszy wyrażenie, maszyna wirtualna rachunku sigma może zachować się na jeden z trzech sposobów. Które z wymienionych poniżej zachowań nie odpowiada żadnemu z nich?

obliczenia nieskończone

wyliczenie wartości, która nie jest poprawnym wynikiem

wyliczenie poprawnego wyniku

zgłoszenie błędu w wyrażeniu