Paradygmaty programowania/Ćwiczenia 9: U podstaw programowania obiektowego — rachunek sigma
Zadanie 1
Zdefiniować obiekt, który prowadzi do obliczeń nieskończonych. Powinien to być obiekt inny niż Zadanie 1. Zdefiniować obiekt, który prowadzi do obliczeń nieskończonych. Powinien to być obiekt inny niż
podany w przykładzie.Zadanie 2
Dlaczego ważne jest, by relacja
spełniała własność Churcha-Rossera?Zadanie 3*
Napisz interpreter (maszynę wirtualną)
-rachunku. To jest zadanie nie tyle bardzo trudne, co mozolne...Zadanie 4
Poniżej przdstawiona jest metodę translacji termów
-rachunku do obiektów -rachunku. Przyjrzyj się jej zasadom i przetłumacz następujące -termy: .- Parser nie mógł rozpoznać (błąd składni): {\displaystyle < \lambda(x)f > = [arg=\varsigma(x)x.arg, val=\varsigma(x)< f >\{x\leftarrow x.arg}]}
Zadanie 5
Napisz obiekt, który będzie się zachowywał podobnie jak komórka pamięci. Obiekt taki przechowuje pewną zawartość. Zawartość można zmieniać za pomocą metody ustaw i odczytywać za pomocą metody pobierz. Możesz wykorzystać fragmenty zapisane w konwencji
-rachunku.Zadanie 6
Rozbuduj obiekt z poprzedniego zadania o możliwość zrobienia kopii zapasowej zawartości (metoda kopiuj) i odtworzenia zawartości z owej kopii (metoda przywróć). Kopia zawartości może być przechowywana w dodatkowym polu kopia.
Zadanie 7*
Skostruuj obiekt działający dokładnie tak, jak w poprzednim zadaniu, ale nie używający do tego celu osobnego pola kopia.
Zadanie 8
Napisz obiekt punktzero, zawierający pola wspx i wspy oraz metody przesuńx i przesuńy. Intuicyjnie, początkowo obiekt ten odpowiada punktowi w środku układu współrzędnych. Wywołania metod przesuwają odpowiednią współrzędną o jeden.