Zkouška 2.6.2017

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zkouška 2.6.2017

Re: Zkouška 2.6.2017

od 570RM4G3DD0N » 4. 6. 2017 13:15

KofiAddict píše: Dobře se to řešilo přes AWK s RS="" a FS="

", když si to člověk celý narval do paměti a pak to znásilnil v ENDovým bloku.
Jen bych opravil, že FS má být nastaven na mezeru. Jde o to, že AWK při nastavení RS na prázdný string bere jako record separator posloupnost new-line characterů, což se mimořádně hodí na zpracovaní rfc_index a loc_index. Sám Forst nám i po zadání poradil, abychom si vzpoměli, jak se AWK chová, pokud nastavíme RS na prázdný string.

Forst byl při hodnocení celkem shovívavý, šlo mu spíše o celkovou ideu řešení a schopnost efektivně využít featury shellu/awk, ne o technické detaily a úplnost (snad nikdo to nestihl celý) řešení.

Totéž zadání bylo už dříve, tedy další info lze nalézt http://forum.matfyz.info/viewtopic.php? ... 36&p=26049 a http://forum.matfyz.info/viewtopic.php? ... 881&p=1799

Zkouška 2.6.2017

od KofiAddict » 3. 6. 2017 13:43

Zadání Unix 2.6. 2017

Mějme adresář, v něm soubory:
rfc-index.txt
loc-index.txt
rfc[cislo].txt kde misto [cislo] je číslo rfc dokumentu

loc i rfc-index mají v sobě záznamy ve formátu

XXXX [text
]+

oddělené prázdnou řádkou.
Navíc v loc jsou rozdělené do sekcí ve formátu

---- [Názevsekce]:

měli jsme vytvořit program AddRFC, který:
bez přepínačů zkontroluje, jestli v loc-index jsou všechny záznamy pro každý rfc dokument v adresáři a jestli nějaký
záznam není navíc, pokud záznam chybí, nabídnout možnost smazat file nebo přidat záznam z rfc-index do sekce, na kterou
se zeptáme uživatele

přepínače:
-s [sekce] která sekce se má kontrolovat
-f [file]+ které fily se mají kontrolovat
-r [cislo|interval,]+ jaké čísla rfc se mají kontrolovat, kde normální čísla jsou oddělené čárkou, a intervaly jsou ve
formátu [cislo]-[cislo]
-n [file] implicitně bez parametru je file loc-index, a kontrola se provádí jen na novějších souborech

kromě toho měl program kontrolovat, jestli každý záznam v loc-index byl stejný, jako jeho protějšek v rfc-index
a upozornit uživatele, pokud nějaké rfc bylo obsoleted

Dobře se to řešilo přes AWK s RS="" a FS="

", když si to člověk celý narval do paměti a pak to znásilnil v ENDovým bloku.

Snad jsem na nic nezapomněl.

Výsledky:
ze 17 lidí
12 prošlo, myslím 5 jedniček, 3 dvojky a 4 trojky
2 šli mluvit
3 poslal domů, že s nimi nemá o čem mluvit a mají za 4

Nahoru