Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Informácie k odovzdávaniu úloh na kontrolu Nové

V mnohých cvičeniach ku kurzom na sieti je možnosť odovzdať vypracované úlohy podľa zadania a nechať si ich skontrolovať, čím sa potom sprístupní stiahnutie certifikátu. Pozrime sa, ako si možno kód najprv vyskúšať a potom odovzdať na kontrolu na server:

🔍 1 - Ako to funguje

Všetko si ukážeme na prvej úlohe zo základov programovania v Jave. Princíp je potom úplne rovnaký pre všetky jazyky. Úloha vždy obsahuje zadanie s ukážkami obrazovky programu, teda presne, čo má urobiť so vstupmi, ktoré mu sú zadané:

Ak u nás študujete rekvalifikáciu, váš referent uvidí, ako sa vám darí plnenie úloh a prípadne vám môže ďalej poradiť.

Zadanie úlohy vyzerá napríklad takto:

Jednoduchý príklad

Vytvorte program, ktorý si na vstupe nechá zadať meno používateľa a potom jeho vlastnosť. Nakoniec vypíše "meno je vlastnosť", viď obrázok.

Ukážka obrazovky programu:

Vlastnosti
Ahoj, ako sa voláš?
Bill Gates
Aký si?
hustodémonicky bohatý
Bill Gates je hustodémonicky bohatý

Predpripravený kód

Pod úlohou je následne online editor kódu s pripravenou šablónou kódu, do ktorej sa má program vypracovať:

Šablóna kódu - Ďalšie vývojové nástroje pre tvorbu aplikácií

📜 2 - Práca s predpripraveným kódom

Pozrime sa, ako sa s predpripraveným kódom pracuje:

Pod úlohou je online editor kódu s pripravenou šablónou kódu, do ktorej sa má program vypracovať:

Šablóna kódu - Ďalšie vývojové nástroje pre tvorbu aplikácií

Kód zapísaný do online editoru sa odošle na špeciálny server s bežiacim prostredím pre daný jazyk. Tam je potom niekoľkokrát spustený v rámci rôznych testov, ktoré mu odovzdávajú vstupy a kontrolujú, či vypisuje výstup podľa zadania. Celé to môžeme chápať tak, že si robotický používateľ na serveri program spustí a zadá doň všetko, čo by malo byť potrebné.

🌟 3 - Špeciálne typy príkladov

Nižšie nasledujú ukážky špeciálnych typov príkladov, s ktorými sa v kurze stretnete.

Príklady s variabilným počtom vstupov

Pri niektorých komplexnejších príkladoch server s bežiacim prostredím pre daný jazyk nedokáže takýto kód správne spracovať. Takéto cvičenia možno potom iba odovzdať na kontrolu. Vo videu nižšie je podrobný návod, ako takýto príklad správne odovzdať:

Príklady, ktoré nemajú možnosť odovzdania

Pri niektorých cvičeniach možnosť odovzdať kód chýba. Je tomu tak najčastejšie z dôvodu, že cvičenie je pomerne komplexné. Server s bežiacim prostredím pre daný jazyk nemusí byť schopný takto náročnej interakcie:

Príklady s viacerými súbormi

Niektoré príklady majú viacero súborov so zdrojovými kódmi. Typicky ide o cvičenia v kurze objektovo orientovaného programovania. Pozrime sa, ako si ľahko online vyskúšať a odovzdať na zhodnotenie riešenie, zložené z viacerých súborov:

🏆 4 - Úspešné odovzdanie príkladov

Pozrime sa, ako vyzerá úspešné odovzdanie príkladov. Testov je vždy niekoľko a spúšťajú sa postupne za sebou:

  1. Prvý test spustí program a odošle mu presne tie vstupy, ktoré sú ukázané v zadaní.
  2. Niekoľko ďalších testov odovzdáva programu ďalšie vstupy. Tieto ďalšie testy overujú, či program naozaj funguje a nie je vytvorený tak, aby vedel spracovať len ten jediný vstup, ktorý je práve ukázaný v zadaní. Typicky sa tu overujú ďalšie scenáre, ktoré môžu v programe nastať.

Vo videu taktiež popisujeme, ako zistiť, ktoré úlohy už máme odovzdané, a ktoré zatiaľ nie:

💡 5 - Využitie nápovedy

Ak si nevieme rady pri riešení niektorej úlohy, máme k dispozícii vzorové riešenie. Pozrime sa, ako ho môžeme využiť:

📝 6 - Ukážka testov

Predstavme si konkrétnu úlohu, napríklad už použitú s Billom Gatesom. Táto úloha má dva testy, ktoré robia nasledovné:

Test 1 - Skús zadať osobu z ukážky

Vidíme, že prvý test už podľa názvu overuje presne ten prípad, ktorý je popísaný v zadaní. Jeho scenár je nasledujúci:

  • Skontroluj, či je vypísané: "Ahoj, ako sa voláš?"
  • Zadaj vstup "Bill Gates"
  • Skontroluj, či je vypísané: "Aký si?"
  • Zadaj vstup "hustodémonicky bohatý"
  • Skontroluj, či je vypísané: "Bill Gates je hustodémonicky bohatý"

Test 2 - Skús zadať inú osobu

Druhý test potom aplikáciu skúša s ďalšími vstupmi, ktoré vymyslel autor úlohy/testu a vy ich už nepoznáte. Tieto testy sú pomenované tak, aby ste v prípade ich zlyhania tušili, kde je problém. Scenár druhého testu je pri tejto úlohe nasledujúci:

  • Skontroluj, či je vypísané: "Ahoj, ako sa voláš?"
  • Zadaj vstup "Tester Testerovič"
  • Skontroluj, či je vypísané: "Aký si?"
  • Zadaj vstup "relatívne testovateľný"
  • Skontroluj, či je vypísané: "Tester Testerovič je relatívne testovateľný"

Výsledok testov

Ak prebehnú všetky testy, tu tieto dva, považuje sa program za funkčný:

Test prešiel - Ďalšie vývojové nástroje pre tvorbu aplikácií

Ak nejaký test neprejde a nedôjde k nejakej kritickej chybe, viď nižšie, je vám potom vypísaný názov tohto testu, napr.:

"Skús zadať osobu z ukážky"

alebo

"Skús zadať inú osobu"

Test neprešiel - Ďalšie vývojové nástroje pre tvorbu aplikácií

Je potom vidieť, či sa robotickému používateľovi na serveri nepodarilo program spustiť ani pre hodnoty zo zadania, alebo či ste niečo zabudli ošetriť a program padne, keď sa mu zadá niečo špecifické. Pri prvom teste podľa ukážky zo zadania je vždy navyše presne vidieť, akú časť jeho scenára sa nepodarilo spustiť.

✗ Zle

Tu konkrétne na obrázku test hovorí, že našiel výstup:

Konzolová aplikácia
Ahoj,ako sa volas

✓ Správne

A v zadaní je pritom:

Konzolová aplikácia
Ahoj, ako sa voláš?

🔧 7 - Najčastejšie chyby a ich oprava

Pozrime sa teraz, ako využiť informácie, ktoré nám chybový výstup poskytuje.

Preklep

Častou chybou je preklep v texte, prípadne nesprávna interpunkcia:

Desatinné čísla

Problémy spôsobujú aj desatinné čísla. Poriadnu neplechu vie narobiť napríklad desatinná čiarka namiesto bodky:

Medzery

Správny počet medzier býva častým zdrojom problémov:

Odriadkovanie

Častou chybou je nevenovanie pozornosti zadaniu pri odriadkovaní textu alebo pri načítaní premenných:

Ďalšie problémy pri odovzdávaní

Ak váš program neprejde, je to z 99% preto, že nespĺňa zadanie. V chybovom hlásení je vždy umiestnená informácia o tom, ako ďalej postupovať, prečítajte si ju celú. Najčastejšie problémy sú tieto.

Iné texty vo výstupe

Vy ste v roli programátora a dostali ste od zákazníka zadanie, kde je presne uvedené:

  • Kedy sa má čo vypísať
  • Kedy sa má čo zadať

Ak vypíšete napr. namiesto "Zadaj číslo:" napr. "Zadajte číslo", test neprejde. Zadanie je potrebné splniť presne na znaky, toleruje sa len diakritika a veľké/malé písmená. Interpunkcia však musí byť dodržaná a slová samozrejme tiež.

Chybné čakanie na vstup

Programu sa vždy odošlú vstupy presne podľa zadania. Ak napr. vyžaduje 2 čísla a vy načítate vo svojom programe potom ešte tretie alebo tam umiestnite niečo ako "Zadaj čokoľvek pre ukončenie programu", táto hodnota už nikdy zadaná nebude a program zostane na serveri čakať, kým nie je násilne ukončený.

Zacyklenie

Podobné zaseknutie môže nastať, ak sa program zacyklí v nekonečnej slučke. V závislosti od povahy zaseknutia programu server buď program dokáže násilne ukončiť sám, o čom získate informáciu, alebo ho zabije až služba nad ním, čo vyústi do všeobecnejšej hlášky.


 

Aktivity