termin 2.6. 2009

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.
vlastagf
Matfyz(ák|ačka) level I
Příspěvky: 7
Registrován: 26. 5. 2009 14:42
Typ studia: Informatika Bc.

termin 2.6. 2009

Příspěvek od vlastagf »

dneska jsme dostali asi 5 let starou ulohu, WHOIS Import.
zadani bylo asi takovehle.
na vstupu byly soubory lide, pracoviste, lide.format, pracoviste.format.
v souboru lide byly nasledujici sloupecky
NUM, NAME, EMAILY(>=0), TELEFONY(>=0), NODY(>=1, asi)
v souboru pracoviste byly sloupce
ID, NAME, FUNCKIONARI(>=0), PARENT

mezi sloupci byl separatorem tabulator.
sloupce mohly byt ruzne prehazene a na zacatku se prave podle formatu muselo zkontrolovat, jestli tam jsou.

pracoviste tvorily strom, kdy kazde pracoviste melo zadano svoje "parent" pracoviste, root mel jako parent "-" (resp, vzdy kdyz nebyla ve sloupci hodnota, bylo tam "-")
kazde pracoviste melo ve sloupci FUNKCIONARI ulozeny NUM lidi (>= 0), kteri v nem meli nejakou fci.
lide pak meli ve sloupci NODY vsechny sve pracoviste, kde to prvni bylo primarni.

ukolem bylo z tehlech dvou souboru udelat vystupni souboru, pro import do databaze, melo to vypadat asi takhle

pracoviste "ID" {
>>### nejdriv udaje o samotnem pracovisti
>>nazev "NAME"
>>funkcionar "FUNKCIONAR #1"
>>....
>>funkcionar "FUNKCIONAR #n"
>>
>>### pak o vsech lidech, co meli tohle pracoviste jako primarni
>>clovek "NUM" {
>>>>jmeno "NAME"
>>>>email "EMAIL #1"
>>>>....
>>>>email "EMAIL #k"
>>>>telefon "TELEFON #1"
>>>>....
>>>>telefon "TELEFON #l"
>>}
>>....
>>### dale pak lide, kteri pracoviste nemeli jako primarni, ale meli ho v seznamu pracovist
>>clovek "nahodne vygenerovane jedinecne num" {
>>>>num "opravdove id ze vstupu"
>>}
>>....
>>### a nakonec vsechna pracoviste, ktera mela tohle jako parent
>>pracoviste "ID" {
>>>>....
>>}
...
...
...
}

EDIT: > - znazorunuje odsazeni, ktere po nas chtel.

na zkousku nas z 15 prislo asi 13, 3 neodevzdali uz po pisemne, 2 neudelali, 3 sli na prezkouseni a ja si pockal az uplne na konec, protoze Forst moji pisemku nestihl opravit -). z ustni nakonec vsichni odesli s usmevem.
Martin T.

Re: termin 2.6. 2009

Příspěvek od Martin T. »

Trošku opravím zadání. Výstupní struktura měla být následující:

node ID { # zkratka pracoviště
name NAME
func Nxxxx # pro každého funkcionáře. N je identifikátor funkce, xxxx je osobní číslo

node ID { # pro každého potomka
...
}

person NUM { # osobní číslo
name NAME
email EMAIL # pro každý email
phone TELEFON # pro každý telefon
node NODE # pro každé pracoviště, kde pracuje
}
}

Pokud osoba již má záznam person, ve všech dalších pracovištích musí být místo něj použit záznam link:
link ID { # jedinečné (v rámci person i link) číslo
ref NUM # osobní číslo zaměstnance
}
Odpovědět

Zpět na „SWI095 Úvod do UNIXu“