Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Machr na Algoritmy - Parser matematických výrazů

Aktivity
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:14.7.2013 17:27

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
You are the greatest project you will ever work on.
Avatar
Odpovídá na David Hartinger
Michael Olšavský:14.7.2013 17:50

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

 
Nahoru Odpovědět
14.7.2013 17:50
Avatar
Odpovídá na Michael Olšavský
Michal Žůrek - misaz:14.7.2013 17:57

asi ne, nebylo by to fér

 
Nahoru Odpovědět
14.7.2013 17:57
Avatar
Michal Žůrek - misaz:14.7.2013 18:00

jaké to musí podporovat operátory?

 
Nahoru Odpovědět
14.7.2013 18:00
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michael Olšavský
David Hartinger:14.7.2013 21:01

Když je tvůj, tak proč ne :)

Nahoru Odpovědět
14.7.2013 21:01
You are the greatest project you will ever work on.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michal Žůrek - misaz
David Hartinger:14.7.2013 21:01

Tyhle:

+ - * /

a závorky.

Editováno 14.7.2013 21:02
Nahoru Odpovědět
14.7.2013 21:01
You are the greatest project you will ever work on.
Avatar
vitamin
Člen
Avatar
vitamin:15.7.2013 21:42

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:16.7.2013 13:45

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):16.7.2013 13:48

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
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
vitamin
Člen
Avatar
vitamin:16.7.2013 16:30

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

 
Nahoru Odpovědět
16.7.2013 16:30
Avatar
martinsakra
Tvůrce
Avatar
martinsakra:21.7.2013 13:15
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:21.7.2013 14:37

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

 
Nahoru Odpovědět
21.7.2013 14:37
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:21.7.2013 19:45

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

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
21.7.2013 19:45
You are the greatest project you will ever work on.
Avatar
vitamin
Člen
Avatar
Odpovídá na David Hartinger
vitamin:21.7.2013 20:58

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 Hartinger
Vlastník
Avatar
Odpovídá na vitamin
David Hartinger:23.7.2013 18:01

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
You are the greatest project you will ever work on.
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.