DU6

Odpovědět
Uživatelský avatar
Kate
Matfyz(ák|ačka) level III
Příspěvky: 146
Registrován: 8. 1. 2005 10:52
Typ studia: Informatika Mgr.
Bydliště: Milada squat
Kontaktovat uživatele:

Příspěvek od Kate »

rastik, BB, hippies - diky moc za odpovedi.

asi se nakonec priklonim k reseni, ze svou strukturu obohatim o novou polozku pro ten identifikator (sice ji tam 99% tech veci nevyuzije, ale to uz se v tom zbytku, co jsem tam naprasila, fakt ztrati :wink: ).

chtela jsem se jen ujistit, jestli to nejde delat nejak princip. jinak, nebo na to nedejboze neexistuji v ulitackem kodu nejake pomocne funkcicky. abych nedopadla jak v DU5, kdy jsem polovinu veci kolem poli delala zbytecne a tezkopadne rucne a stacilo jen vzit a pouzit nabizene :(
Člověk si nemusí nic myslet, aby něco udělal.
Uživatelský avatar
Kate
Matfyz(ák|ačka) level III
Příspěvky: 146
Registrován: 8. 1. 2005 10:52
Typ studia: Informatika Mgr.
Bydliště: Milada squat
Kontaktovat uživatele:

Příspěvek od Kate »

level 2 predchoziho problemu. to same, ale pro pole:

f(a:integer, var b: integer)

p: array[1..2] of array[1..2] of integer

f(p[1][2], p[1][2])

stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).

nejvic mne vadi, ze rozdil v ziskani adresy prvku toho pole a hodnoty na nem je jedina instrukce :(, takze by vlastne stacilo jen ulozit ten icblock predtim, nez zavolam tu posledni (XLDx) a v pripade, ze by se pak zjistilo, ze to ma byt vareny, tak by se pouzil ten. bohuzel, bez moznosti kopirovat icblocky bez deletu originalu proste vubec netusim, jak tohle vyresit. budu vdecna za jakykoliv hint.
Člověk si nemusí nic myslet, aby něco udělal.
Uživatelský avatar
hippies
Admin(ka) level I
Příspěvky: 990
Registrován: 29. 9. 2004 12:46
Typ studia: Informatika Mgr.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Příspěvek od hippies »

Kate píše:level 2 predchoziho problemu. to same, ale pro pole:

f(a:integer, var b: integer)

p: array[1..2] of array[1..2] of integer

f(p[1][2], p[1][2])

stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).

nejvic mne vadi, ze rozdil v ziskani adresy prvku toho pole a hodnoty na nem je jedina instrukce :(, takze by vlastne stacilo jen ulozit ten icblock predtim, nez zavolam tu posledni (XLDx) a v pripade, ze by se pak zjistilo, ze to ma byt vareny, tak by se pouzil ten. bohuzel, bez moznosti kopirovat icblocky bez deletu originalu proste vubec netusim, jak tohle vyresit. budu vdecna za jakykoliv hint.
Musel bych se opakovat;)
Uživatelský avatar
Kate
Matfyz(ák|ačka) level III
Příspěvky: 146
Registrován: 8. 1. 2005 10:52
Typ studia: Informatika Mgr.
Bydliště: Milada squat
Kontaktovat uživatele:

Příspěvek od Kate »

hippies píše: Musel bych se opakovat;)
jasne :wink: .duplikovat ty pravidla budu az v nejkrajnejsim pripade, to se mi trochu prici, urcite to musi jit i jinak (doufam).
Člověk si nemusí nic myslet, aby něco udělal.
Uživatelský avatar
andree
Matfyz(ák|ačka) level III
Příspěvky: 106
Registrován: 9. 12. 2006 17:00
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

goto este raz

Příspěvek od andree »

no a co s tymi goto? chcel som to vyskusat spravit stylom, ze pri uz definovanych labeloch by som do tej instrukcie priamo hodil adresu, ale to akosi nejde (resp. som nezistil sposob ako to spravit). pisal uz niekto na ulitu, alebo sa toho ujmem?
Uživatelský avatar
BB
Matfyz(ák|ačka) level I
Příspěvky: 10
Registrován: 9. 2. 2006 00:21
Typ studia: Informatika Bc.
Bydliště: Jizni.mesto/Otava/617.B
Kontaktovat uživatele:

Příspěvek od BB »

Kate píše:level 2 predchoziho problemu. to same, ale pro pole:

f(a:integer, var b: integer)

p: array[1..2] of array[1..2] of integer

f(p[1][2], p[1][2])

stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).

nejvic mne vadi, ze rozdil v ziskani adresy prvku toho pole a hodnoty na nem je jedina instrukce :(, takze by vlastne stacilo jen ulozit ten icblock predtim, nez zavolam tu posledni (XLDx) a v pripade, ze by se pak zjistilo, ze to ma byt vareny, tak by se pouzil ten. bohuzel, bez moznosti kopirovat icblocky bez deletu originalu proste vubec netusim, jak tohle vyresit. budu vdecna za jakykoliv hint.
Opět musím říct, že hodně záleží na struktuře gramatiky (jak prokázal Hippies). Já jsem pro změnu z neterminálu proměnná odstranil identifikátor a zbyla mi tam jen pole, u kterých jsou použity nějaké indexy. O patro výš je pak dokážu snadno poznat. Předávám si v jejich icbloku jen reference a dereferencuji to až ve chvíli, kdy to potřebuji. Tam také teprve vím, jestli použít XLD nebo XST.
Jakékoliv řešení bych tedy i na Tvém místě hledal principielně stejné jako u rozlišení mezi XLD a XST (ostatně o tom vařené proměnné jsou :wink:).
Uživatelský avatar
hippies
Admin(ka) level I
Příspěvky: 990
Registrován: 29. 9. 2004 12:46
Typ studia: Informatika Mgr.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Příspěvek od hippies »

Kate píše:
hippies píše: Musel bych se opakovat;)
jasne :wink: .duplikovat ty pravidla budu az v nejkrajnejsim pripade, to se mi trochu prici, urcite to musi jit i jinak (doufam).
jen jedno pravidlo .. promenna, zbytek je stejnej;) .. rejp rejp
tm
Matfyz(ák|ačka) level I
Příspěvky: 4
Registrován: 13. 12. 2006 01:18

Příspěvek od tm »

Kate píše:stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).
icblock lze projit pres iterator, jednotlive instrukce bloku lze vlozit do noveho bloku pomoci metody append_instruction :wink:
mike04
Donátor
Donátor
Příspěvky: 79
Registrován: 23. 9. 2004 12:00
Typ studia: Informatika Mgr.
Bydliště: Děčín/ Praha
Kontaktovat uživatele:

Příspěvek od mike04 »

Uz jste nekdo odesilal reseni DU6? Pokud ano, uz vam bylo opraveno?

Ja ho uz zaslal a stale zadna odpoved.
Uživatelský avatar
Kate
Matfyz(ák|ačka) level III
Příspěvky: 146
Registrován: 8. 1. 2005 10:52
Typ studia: Informatika Mgr.
Bydliště: Milada squat
Kontaktovat uživatele:

Příspěvek od Kate »

tm píše: icblock lze projit pres iterator, jednotlive instrukce bloku lze vlozit do noveho bloku pomoci metody append_instruction :wink:
pravdu mas! vcera me iteratory taky napadly, ale prislo mi (hledala jsem asi jen v mlc, nebo fakt nevim), ze to nad tim neni. v tom pripade je problem vyresen, ja tusila, ze to nemuze byt tak hrozne ;). moc dekuji! to mam hned radost po ranu :)
Člověk si nemusí nic myslet, aby něco udělal.
Uživatelský avatar
Kate
Matfyz(ák|ačka) level III
Příspěvky: 146
Registrován: 8. 1. 2005 10:52
Typ studia: Informatika Mgr.
Bydliště: Milada squat
Kontaktovat uživatele:

Příspěvek od Kate »

BB píše: Opět musím říct, že hodně záleží na struktuře gramatiky (jak prokázal Hippies). Já jsem pro změnu z neterminálu proměnná odstranil identifikátor a zbyla mi tam jen pole, u kterých jsou použity nějaké indexy. O patro výš je pak dokážu snadno poznat. Předávám si v jejich icbloku jen reference a dereferencuji to až ve chvíli, kdy to potřebuji. Tam také teprve vím, jestli použít XLD nebo XST.
Jakékoliv řešení bych tedy i na Tvém místě hledal principielně stejné jako u rozlišení mezi XLD a XST (ostatně o tom vařené proměnné jsou :wink:).
v tom svem si prave dost dobre nedovedu predstavit, ze by se to rozhodovani (adresa/hodnota) posunovalo vys (a vys a vys ...). ta nasledna posledni instrukce by se tam musela resit na nekolika mistech, takhle vim, ze co mi prijde vys je nejaka hodnota a je mi jedno, jestli se vzala z promenne, vystupu fce nebo z prvku pole ... i kdyz uznavam, ze je to asi zase hezci nez v pripade potreby vymenit cely icblock. kazdopadne diky za tip, ja s tim varenim mela vzdycky problemy :lol:
Člověk si nemusí nic myslet, aby něco udělal.
johnny
Donátor
Donátor
Příspěvky: 95
Registrován: 13. 12. 2005 00:31
Typ studia: Informatika Mgr.
Bydliště: Trója

Příspěvek od johnny »

mike04 píše:Uz jste nekdo odesilal reseni DU6? Pokud ano, uz vam bylo opraveno?
Mám to tam uploadnuté už od prosince, ale k opravě se nikdo nemá. Přesně před týdnem jsem posílal Yaghobovi e-mail, kdy můžu čekat, že mi to opraví, neodpověděl. :(
tm
Matfyz(ák|ačka) level I
Příspěvky: 4
Registrován: 13. 12. 2006 01:18

testovaci soubor

Příspěvek od tm »

V priloze uvadim svuj testovaci soubor. Doufam, ze ho pripadne rozsirite o dalsi zaludne pripady a vratite zpet :wink:
Přílohy
test1.zip
(12.63 KiB) Staženo 134 x
Návštěvník

Příspěvek od Návštěvník »

Uhmm, na ulitě je další update, asi už si všimli té chyby se skokama. :twisted:
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Příspěvek od Almer »

Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Odpovědět

Zpět na „2006“