Pereiti prie turinio
programavimas.xyz pagalba

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.

  1. Kompiliavimas. C++ kodas kompiliuojamas, Python kodas patikrinamas, ar nėra sintaksės klaidų. Jei nepavyksta, rezultatas – „Kompiliavimo klaida“, o testai nevykdomi.
  2. 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.
  3. Rezultatas. Jei visi testai išlaikyti – „Priimta“. Kitu atveju sprendimo rezultatas yra pirmojo neišlaikyto testo rezultatas.
  4. 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.

Į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.

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.

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.

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š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.