Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Ahoj, v minisoutěži o modrou placku Machr na Algoritmy na tento týden si zkusíme naprogramovat parser matematických výrazů. Vzhled aplikace není důležitý, může být jak formulářová, tak konzolová. Na vstupu aplikaci zadáme příkaz, např:

3*(10-5)/2-1

a ona vypíše výsledek. Půjde vám to nejlépe s použitím zásobníku a dávejte pozor na přednosti operátorů a závorky. Autor nejfunkčnějšího a nejpřehlednějšího kódu získá placku Machr na Algoritmy a samolepky. Můžete se zúčastnit s libovolným programovacím jazykem, kód typu eval(priklad) není brán jako řešení úlohy :)

Deadline si dejme v neděli 21.7. v 18:00

Editováno 14.7.2013 17:28
Odpovědět 14.7.2013 17:27
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Michael Olšavský:

Mohu pouzit do soutěže svůj zde zveřejněny parser?

 
Nahoru Odpovědět 14.7.2013 17:50
Avatar
Nahoru Odpovědět 14.7.2013 17:57
Nesnáším {}, proto se jim vyhýbám.
Avatar
Michal Žůrek (misaz):

jaké to musí podporovat operátory?

Nahoru Odpovědět 14.7.2013 18:00
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 14.7.2013 21:01
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
David Čápka:

Tyhle:

+ - * /

a závorky.

Editováno 14.7.2013 21:02
Nahoru Odpovědět 14.7.2013 21:01
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
vitamin
Člen
Avatar
vitamin:

Cisla mozu byt len cele? Mozu sa zadavat len v dekadickom tvare alebo aj v oktalovom (vecsinou s prefixom 0), hexa (s prefixom 0x) a pripadne aj binarnom (0b)? Ak mozu byt aj realne, je mozne zadat cislo pomocou vedeckej notacie (2.3e-4)?
Moze vyraz obsahovat unarne - a + ?
Mozem pouzit c++? (pripdane aj boost::spirit:qi :D)

 
Nahoru Odpovědět 15.7.2013 21:42
Avatar
vitamin
Člen
Avatar
vitamin:

Takto by to mohlo vyzerat: http://uloz.to/…t/parser-zip

 
Nahoru Odpovědět 16.7.2013 13:45
Avatar
Martin Konečný (pavelco1998):

Ahoj,

měli jsme toto za DÚ do školy (který nakonec ani kontrolován nebyl). Nevím, jestli je to platné, ale aspoň na ukázku. :)
Zabil jsem tím asi 10 hodin.

http://ulozto.cz/…lculator-rar

Edit: Je to v PHP, tudíž internetová verze kalkulačky.
Musím ale říct, že nefunguje na 100% (například pokud odečítáte číslo vypočtené ze závorky, které taky vyjde záporné, tak i přesto se to odečítá namísto toho, aby se to sečetlo).

Editováno 16.7.2013 13:49
 
Nahoru Odpovědět 16.7.2013 13:48
Avatar
vitamin
Člen
Avatar
vitamin:

Tu je opravena verzia: http://uloz.to/…2/parser-zip

 
Nahoru Odpovědět  +1 16.7.2013 16:30
Avatar
martinsakra
Redaktor
Avatar
martinsakra:
https://mega.co.nz/#!WdVEnI4R!VLI3PCLi4MVXbEYr03Nb70jl94YPvQS9RfA8XpoKmgg

Vím že to nejjednodušeji jde přes zásobník,ale zkusil jsem to trochu jinak + nebylo na to tolik času, takže neručím za 100% funkčnost

Editováno 21.7.2013 13:16
Nahoru Odpovědět 21.7.2013 13:15
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
petr
Neregistrovaný
Avatar
petr:

http://uloz.to/…-devbook-rar tady moje vele- dílo

 
Nahoru Odpovědět 21.7.2013 14:37
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Jak jsem již psal u dnešního machra na PHP, kvalita zdejších výtvorů je poměrně vysoká a je jich také vysoký počet. Hodnocení je velmi těžké a také subjektivní, navíc i když jsem nad tím strávil poměrně dost času, určitě jsem parsery dokonale neotestoval.

Nejvíce se mi líbila práce vitamina, který úlohu zpracoval pomocí tokenizeru a zároveň udržel kód poměrně krátký a přehledný, placka je tedy tvoje, napiš prosím adresu x do PM.

Velmi zajímavé byly také výtvory matesaxe a mranakonda47, i když zde to již hodně nabývalo co se kódu týče, samozřejmě jak jsem psal to je subjektivní dojem a záleží na případu užití, pokud by z toho mělo být něco většího, tak je to naopak dobře. Nejsem schopen bodově ohodnotit jednotlivé programy, jelikož je zde spoustu různých přístupů a také různých jazyků. Nezlobte se tedy prosím na mě, že jsem nevybral zrovna ten váš, jelikož placku bohužel nemůžu dát všem, protože by soutěž ztratila smysl :) Jsem rád, že se tu sešlo tolik pěkných programů a budu se na vás těšit příští týden u další soutěže, šanci máte všichni a vymyslím po tomhle zas něco odlehčujícího :P

Nahoru Odpovědět 21.7.2013 19:45
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
vitamin
Člen
Avatar
Odpovídá na David Čápka
vitamin:

Mohol by si sem dat linky na parsery uzivatelov ktorim to z vecsiny fungovalo?

 
Nahoru Odpovědět 21.7.2013 20:58
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na vitamin
David Čápka:

Určitě, nahrál jsem vše do archivu: https://dl.dropboxusercontent.com/…y_parser.zip

V blízké budoucnosti se výtvory budou automaticky po deadline vystavovat, ale musí to někdo naprogramovat :)

Nahoru Odpovědět 23.7.2013 18:01
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.