Wpis z mikrobloga

#informatyka
#programowanie
#java
#studbaza

Tak ostatnio z ciekawości zajrzałem na starą pocztę ze studiów i zobaczyłem oprócz spamu, zadania, a raczej projekty z programowania współbieżnego do wykonania na zaliczenie lab.
O to treść jednego z nich:
Język implementacji: Ada
Środowisko implementacyjne: GNAT Ada 95, Java 5+
Termin wykonania: ostatnie zajęcia laboratoryjne

Podstawowe wymagania:
a) liczba procesów sekwencyjnych powinna być dobrana z wyczuciem tak, aby zachować czytelność interfejsu i jednocześnie umożliwić zobrazowanie reprezentatywnych przykładów,
b) kod źródłowy programu musi być tak skonstruowany, aby można było „swobodnie” modyfikować liczbę procesów sekwencyjnych (za wyjątkiem zadań o ściśle określonej liczbie procesów),
c) obok poprawnej identyfikacji sekcji krytycznych program musi brać pod uwagę czytelność
i estetykę interfejsu użytkownika oraz zdolność percepcji osoby oceniającej,
d) obowiązuje zakaz konstrukcji interfejsu na zasadzie wypisywania kolejnych linii na ekran,
e) dodatkowo, ekran także jest współdzielonym zasobem i w tym celu:
- program zawiera dedykowane zadanie (task) wypisujące komunikaty na ekranie, z którym pozostałe zadania odbywają spotkanie w celu wypisania odpowiedniego komunikatu,
- dla zadań laboratoryjnych, dla których podstawowym mechanizmem synchronizacji jest spotkanie, ekran należy chronić obiektem chronionym (monitorem) zamiast zadania (task) odbywającego spotkania.

Sprawozdanie powinno zawierać następujące elementy:
1) stronę tytułową,
2) niniejszą treść zadania,
3) syntetyczny opis problemu – przyjęte założenia,
4) wykaz współdzielonych zasobów,
5) wykaz wyróżnionych sekcji krytycznych,
6) wykaz obiektów synchronizacji,
7) wykaz procesów sekwencyjnych,
8) listing programu.

Warianty zadań:
- wariant 1 - semafor ogólny z pakietu Sem83 (Ada), monitory (Java);
- wariant 2 - mechanizm spotkaniowy (Ada), semafor (Java);
- wariant 3 - semafor binarny z pakietu Sem95 (Ada), monitor (Java);
- wariant 4 - obiekt chroniony (Ada), semafor (Java);
Każde zadanie należy rozwiązać jedną metodą.

Wariant zadania: wariant 1.
Problem do rozwiązania: centrum rozrywki
Założenia:
k (k>=2) pięter, n (n>2) schodów ruchomych, x (x>5) sal kinowych na każdym piętrze powyżej 1-ego;
sale i schody mają ograniczoną pojemność;
na parterze są restauracje i kawiarnie (każdego rodz.>6);
na piętrze 1: bilard (2 sale), dyskoteka (1), miejsce zabaw dla dzieci (2);
klienci przychodzą jednym trzech wejść (parter), tyle samo jest wyjść;
każdy klient może wyjść z centrum, gdy:
zobaczy co najmniej 2 filmy lub skorzysta z jednego miejsca na 1 piętrze;
zje w restauracji lub kawiarni;
co losowy klient nie kończy rozrywki po pobycie w restauracji lub kawiarni lecz wybiera inną.

Cała reszta

Jakby ktoś chciał się pouczyć i zakodzić np. w Javie.
  • 5