zapocet 07.06.2006

LnK at 2006-06-09 15:11:24

Tak zpetne jeste stredecni zapocet:

Ukolem bylo napsat zjednoduseny ceckovy preprocesor. Na standardnim vstupu je tedy text, ktery obsahuje jednak obycejne radky a jednak definice vypadajici takto:
#define Jmeno_definice Za co nahradit
V dalsich radcich bylo pak nutno vyhledat vsechna slova, ktera uz byla zadefinovana, a do vystupniho textu je nahradit prislusnymi definicemi (radky s definicemi se samozrejme nevypisuji)
Aby to nebylo tak jednoduche, definice mohou byt i s parametrem, tedy napr:
#define Secti(a,b) (a)+(b)
a pri naslednem vyskytu Secti(4,5) je toto textove nahrazeno za (4)+(5).
Krome nazvu definice byla delka vseho (radku, poctu definic, delky textu, kterym se nejaka definice nahrazuje,...) neomezena, vstup nemusi byt korektni (napr. nemusi odpovidat pocty parametru).

Noo, docela sila a asi nejen pro me :? Po dvou a pul hodinach, ktere na to byly stanoveny, byly uspechy temer nulove. Mily dozor nam pote ulohu zjednodusil a casovy limit prodlouzil o hodinu (s konstatovanim, ze obtiznost ulohy asi trochu prestrelili) :) Nyni, kdyz vsechno ostatni fungovalo uplne korekne, postacilo odevdat program, ktery neresil definice s parametry. Diky tomu par desitek minut po prodlouzenem limitu odchazelo lidi se zapoctem o mnoho vice - vcetne me :D

Myshaak at 2006-06-12 23:13:43

No do chuja!!!
Tak to me pekne nastvalo toto. ~:/ Kua!
Byla to celkem dost jakoze sila, snazil jsem se, ale kdyz zbyvalo asi 35 min do konce, tak to nebylo vubec hotove. Nacitani a hledani maker, to uz bylo nak vyresene, ale vubec jsem tam nemel implementovany parametry, jak jejich identifikatory najit v tele makra (nemusely byt oddeleny mezerou, ale treba zavorkou) ap. + jeste vychytat par pripadu... Tak jsem realisticky zvazil, ze za trictvrte hodky to napsat a odladit nestihnu, toz jsem to zabalil a sel dom. Jenze!!!!! ~:((
Kdybych tam zustal a dozvedel se, ze nemusim resit parametry, tak mi to stacilo trochu doladit (coz bych za tu hodiny snad zvladl :) ) a mel bych to. Buuu!
Takze pouceni pro dalsi generace: nevzdavejte to dopredu, kdyz mate aspon neco!! :)

Adewzen at 2006-06-13 00:01:43

My jsme skoro necvičili samotný C a proto byl velký šok, že C++ nebylo dovoleno! Tvrdil. že by úloha byla o hodně lehčí... Jak sleduji úspěchy, byla by s C++ akorát tak těžká.
Vzhledem k tomu, jsme to zabalil po hodině. Pak jsem psal mailík Yaghobovi(náš cvičící) a ten tvrdí, že C++ povoleno být musí. Takže termín v pr... jenom pro komunikační zmatky mezi cvičícími. Ach jo.

Lukas Mach at 2006-06-13 01:07:11

Adewzen wrote:My jsme skoro necvičili samotný C a proto byl velký šok, že C++ nebylo dovoleno! Tvrdil. že by úloha byla o hodně lehčí... Jak sleduji úspěchy, byla by s C++ akorát tak těžká.
Vzhledem k tomu, jsme to zabalil po hodině. Pak jsem psal mailík Yaghobovi(náš cvičící) a ten tvrdí, že C++ povoleno být musí. Takže termín v pr... jenom pro komunikační zmatky mezi cvičícími. Ach jo.

Co jste se ale mohli ucit z C++, ze by to pomohlo pri zapoctu? OOP u prikladu na par hodin jenom zdrzi. Ten "zakaz C++" byl asi myslen tak, ze tam nemuzete pouzivat STL, coz je celkem logicky, protoze tak by bylo mozny delat dynamicky veci a ani pri tom nepotkat pointer:

std::vector<int> pole; 
pole.push_back(123);
pole.push_back(456);
pole.push_back(9);

Nevim ani, jestli to vubec bylo na prednasce. Ale jestli uz mate procviceny i takovyhle veci, tak to beru zpet...