Veľkonočná akcia je tu a s ňou aj extra kredity ZADARMO na náš interaktívny e-learning. Dobij si teraz kredity a posuň sa vo svojej kariére vpred!
Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Informace k odevzdávání úloh ke kontrole

V mnoha cvičeních ke kurzům na síti je možnost odevzdat vypracované úlohy dle zadání a nechat si je zkontrolovat, čímž se poté zpřístupní stažení certifikátu. Podívejme se, jak si lze kód nejprve vyzkoušet a pak odevzdat ke kontrole na server:

    • 🔍 1 - Jak to funguje

      Vše si ukážeme na první úloze ze základů programování v Javě. Princip je pak úplně stejný pro všechny jazyky. Úloha vždy obsahuje zadání s ukázkami obrazovky programu, tedy přesně co má udělat se vstupy, které se mu zadají:

      Pokud u nás studujete rekvalifikaci, váš referent uvidí, jak se vám plnění úloh daří a případně vám může dále poradit.

      Zadání úlohy vypadá např. takto:

      Jednoduchý příklad

      Vytvořte program, který si na vstupu nechá zadat jméno uživatele a poté jeho vlastnost. Nakonec vypíše "jméno je vlastnost", viz obrázek.

      Ukázka obrazovky programu:

      Vlastnosti
      Ahoj, jak se jmenuješ?
      Bill Gates
      Jaký jsi?
      hustodémonsky bohatý
      Bill Gates je hustodémonsky bohatý

      Předpřipravený kód

      Pod úlohou je následně online editor kódu s nachystanou šablonou kódu, do které se má program vypracovat:

      Šablona kódu - Další vývojové nástroje pro tvorbu aplikací
    • 📜 2 - Práce s předpřipraveným kódem

      Podívejme se, jak se s předpřipraveným kódem pracuje:

      Pod úlohou je online editor kódu s nachystanou šablonou kódu, do které se má program vypracovat:

      Šablona kódu - Další vývojové nástroje pro tvorbu aplikací

      Kód zapsaný do online editoru se odešle na speciální server s běhovým prostředím pro daný jazyk. Tam je poté několikrát spuštěn v rámci různých testů, které mu předávají vstup a kontrolují, zda vypisuje výstup podle zadání. Celé to můžeme chápat tak, že si robotický uživatel na serveru program spustí a zadá do něj vše, co by mělo být potřeba.

    • 🌟 3 - Speciální typy příkladů

      Níže následují ukázky speciálních typů příkladů, se kterými se v kurzu setkáte.

      • Příklady s variabilním počtem vstupů

        U některých komplexnějších příkladů server s běhovým prostředím pro daný jazyk nedokáže takový kód správně zpracovat. Taková cvičení lze potom pouze odevzdat ke kontrole. Ve videu níže je podrobný návod, jak takové cvičení správně odevzdat:

      • Příklady, které nemají možnost odevzdání

        U některých cvičení možnost odevzdat kód chybí. Je tomu tak nejčastěji z důvodu, že cvičení je poměrně komplexní. Server s běhovým prostředím pro daný jazyk nemusí být schopný takto náročné interakce:

      • Příklady s více soubory

        Některé příklady mají více souborů se zdrojovými kódy. Typicky jde o cvičení v kurzu objektově orientovaného programování. Podívejme se, jak si snadno online vyzkoušet a odevzdat ke zhodnocení řešení, složené z více souborů:

    • 🏆 4 - Úspěšné odevzdání příkladů

      Podívejme se, jak vypadá úspěšné odevzdání příkladů. Testů je vždy několik a spouští se postupně za sebou:

      1. První test spustí program a odešle mu přesně ty vstupy, co jsou ukázané v zadaní.
      2. Dalších několik testů předává programu další vstupy. Tyto další testy ověřují, zda program opravdu funguje a není vytvořený tak, aby uměl zpracovat jen ten jediný vstup, který je zrovna ukázaný v zadání. Typicky se zde ověřují další scénáře, které mohou v programu nastat.

      Ve videu také popisujeme, jak poznat, které úlohy už máme odevzdané, a které zatím ne:

    • 💡 5 - Využití nápovědy

      Pokud si nevíme rady při řešení některé úlohy, máme k dispozici vzorové řešení. Podívejme se, jak ho můžeme využít:

    • 📝 6 - Ukázka testů

      Představme si konkrétní úlohu, například již použitou s Billem Gatesem. Tato úloha má dva testy, které dělají následující:

      Test 1 - Zkus zadat osobu z ukázky

      Vidíme, že první test již podle názvu ověřuje přesně ten případ, který je popsaný v zadání. Jeho scénář je následující:

      • Zkontroluj, zda je vypsáno: "Ahoj, jak se jmenuješ?"
      • Zadej vstup "Bill Gates"
      • Zkontroluj, zda je vypsáno: "Jaký jsi?"
      • Zadej vstup "hustodémonsky bohatý"
      • Zkontroluj, zda je vypsáno: "Bill Gates je hustodémonsky bohatý"

      Test 2 - Zkus zadat jinou osobu

      Druhý test pak aplikaci zkouší s dalšími vstupy, které vymyslel autor úlohy/testu a vy je již neznáte. Tyto testy jsou pojmenované tak, abyste v případě jejich selhání tušili, kde je problém. Scénář druhého testu je u této úlohy následující:

      • Zkontroluj, zda je vypsáno: "Ahoj, jak se jmenuješ?"
      • Zadej vstup "Tester Testerovič"
      • Zkontroluj, zda je vypsáno: "Jaký jsi?"
      • Zadej vstup "relativně testovatelný"
      • Zkontroluj, zda je vypsáno: "Tester Testerovič je relativně testovatelný"

      Výsledek testů

      Pokud proběhnou všechny testy, zde tyto dva, považuje se program za funkční:

      Test prošel - Další vývojové nástroje pro tvorbu aplikací

      Pokud nějaký test nedoběhne a nedojde k nějaké kritické chybě, viz níže, je vám pak vypsán název tohoto testu, např.:

      "Zkus zadat osobu z ukázky"

      nebo

      "Zkus zadat jinou osobu"

      Test neprošel - Další vývojové nástroje pro tvorbu aplikací

      Je pak vidět, zda se robotickému uživateli na serveru nepodařilo program rozjet ani pro hodnoty ze zadání, nebo zda jste zapomněli něco ošetřit a program upadne, když se mu zadá něco specifického. U prvního testu podle ukázky ze zadání je vždy navíc přesně vidět, jakou část jeho scénáře se nepodařilo spustit.

      ✗ Špatně

      Zde konkrétně na obrázku test říká, že našel výstup:

      Konzolová aplikácia
      Ahoj,jak se jmenujes

      ✓ Správně

      A v zadání je přitom:

      Konzolová aplikácia
      Ahoj, jak se jmenuješ?
    • 🔧 7 - Nejčastější chyby a jejich oprava

      Podívejme se nyní, jak využít informace, které nám chybový výstup poskytuje.

      • Překlep

        Častou chybou je překlep v textu, případně špatná interpunkce:

      • Desetinná čísla

        Problémy dělají také desetinná čísla. Pěknou neplechu umí udělat třeba desetinná čárka místo tečky:

      • Mezery

        Správný počet mezer bývá častým zdrojem problémů:

      • Odřádkování

        Častou chybou je nevěnování pozornosti zadání při odřádkování textu nebo při načítání proměnných:

        Další problémy při odevzdávání

        Pokud váš program neprojde, je to z 99% proto, že nesplňuje zadání. V chybovém hlášení je vždy umístěna informace o tom, jak dále postupovat, přečtěte si jej celé. Nejčastější problémy jsou tyto.

        Jiné texty ve výstupu

        Vy jste v roli programátora a dostali jste od zákazníka zadání, kde je přesně udáno:

        • Kdy se má co vypsat
        • Kdy se má co zadat

        Pokud vypíšete např. místo "Zadej číslo:" např. "Zadejte cislo", test neprojde. Zadání je třeba splnit přesně na znaky, toleruje se jen diakritika a velká/malá písmena. Interpunkce ovšem musí být dodržena a slova samozřejmě také.

        Chybné čekání na vstup

        Programu se vždy odešlou vstupy přesně podle zadání. Pokud např. vyžaduje 2 čísla a vy načítáte v svém programu pak ještě třetí nebo tam umístíte něco jako "Zadej cokoli pro ukončení programu", tato hodnota již nikdy zadána nebude a program zůstane na serveru čekat, dokud není násilně ukončen.

        Zacyklení

        Podobné zaseknutí může nastat, pokud se program zacyklí v nekonečném cyklu. V závislosti na povaze zaseknutí programu server buď program dokáže násilně ukončit sám, o čemž získáte informaci, nebo jej zabije až služba nad ním, což vyústí v obecnější hlášku.


 

Ako sa ti páči článok?
Pred uložením hodnotenia, popíš prosím autorovi, čo je zleZnakov 0 z 50-500
Ako sa ti kurz páči?
Tvoje hodnotenie kurzuZnakov 0 z 50-500
Aktivity