{
Doplňte kód procedur, načtěte několik zaměstnanců (nejméně 4), pak vypište
- všechny dojíždějící motorovými prostředky
- všechny zaměstnance účtárny
- všechny, kdo pracují ve výrobě a zároveň jsou mladší 20 let
(vždy vypište zadanou tabulku, pak čekejte na stisknutí jakékoliv klávesy,
zobrazte další tabulku, ...).
Potom vypište všechny zaměstnance, zeptejte se, kterého propustit, proveďte
a znovu všechny vypište. Vyzkoušejte na druhém zaměstnanci v pořadí.
P. S. Něco je nutné přidat také na začátek, aby program fungoval.
}

type
  TDoprava = (pesky, vlak, auto, bus, kolo, kolobezka);
  TOddeleni = (vyroba, uctarna, pokladna, vedeni);
  TNazev = string[20];

  TZamestnanec = record
    prijmeni, jmeno: TNazev;
    oddeleni: TOddeleni;
    eCislo: word;
    doprava: TDoprava;          { doprava do zamestnani }
    narozen: word;              { rok narozeni }
  end;

const
  dojizdejici: set of TDoprava = [vlak, auto, bus];
  dProstredky: set of TDoprava = [vlak, auto, bus, kolo, kolobezka];
  MaxZam = 22;

var
  zam: array [1..MaxZam] of TZamestnanec;
  pocetZam: byte;

procedure VypisHlavicku;
{ smaze obrazovku a vypise hlavicku tabulky ve tvaru
  Prijmeni     Jmeno      Oddeleni     Cislo     Doprava     Narozen
  a zaradkuje (tedy pouzije writeln) }

procedure VypisZamestnance(z: TZamestnanec);
{ vypise udaje o zadanem zamestnanci zarovnane podle hlavicky, pak zaradkuje }

procedure NactiZamestnance;
{ smaze obrazovku, zjisti, zda pocet zamestnancu jeste neni na maximu,
  jestlize ne, postupne nacita jednotlive udaje o zamestnanci, uklada je
  na nejblizsi volne misto v poli zamestnanců a nezapomene zvysit hodnotu
  promenne pocetZam }

procedure PropustZamestnance(ktery: byte);
{ Jestlize existuje zamestnanec s timto poradovym cislem (tzn. cislo je mensi
  nebo rovno pocetZam), posune na jeho misto nasledujiciho zamestnance,
  na misto toho nasledujiciho dalsiho, ... az na konec pole, pak snizi pocet
  zamestnancu }

begin
...
end.