zk 20.6 2017 fakulty

Seznámení se základními principy operačního systému UNIX, převážně z uživatelského hlediska. Absolvent kurzu by měl být schopen napsat netriviální program v shellu.

zk 20.6 2017 fakulty

Příspěvekod ttt » 21. 6. 2017 10:34

Dnešní zadání zkoušky:
Máme na vstupu soubory
Pracoviště- v jednotlivých řádcích údaje o jednom "uzlu" univerzity- jako katedry, nějaký sekretariáty apod, prostě jakoby stromová struktura. Na každé řádce je tedy ID(zkratka), celé jméno, rodič (instance, pod kterou ten uzel spadá), funkcionáři (vždy ve tvaru Xnnnn, kde X je nějaké písmeno, které udává tu pozici pracovníka a za tím je id pracovníka. Např. V12345 je třeba vedoucí s id 12345). Pokud je jich víc, jsou odděleni středníkama, jinak pole jsou oddělená tabulátorama

Osoby- na každé řádce ID, jméno (s mezerama), telefon, e-mail, id všech pracovišť, kde je zaměstnaný (první v pořadí je hlavní). Zase může být něčeho víc, pak jsou tam středníky.

Nevíme, v jakém pořadí jsou sloupce v souborech, dostaneme ještě soubory pracoviste.cfg a osoby.cfg, kde je jen jedna řádka s těmi hlavičkami sloupců ve správném pořadí.

Úkolem je z toho vytvořit 1 soubor, který bude zobrazovat tu stromovou strukturu. Má vypadat nějak takhle:

node id (pracoviste) {
name jméno pracoviště
func Xnnnn
func Vnnn
...
node id {
name
... {
person id {
name jméno
phone číslo (opakovaně)
e-mail .. (opakovaně)
}
}
}

a ještě jedna důležitá věc- pokud má osoba více zaměstnání, píšeme ji jen na to hlavní (první) a na ostatní musíme vygenerovat nepoužité id a místo toho person tam napsat :
link {
ref nnnn (nové číslo)
}
To samé napíšeme, pokud je někde funkcionář uvedený v seznamu pracovišť, ale nemá to pracoviště uvedené u sebe- taky tam dáme jenom link a vedle toho "X" napíšeme nové číslo.

A to je asi všechno. Prý to bylo nejsnazší v awk, ale šlo to v pohodě i bez toho. Myslím, že asi 6-7 lidem to uznal rovnou, 4 šli na pohovor a 4 to neudělali.
ttt
 

Zpět na SWI095 Úvod do UNIXu

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků