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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Wkm (dyskusja | edycje)
Wkm (dyskusja | edycje)
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
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?
Linia 36: Linia 37:
</div></div>
</div></div>
===Zadanie 6===
===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?
Wymień paradygmaty, z których chciał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?

Aktualna wersja na dzień 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ł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?