Zadanie zaliczeniowe nr 1
                   (MSUI.JiPP-PO 2003/2004)
                               
Napisz  w  Smalltalku hierarchię klas opisujących  pracowników.
Wyraź w tej hierarchii następujące fakty:
  ·    wszyscy pracownicy są ludźmi,
·    każdy kierownik, konsultant i asystent  jest pracownikiem.
Stwórz też klasę opisującą biuro. Tak zaprojektuj klasy by:
  ·    każdy człowiek znał swoje imię i nazwisko,
·    każdy pracownik znał swoje biuro,
·    każdy kierownik znał swoich bezpośrednich podwładnych,
·    każdy konsultant znał swoją dziedzinę (tu wystarczy, że
będzie znał jej nazwę),
·    każdy asystent znał swojego przełożonego,
  ·    każde biuro znał swoich pracowników,
·    każde biuro miało nazwę.

Każdy  z  ludzi  musi umieć  podać swój opis w  postaci  napisu
(komunikat print). Opis ma zawierać wszystkie informacje, które
zna   dany   człowiek  (np.  nazwę  biura,  czy  nazwę   swojej
dziedziny).  Biuro  powinno  wypisywać  swój  opis  do  okienka
Transcript.  Opis  biura to jego nazwa i  opisy  poszczególnych
pracowników. Pamiętaj, żeby nie pisać od nowa rzeczy, które raz
już napisałeś i pamiętaj o zasadzie „leniwy ale uczciwy”.

Napisz fragment programu w Smalltalku, który utworzy kilka (ok.
10)   obiektów   reprezentujących  pracowników  pracujących   w
przykładowym  biurze  na różnych stanowiskach,  umieści  ich  w
jednym biurze, a następnie wypisze opis biura. Zadbaj o to,  by
tworzenie nowych obiektów było jak najprostsze.

  ·     Pisanie  do  okienka  Transcript realizuje  następujące
     wyrażenie: <napis> out (metoda out wykorzystuje metodę print).
     Napisy można ze sobą łączyć operacją , .

Posługiwanie się kolekcją:
  ·    OrderedCollection new, daje nową (pustą) kolekcję,
·    k add: x, dodaje na koniec kolekcji k nowy element x,
·    k do: [ :p | <zrób coś z p> ], wykonuje czynność <zrób coś
z p> dla każdego elementu kolekcji k. Opis czynności to dowolny
ciąg instrukcji Smalltalkowych porozdzielanych kropkami. Można
w nim odwoływać się do obiektu p (nie podając dwukropka).
Uwaga: zarówno nawiasy [ ] jak i kreska pionowa | są w tym
przykładzie potrzebne.