Slika 42: Razdelek Advanced customisation

|
Slika 42: Razdelek Advanced customisation
|
bet | 38/106 | Sana | 06.07.2020 | Hajmi | 10,53 Mb. | | #11122 |
Slika 42: Razdelek Advanced customisation
V okvirčku Is prototype? izberemo možnost Yes (user defined). V polje Question type napišemo ime našega prototipa, na primer python3_vnesi_podatke.
Nastavitve peskovnika (Sandbox) pustimo privzete (okenca pustimo prazna). Če želimo, lahko omejimo čas izvajanja enega testnega primera, izraženega v sekundah (okence TimeLimit). Prav tako lahko omejimo porabo strežnikovega delovnega spomina, izraženega v MB (okence MemLimit). V okence Parameters vpišemo dodatne možnosti za peskovnik (na primer dodatne nastavitve pri prevajanju programa, API-ključ...).
V okvirček Sandbox language vnesemo programski jezik, v katerem se naloga sestavlja. Vpisali bomo python3. Okence Ace language pustimo prazno. Po privzetih nastavitvah se bo upošteval enak programski jezik, kot ga uporablja peskovnik, torej Python3.
Ker bomo ta tip vprašanja uporabljali samo za naloge tipa 'napiši program', bomo možnost Enable combinator odkljukali. V tem prototipu se bo torej uporabljala samo predloga per_test.
Ko bomo sestavljeno nalogo shranili, se samodejno shrani tudi prototip. Ko bomo sestavljali naslednjo nalogo, bo naš novi prototip na voljo v meniju Question type (Slika 43).
Slika 43: Novi prototip se prikaže v meniju Question type
Med tipi vprašanj že imamo prototip z enako prilagojeno predlogo, kot jo ima python3_vnesi_podatke. To je prototip python3_w_input, ki ima prilagojeno tudi kombinirano predlogo. Namen ustvarjanja našega prototipa je bil zgolj ta, da smo pokazali možnost ustvarjanja lastnega prototipa in njegovo kasnejšo uporabo pri sestavljanju vprašanj.
Na univerzi Canterbury na Novi Zelandiji so ustvarili svoj prototip python3_cosc121, ki ga uporabljajo za ocenjevanje kvizov in izpitov. Ta prototip preveri, če je koda napisana v skladu s Pylint sistemom, preden se le-ta izvrši.
Pylint je sistem za statično preverjanje kode. To pomeni, da lahko analizira kodo, preden se ta izvrši. Pylint poišče možne napake v kodi, poskuša uveljaviti standard kodiranja in slog kodiranja. Za slog kodiranja uporablja slogovni priročnik PEP 8.
Poleg preverjanja s Pylint sistemom ima prototip python3_cosc121 vgrajene še številne druge uporabne parametre, kot so:
Je funkcija (isfunction): Ta parameter poskrbi, da je koda definirana kot funkcija. Če bomo sestavljali vprašanje tipa 'napiši program', moramo ta parameter nastaviti na False
Pylint nastavitve (pylintoptions): dodatne nastavitve pri preverjanju s sistemom Pylint. Primer: ukaz {"pylintoptions":["--max-statements=20", "--max-args=3"]} bo vsako definirano funkcijo v kodi omejil z uporabo največ 20 ukazov ("--max-statements=20") in s 3 argumenti ("--max-args=3")
Prepovedani konstruktorji (proscribedconstructs): določi, katere konstruktorje je prepovedano uporabiti v kodi
Obvezni konstruktorji (requiredconstructs): določi, katere konstruktorje je treba uporabiti v kodi
Dovoli globalne spremenljivke (allowglobals): dovoli uporabo globalnih spremenljivk
Maksimalno število konstant (maxnumconstants): parameter določi maksimalno število konstant, ki jih smemo uporabljati v kodi
Brez zagona (norun): študentova koda se ne izvrši, izvršila se bo samo testna koda, ki smo jo podali
Zaženi dodatno (runextra): s tem ukazom dobimo v predlogi dodatno polje
{{ TEST.extra | e('py') }}, za dodatno testiranje kode (glej razlago v poglavju 5.1)
V poglavju 6 bomo pri sestavljanju nalog uporabili tudi ta prototip. Pokazali bomo, kako lahko uporabljamo določene parametre, opisane zgoraj.
|
| |