Výpočet modu v ASP.NET MVC
Do soutěže Machr na C# za 3. týden v roce 2014 jsem udělal webovou aplikaci, která vypočítá modus zadaných čísel v textové podobě (např: sto, pět, dvacet tři) (oddělených čárkou) a ty pak vypíše v číselné podobě. Chtělo to tedy, aby aplikace uměla převést text na číslo, zjistit modus no a nějak to zapakovat do MVC. Protože zadání je u těchto soutěží volné, tak jsem to nedělal v C#, ale ve Visual Basic .NET a placku jsem si odnesl za objektově orientované programovaní.
Výpočet modu
Výpočet modu je celkem snadný, nejprve nám metoda Priprav() připraví prvky. Čili rozdělí je podle čárky a pokud je kolem nich mezera, tak ji odstraní. Dále budeme mít slovník, kde klíč je číslo (pořád v textové podobě) a druhé jeho počet. Pokud narazíme na číslo které již v slovníku je, inkrementujeme jeho hodnotu. Na konci vybereme všechny maxima, převedeme je na číslo a vypíšeme.
Převod číslo <> text
Pro tuto aplikaci jsem naprogramoval převodník čísla na text, tento překladač nám dokáže převést číslo sto na 100 a naopak. Funguje jednoduše, v případě převodu text > číslo si číslo rozdělí podle mezer a zjistí počet těch části, podle toho postupuje.
1 část: ověří pokud to jsou jednotky (1, 2, 3, ..., 9), pokud to jednotky nejsou ověří desítky (10, 20, ..., 90), pak o věří druhou desítku (11, 12, ..., 19) no a pokud ani to tak to bude leda 100. 2 části: jednoduše to seskládá 1. část jsou desítky (20, 30, ... 90) a 2. část jednotky (1, 2, ..., 9)
Převod naopak je podobný, zjistíme délku řetězce, který získáme voláním toString na číslo nebo ve Visual Basicu dojde k přetypování automaticky. Pak zjišťujeme délku:
1 znak: jen jednotky 2 znaky: desítka a jednotka 3 znaky: 100
Tímto máme převod hotový.
Nakonec už jsem aplikaci pouze seskládal do kupy, ostyloval ji a zařadil
do soutěže. Pokud chcete se procvičit v ASP.NET MVC nebo i čemkoliv jiném,
sledujte na fóru tyto soutěže Machr na *, každý týden je jiná, nejsou moc
těžké a s plackou vypadáte jako opravdoví machři.
Galerie

Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 164x (2.72 MB)
Aplikace je včetně zdrojových kódů v jazyce C#