Výpočet modu v ASP.NET MVC
Do súťaže Machr na C# za 3. týždeň v roku 2014 som urobil webovú aplikáciu, ktorá vypočíta modus zadaných čísel v textovej podobe (napr: sto, päť, dvadsať tri) (oddelených čiarkou) a tie potom vypíše v číselnej podobe. Chcelo to teda, aby aplikácia vedela previesť text na číslo, zistiť modus no a nejako to zapakovat do MVC. Pretože zadanie je u týchto súťaží voľné, tak som to nerobil v C #, ale vo Visual Basic .NET a placku som si odniesol za objektovo orientované programovanie.
Výpočet modu
Výpočet modu je celkom jednoduchý, najprv nám metódy prípravy () pripraví prvky. Čiže rozdelí je podľa čiarky a ak je okolo nich medzera, tak ju odstráni. Ďalej budeme mať slovník, kde kľúč je číslo (stále v textovej podobe) a druhé jeho počet. Ak narazíme na číslo ktoré už v slovníku je, inkrementuje jeho hodnotu. Na konci vyberieme všetky maximá, prevedieme je na číslo a vypíšeme.
Prevod číslo <> text
Pre túto aplikáciu som naprogramoval prevodník čísla na text, tento prekladač nám dokáže previesť číslo sto na 100 a naopak. Funguje jednoducho, v prípade prevodu text> číslo si číslo rozdelia podľa medzier a zistí počet tých časti, podľa toho postupuje.
1 časť: overí pokiaľ to sú jednotky (1, 2, 3, ..., 9), pokiaľ to jednotky nie sú overí desiatky (10, 20, ..., 90), potom o verí druhú desiatku (11, 12, ..., 19) no a ak ani to tak to bude leda 100. 2 časti: jednoducho to poskladať 1. časť sú desiatky (20, 30, ... 90) a 2. časť jednotky (1, 2, .. ., 9)
Prevod naopak je podobný, zistíme dĺžku reťazca, ktorý získame volaním toString na číslo alebo vo Visual Basicu dôjde k pretypovanie automaticky. Potom zisťujeme dĺžku:
1 znak: len jednotky 2 znaky: desiatka a jednotka 3 znaky: 100
Týmto máme prevod hotový.
Nakoniec už som aplikáciu len seskládal do kopy, ostyloval ju a zaradil do súťaže. Ak chcete sa precvičiť v ASP.NET MVC alebo aj čomkoľvek inom, sledujte na fóre tieto súťaže Machr na *, každý týždeň je iná, nie sú moc ťažké as plackou vyzeráte ako ozajstní machri.
Galéria
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 164x (2.72 MB)
Aplikácia je vrátane zdrojových kódov v jazyku C#