Paradygmaty programowania/Ćwiczenia 15: Inne paradygmaty warte wspomnienia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 22: Linia 22:
 
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Wskazówka:''' <div class="mw-collapsible-content" style="display:none"> Przykładowo: nazwy zmiennych zapisywane były z gwiazdką na początku, klauzule z symbolami + (głowa) i – (reszta). Klauzula
 
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Wskazówka:''' <div class="mw-collapsible-content" style="display:none"> Przykładowo: nazwy zmiennych zapisywane były z gwiazdką na początku, klauzule z symbolami + (głowa) i – (reszta). Klauzula
  
   ''p(X) :- a(X, Y), b(Y).''
+
   p(X) :- a(X, Y), b(Y).
  
 
wyglądałaby tak:
 
wyglądałaby tak:
  
   ''+P(*X) –A(*X, *Y) –B(*Y).''
+
   +P(*X) –A(*X, *Y) –B(*Y).
  
 
</div></div>
 
</div></div>
 +
 
===Zadanie 5===
 
===Zadanie 5===
 
Podaj przykłady sytuacji, w których instrukcja skoku go to wydaje się szkodliwa, i takich, w których wydaje się pożyteczna. Czy widzisz jakieś rozsądne użycie skoku w języku, który ma return, break, continue i obsługę wyjątków?
 
Podaj przykłady sytuacji, w których instrukcja skoku go to wydaje się szkodliwa, i takich, w których wydaje się pożyteczna. Czy widzisz jakieś rozsądne użycie skoku w języku, który ma return, break, continue i obsługę wyjątków?

Wersja z 21:11, 25 wrz 2006

Zadanie 1

Wymyśl program, który będziesz potrafił(a) zapisać w językach ze wszystkich paradygmatów „wielkiej czwórki”. W którym jest najmniej/najwięcej pracy? Który wydaje Ci się najmniej/najbardziej czytelny? Który lubisz najmniej/najbardziej? Dlaczego...?

Zadanie 2

Jednym z formalizmów, który wywarł duży wpływ na rozwój programowania współbieżnego, był opracowany przez Hoare’a „rachunek procesów” o nazwie Communicating Sequential Processes (CSP). W szczególności język occam powstał na bazie CSP. Dowiedz się coś więcej o CSP i napisz za jego pomocą choćby najprostszy opis.

Wskazówka:

Zadanie 3

Wyjaśnij, dlaczego w Smalltalku jedyny możliwy „błąd typu” to brak metody dla danego wywołania i dlaczego tę sytuację nazywamy błędem typu.

Wskazówka:

Zadanie 4

Składnia oryginalnego Prologu francuskiego różniła się od Prologu angielskiego (i obecnego standardu). Znajdź przykłady tych różnic.

Wskazówka:

Zadanie 5

Podaj przykłady sytuacji, w których instrukcja skoku go to wydaje się szkodliwa, i takich, w których wydaje się pożyteczna. Czy widzisz jakieś rozsądne użycie skoku w języku, który ma return, break, continue i obsługę wyjątków?

Wskazówka:

Zadanie 6

Wymień paradygmaty, z których chciał(a)byś skorzystać, pisząc oprogramowanie: (a) do całościowej obsługi dużej firmy ubezpieczeniowej, (b) bankomatu, (c) systemu nawigacji w samolocie, (d) czegoś prostego, np. elektrycznej szczoteczki do zębów. Jakie cechy zamierzonego oprogramowania i jakie cechy paradygmatów wpływają tu na Twój wybór?