Patikros rezultatai
Ką reiškia kiekvienas patikros rezultatas, kaip skaitomi testų rezultatai ir ką apie testus matote po patikros.
Pateiktą sprendimą tikrinimo sistema sukompiliuoja ir paleidžia su visais užduoties testais. Rezultatą matote redaktoriaus kortelėje Paskutinė patikra, kurso skiltyje Sprendimai, užduoties puslapyje ir puslapyje Mano darbai.
Kaip tikrinama
Skyrius „Kaip tikrinama“- Kompiliavimas. C++ kodas kompiliuojamas, Python kodas patikrinamas, ar nėra sintaksės klaidų. Jei nepavyksta, rezultatas – „Kompiliavimo klaida“, o testai nevykdomi.
- Testai. Programa paleidžiama su kiekvienu testu iš eilės: pirmiausia pavyzdiniais, paskui paslėptais. Paprastai vykdomi visi testai, net jei kuris nors neišlaikytas.
- Rezultatas. Jei visi testai išlaikyti – „Priimta“. Kitu atveju sprendimo rezultatas yra pirmojo neišlaikyto testo rezultatas.
- Taškai. Paprastai kiekvienas išlaikytas testas duoda vieną tašką, todėl „7 iš 10“ reiškia, kad išlaikyti 7 testai iš 10.
Gavus „Priimta“, užduotis laikoma išspręsta. Užduoties būsenai ir taškams galioja geriausias jūsų sprendimas.
Kaip lyginami rezultatai
Skyrius „Kaip lyginami rezultatai“Įprastai jūsų programos rezultatai lyginami su laukiamais eilutė po eilutės:
- tarpai eilučių gale ir tuščios eilutės nesvarbūs;
- kitos eilutės turi sutapti tiksliai;
- papildoma, nereikalinga eilutė – klaida.
Kai kuriose užduotyse lyginami tik žodžiai (eilučių skaidymas nesvarbus) arba skaičiai su leistina paklaida.
Rezultatų reikšmės
Skyrius „Rezultatų reikšmės“| Rezultatas | Ką reiškia | Ką patikrinti |
|---|---|---|
| Priimta | Visi testai išlaikyti | – |
| Neteisingas atsakymas | Programa baigė darbą, bet jos rezultatai neteisingi arba nesukurtas rezultatų failas | Algoritmą, kraštinius atvejus, išvesties formatą, failo vardą |
| Kompiliavimo klaida | Kodo nepavyko sukompiliuoti. Čia patenka ir Python sintaksės klaidos | Kompiliatoriaus pranešimus. Bandymo nenaudoja |
| Vykdymo klaida | Programa nulūžo arba baigėsi su išėjimo kodu, ne lygiu 0 | Masyvo ribas, dalybą iš nulio, return 0;, neapdorotas Python išimtis |
| Viršyta laiko riba | Programa naudojo daugiau procesoriaus laiko nei leidžiama arba per ilgai laukė (pvz., duomenų, kurių nėra) | Algoritmo greitį; ar programa neskaito iš klaviatūros, kai duomenys faile |
| Viršyta atminties riba | Programa naudojo daugiau atminties nei leidžiama | Masyvų dydžius, rekursijos gylį |
| Viršyta išvesties riba | Programa išvedė daugiau nei 8 MB | Ar išvedimas nevyksta begaliniame cikle |
| Tikrinimo klaida | Užduoties tikrintuvas nepatikrino sprendimo (pvz., sugedo arba šiuo metu nepalaikomas) | Bandymas neskaičiuojamas. Praneškite mokytojui |
| Sistemos klaida | Nepavyko patikrinti dėl sistemos kaltės: „Nepavyko patikrinti dėl mūsų klaidos – šis bandymas neskaičiuojamas.“ | Nieko – bandymas neskaičiuojamas |
Rezultatai „Netinkamas rezultatų formatas“, „Viršyta laukimo riba“ ir „Draudžiamas veiksmas“ pasitaiko tik senuose sprendimuose, perkeltuose iš ankstesnės sistemos.
Rezultato piktograma kartoja jo prasmę: varnelė – „Priimta“, kryžiukas – neteisingas atsakymas, laikrodis – viršyta laiko ar atminties riba, trikampis – vykdymo klaida.
Testų sąrašas
Skyrius „Testų sąrašas“Po rezultatu matote testų sąrašą. Kiekvienoje eilutėje:
- rezultato piktograma ir testo numeris, pvz., „Testas 3“;
- „Pavyzdinis“ arba „Paslėptas“;
- neišlaikyto testo rezultatas, pvz., „Neteisingas atsakymas“;
- vykdymo laikas, pvz., „12 ms“.
„Nevykdytas“ reiškia, kad testas nebuvo paleistas, pvz., kai užduotis nustato tikrinimą sustabdyti po pirmojo neišlaikyto testo. Skiltyje Sprendimai iš eilės einantys išlaikyti testai be duomenų sujungiami į vieną eilutę, pvz., „Testai 3–6“.
Eilutę, kurioje yra duomenų, galite išskleisti. Joje gali būti:
| Laukelis | Kas jame |
|---|---|
| Pradiniai duomenys | Testo įvestis (failų užduotyje – duomenų failo vardas) |
| Laukiami rezultatai | Ką programa turėjo išvesti |
| Programos rezultatai | Ką jūsų programa išvedė (failų užduotyje – rezultatų failo turinys) |
| Klaidų išvestis | Ką programa išvedė į klaidų srautą (cerr, stderr) |
| Tikrintuvo pranešimas | Tikrintuvo paaiškinimas, pvz., kurioje eilutėje skiriasi (anglų kalba) |
Programos rezultatai išsaugomi pavyzdiniams testams ir kiekvienam neišlaikytam testui. Labai ilgi duomenys sutrumpinami.
Kiek matote apie testus
Skyrius „Kiek matote apie testus“Kai sprendimas patikrintas, matote visus jo testus, ir paslėptus: rezultatą, laiką ir atmintį, pradinius duomenis, laukiamus rezultatus, jūsų programos rezultatus (jei jie išsaugoti), klaidų išvestį ir tikrintuvo pranešimą. Patikros metu redaktorius rodo, kiek testų jau įvykdyta, pvz., „3 iš 10“.
Kol sprendimas nepatikrintas, paslėpti testai lieka serveryje: užduoties puslapyje ir redaktoriuje matote tik sąlygos pavyzdinius testus. Paslėptų testų duomenys siunčiami tik su jūsų pačių patikrintais sprendimais – kiti mokiniai jūsų sprendimų nemato, o jūs nematote jų.
Kai kurie seni, iš ankstesnės sistemos perkelti sprendimai neturi atskirų testų rezultatų. Tada redaktoriaus kortelėje Paskutinė patikra parašyta „Šio sprendimo testų rezultatų nėra.“
Kompiliatoriaus pranešimai
Skyrius „Kompiliatoriaus pranešimai“Kompiliatoriaus pranešimus matote visada, nes jie apie jūsų paties kodą:
- redaktoriuje – pabraukti kode ir išvardyti kortelėje Kompiliatorius (žr. Kodo redaktorius);
- sprendimo rezultate – skiltyje „Kompiliatoriaus pranešimai“, kai sprendimas gavo „Kompiliavimo klaida“. Kai kurių senų sprendimų pranešimai neišsaugoti.