zap 28.6. - 2.kolo

banan
Matfyz(ák|ačka) level I
Příspěvky: 40
Registrován: 14. 6. 2005 14:50
Typ studia: Informatika Bc.
Bydliště: Troja

zap 28.6. - 2.kolo

Příspěvek od banan »

Zadanie bolo nasledovne: program mal postupne spracovat riadky vstupneho suboru a rozhodnut, ci je riadok zapisany syntakticky spravne. Riadok mal nasledovnu strukturu:

deklaracia; deklaracia; vyraz

Zopar konkretnych prikladov spravnych riadkov:
a:int; meno, titul: string; (1 + a) * meno + " " +titul
1 + 2
a : int; a : int; 4 / 5
a : int ;" ahoj" + "\\" + "\"" + 3 * "pozor" + ("r" * 2)
;; 4
1 / 0
int:int; string:string; int * string

Chybne riadky:
---a:int; 1
a: kapusta; b:string; 2
a:int; a:string; 3
a:int; b:string; (a + 2) * (b + "retacez") + 2
(1 + 2) * (1 + 3) - ( 23 - (1

V deklaracii boli povolene c-kovske identifikatory ([A-Za-z_][A-Za-z0-9_]*) oddelene ciarkou ',' - na konci bol za dvojbodkou ':' uvedeny typ a to bud 'int', alebo 'string'.

Obidve deklaracie su optional.

Za poslednou bodkociarkou na riadku ';' sa nachadzal vyraz, ktory mal program preskumat a zhodnotit, ci je syntakticky spravny. Int-y bolo mozne nasobit, delit, scitavat, odcitavat. Int a string bolo mozne nasobit (vysledkom bol string) a stringy bolo mozne scitavat.

Ak bol riadok spravny, do vystupneho suboru program zapisal "Ok", v opacnom pripade zapisal na vystupny riadok jednoducho "Error". Inymi slovami: program nemal vyraz vyhodnotit (i ked i s touto myslienkou chvilu zadavatel ulohy koketoval ;-) ) - len urcit ci je spravne zadany => cisla i identifikatory mohli byt lubovolne dlhe.

Uspesnost nebola vysoka. Zapocet nakoniec bolo mozne dostat, i ked program v niektorych krajnych pripadoch nepodal spravny vysledok a bolo jasne, ze je mozne chybu v priebehu 20 min opravit :-).
Jakobicek
Matfyz(ák|ačka) level II
Příspěvky: 53
Registrován: 26. 1. 2006 12:42
Typ studia: Informatika Bc.
Bydliště: Praha... VSE/MATFYZ

Příspěvek od Jakobicek »

no uf... za chvili bude za ukol napsat quaka... jak se toto proboha resi,.. jenom parsovani te radky je dost narocne o dalsim zpracovani ani nemluve... :roll: kolik bylo casu... :?:
no koukam ze tu jsou i escape sekvence na uvozovky... potes panbuh a vsichni svaty to je des a hruza...
no o vyhodnoceni daneho vyrazu o kterem udajne snad podle textu v druhem threadu zadavatel uvazoval... radsi ani nemluve...
obtiznost zadani je opravdu VELMI nevyvazena...
nemam na to pravo ale mozna by stalo za to zvazit nejake rozumne sjednoceni obtiznosti testu mezi jednotlivymi testy
treba neco jako pred prvnim kolem se sejde katedra a dohodnou se co bude ktery den za priklad...
snad by se tak zabranilo uletum na obe strany
samozrejme je velmi obtizne dopredu posoudit obtiznost prikladu... ovsem mozna ze prislovi vic hlav vic vi by zde pomohlo...
jinak je to velka loterie :cry:
Minsk will lead with blade and sword Boo will sort out the details
LordWolverin
Matfyz(ák|ačka) level I
Příspěvky: 25
Registrován: 30. 1. 2005 12:18
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od LordWolverin »

Moudra slova, neco takoveho by urcite neuskodilo. Jinak, jak jsem psal ve vedlejsim tematu - ofiko 2,5 hodiny, po trech hodinach nikdo ani tuk. Ja jsem nakonec (uz pri snizenych narocich) dobyl vitezstvi po cca 4,5 hodinach. Brrr.
Uživatelský avatar
peva
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 25. 1. 2006 20:21
Typ studia: Informatika Bc.

Příspěvek od peva »

Jjo mne sa to podarilo asi po 5 hodinach a nieco, ked mi uz len unavene hovoril, nech vymyslim 7 prikladov, kde to funguje, podotykam, ze sa nesnazil nejak zvlast naznacit, ze by to mali byt zakernosti, proste to len malo fungovat. A tak,po predvedeni par jednoduchych prikladkov, mi to dal s poznamkou, nech si to za domacu ulohu este naprogramujem...:)))))
Jakobicek
Matfyz(ák|ačka) level II
Příspěvky: 53
Registrován: 26. 1. 2006 12:42
Typ studia: Informatika Bc.
Bydliště: Praha... VSE/MATFYZ

Příspěvek od Jakobicek »

problem u takovychto prikladu je ze vetsinou diky vysokym pozadavkum na zacatku... ve snaze osetrit vsechno mozne zaneradite to co by na konci stacilo celkem v klidu k ziskani zapoctu mnoha chybami...
rada pro dalsi generace... kdyz poznate ze to zadavatel spatne odhadl naprogramujte jen zakladni funkce... nad vecmi typu escapovanych uvozovek se vubec nezamyslejte...
z vlastni zkusenosti vim ze narokova funkce konverguje rychle k nule
//jediny duvod proc mam zapocet :oops:
Minsk will lead with blade and sword Boo will sort out the details
LordWolverin
Matfyz(ák|ačka) level I
Příspěvky: 25
Registrován: 30. 1. 2005 12:18
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od LordWolverin »

Mno, to jsme na tom podobne... Ale hlavne ze je, jak, na to se historie ptat nebude :)
Odpovědět

Zpět na „2005“