Píšeme řešení

v JavaScriptu

Možná se ptáte, jestli můžete Kasiopeu řešit i v JavaScriptu. Samozřejme to možné je a abychom vám práci usnadnili, připravili jsme pro vás následující šablonu.

Stačí si vytvořit soubor s následujícím obsahem. Poté upravte funkci main tak, aby řešila zadanou úlohu (samozřejmně můžete vytvářet i jiné funkce). Soubor otevřete libovolným webovým prohlížečem podporujícim JavaScript. Následně tlačítkem „Browse“ (případne „Procházet“ nebo jinak dle vaší lokalizace). Po kliknutí na tlačítko „Spusti“ vám stránka nabídne soubor ke stažení. Tento soubor stáhněte a odovzdejte na stránkach Kasiopei jako vaše řešení.

<html>
    <meta charset="UTF-8">
    <!-- source: https://www.html5rocks.com/en/tutorials/file/dndfiles/ -->
    <!-- upravené pre http://kasiopea.matfyz.cz -->
    <form>
        <input type="file" id="files" name="file" />
        <input type="button" value="Spusti" onclick="spusti();" />
    </form>

    <script>

var reader;
reader = new FileReader();
reader.onerror = function(e) { alert("Nastala chyba při čtení ze souboru.!"); };
reader.onload = function(e) { stahniText(main(reader.result)); }

function stahniText(text) {
    var element = document.createElement('a');
    element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
    element.setAttribute('download', "out.txt");
    element.style.display = 'none';
    document.body.appendChild(element);
    element.click();
    document.body.removeChild(element);
}

function spusti() {
    reader.readAsText(document.getElementById('files').files[0]);
}

function main(vstup) {
    /////////////////////////
    // SEM VLOZTE SVUJ KOD //
    /////////////////////////
    /*
       INSTRUKCIE:

       V premennej vstup je obsah vstupného súboru
       Funkcia main by mala vratit cez return text (string), ktory chcete vo vystupnom subore

       Tento html subor otvorte v svojom oblubenom prehliadaci a vo formulari zvolte
       subor, ktory chcete pouzit ako vstupny. Ked stlacite tlacitko "Spusti" tak sa
       precita a na jeho obsah sa zavola tato funkcia (main), ktorej vystup sa stiahne
       ako out.txt (pozor, ak uz out.txt existuje tak to bude pravdepodobne nieco ako
       "out (1).txt" alebo podobne). Tento subor mozete nahrat na stranku Kasiopei.

       Príklad:
          return vstup.split("\n").length;
          // Takto vyzerajúca funkcia by spočítala počet riadkov súboru.
     */
}

    </script>
</html>

Máš na to!

I ty můžeš vyhrát! Nebo to aspoň zkusit :)