Zápočet 23.1.

Návštěvník

Zápočet 23.1.

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

Měl jsem za úkol naprogramovat vyhodnocování vyrazů (jsou použita celá čísla, operace +, -, *, div a libovolný počet závorek). Délka vstupu není delší než 255 znaků a je bez mezer (předpokládáme, že vstup je zadán správně).

Řešil jsem to trochu kostrbatě převodem z infixového zápisu do postfixového a následným vyhodnocením. Holan mě upozornil, že by to šlo i jednodušeji, ale program v pohodě uznal :D

Celkem mi to trvalo něco přes hodinu.
Uživatelský avatar
Zdeněk Vilušínský
Matfyz(ák|ačka) level III
Příspěvky: 110
Registrován: 16. 1. 2006 22:04
Typ studia: Informatika Bc.
Bydliště: Železný Brod/Troja A1923
Kontaktovat uživatele:

Příspěvek od Zdeněk Vilušínský »

Nezmínil se, jak jednodušeji bz to šlo? Já, že jediný co mě napadá je taky železničářův algoritmus (postorder a zaroveň vyhodnotit)
Věda je jako sex. Jistěže má nějaké praktické výsledky, ale proto ji přece neděláme. - R.P.Feynman

I krátký algoritmus může mít chování tak komplikované, že mu nerozumí ani jeho autor.
Uživatelský avatar
Trupik
Matfyz(ák|ačka) level III
Příspěvky: 251
Registrován: 3. 1. 2005 14:45
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od Trupik »

Zdeněk Vilušínský píše:Nezmínil se, jak jednodušeji bz to šlo? Já, že jediný co mě napadá je taky železničářův algoritmus (postorder a zaroveň vyhodnotit)
Prakticky stejné zadání jsme dostali na testu z C++, trošku jsem popsal i algoritmus. Algoritmus v pascalu (i se zdrojákem) je taky v Algoritmech a datových strukturách od T. Töpfera.
http://forum.matfyz.info/viewtopic.php?p=3583#3583
Domovská stránka: http://www.jakubmaly.cz/, blog: http://blog.jakubmaly.cz/
Petice proti olympiádě http://olympiada.nazory.cz

Come on you target for faraway laughter,
Come on you stranger, you legend, you martyr, and shine!
Návštěvník

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

Zdeněk Vilušínský píše:Nezmínil se, jak jednodušeji bz to šlo? Já, že jediný co mě napadá je taky železničářův algoritmus (postorder a zaroveň vyhodnotit)
pomocí procedur, co nám ukazoval na přednáškách - myslím, že se to jmenovalo výraz, člen a faktor - je to popsané i Töpferově knížce. v letním semestru bychom prý měli znát nějaký postup jak vyhodnocovat výrazy v infixu přímo
Uživatelský avatar
Zdeněk Vilušínský
Matfyz(ák|ačka) level III
Příspěvky: 110
Registrován: 16. 1. 2006 22:04
Typ studia: Informatika Bc.
Bydliště: Železný Brod/Troja A1923
Kontaktovat uživatele:

Příspěvek od Zdeněk Vilušínský »

Tak to ať se nezlobí, ale vyrobit železničáře je pro mě o řád jednodušší, než se snažit postavit ty jeho šílený procedury Výraz Člen a Faktor.
Ale asi je to individuální..
Věda je jako sex. Jistěže má nějaké praktické výsledky, ale proto ji přece neděláme. - R.P.Feynman

I krátký algoritmus může mít chování tak komplikované, že mu nerozumí ani jeho autor.
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od stnicolaus »

Zdeněk Vilušínský píše:Tak to ať se nezlobí, ale vyrobit železničáře je pro mě o řád jednodušší, než se snažit postavit ty jeho šílený procedury Výraz Člen a Faktor.
Ale asi je to individuální..
asi jsem se špatně vyjádřil. řekl, že bychom měli znát nějaký postup, jak vyhodnocovat přímo bez převodu do postfixu. mě jediné jiné řešení napadlo pomocí těch jeho procedur člen, .... on je výslovně nezmínil :D
Uživatelský avatar
Zdeněk Vilušínský
Matfyz(ák|ačka) level III
Příspěvky: 110
Registrován: 16. 1. 2006 22:04
Typ studia: Informatika Bc.
Bydliště: Železný Brod/Troja A1923
Kontaktovat uživatele:

Příspěvek od Zdeněk Vilušínský »

Tak to pak jo :)
To se dá vždy najít výraz , který jde nahradit výsledkem. Ale je to dost pomalé. Nicméně prý vcelku snadné naprogramovat..
Věda je jako sex. Jistěže má nějaké praktické výsledky, ale proto ji přece neděláme. - R.P.Feynman

I krátký algoritmus může mít chování tak komplikované, že mu nerozumí ani jeho autor.
Odpovědět

Zpět na „2005“