Arvutiteaduse instituut
  1. Kursused
  2. 2014/15 sügis
  3. Programmeerimise suvekursus (MTAT.03.304)
EN
Logi sisse

Programmeerimise suvekursus 2014/15 sügis

  • Pealeht
  • Moodle
  • BitBucket
  • Viited

Küsimustele vastamise süsteem

Kirjutage programm, mis suudab esitada failina ettevalmistatud küsimusi ja küsida ning kontrollida neile antud vastuseid.

Programm peab toetama

  • valikvastusega küsimus;
  • lühivastusega küsimusi (küsimuse vastuseks kirjutatakse üks rida teksti);
  • jah/ei küsimusi.

Küsimuste faili formaat

Programm peab (muuhulgas) toetama küsimuste lugemist etteantud failiformaadist. Vaatame kõigepealt küsimuste faili näidet:

Mis on Eesti pealinn? ; Tallinn/Tartu/Pärnu ; 1
Mis on Läti pealinn? ; Jelgava/Daugavpils/Riia ; 3
Kes on Toomas Hendrik Ilves? ; Eesti president
Kas eesti rahvuslill on rukkilill? ;  ; jah
Mis on Leedu pealinn? ; Kaunas/Vilnius/Klaipeda ; 2
Mitu mulli on mullivees? ; 453
Kas eesti rahvuslind on leevike? ;  ; jah

Valikvastusega küsimuse andmed failis on küsimuse tekst, vastuse variandid (alati 3 tükki, eraldajaks on kaldkriips), õige variandi järjekorra number. Jah/ei küsimuste andmed on sarnased valikvastusega küsimusega, ainult et vastuste variante pole kirjas. Lühivastusega küsimuste jaoks on kirjas küsimuse tekst ja õige vastus. Eraldajaks on semikoolon.

HTML väljund

Lisaks interaktiivsele konsoolipõhisele kasutajaliidesele, peaks programm pakkuma ka võimalust moodustada etteantud küsimustefaili põhjal HTML fail. Õiget vastust pole siin vaja kusagil kajastada.

Eespool toodud näiteküsimuste puhul peaks programm genereerima järgmise sisuga HTML faili:

<html>
<head>
<meta charset="UTF-8">
<title>Küsimused</title>
</head>
<body>
<h1>Küsimused</h1>

<form action="mailto:someone@example.com" method="post" enctype="text/plain">
<h2>Mis on Eesti pealinn?</h2>
<select name="kysimus1">
<option></option>
<option>Tallinn</option>
<option>Tartu</option>
<option>Pärnu</option>
</select>

<h2>Mis on Läti pealinn?</h2>
<select name="kysimus2">
<option></option>
<option>Jelgava</option>
<option>Daugavpils</option>
<option>Riia</option>
</select>

<h2>Kes on Toomas Hendrik Ilves?</h2>
<input name="kysimus3"/>

<h2>Kas Eesti rahvuslill on rukkilill?</h2>
<input type="radio" name="kysimus4" value="jah">jah
<input type="radio" name="kysimus4" value="ei">ei

<h2>Mis on Leedu pealinn?</h2>
<select name="kysimus5">
<option></option>
<option>Kaunas</option>
<option>Vilnius</option>
<option>Klaipeda</option>
</select>

<h2>Mitu mulli on mullivees?</h2>
<input name="kysimus6"/>

<h2>Kas Eesti rahvuslind on leevike?</h2>
<input type="radio" name="kysimus7" value="jah">jah
<input type="radio" name="kysimus7" value="ei">ei

<br/>
<input type="submit" value="Saada vastused" />
</form>

</body>
</html>

Taoline tekst tuleks salvestada hariliku tekstifailina, mille laiend on ".html". NB! jälgi, et salvestamisel kasutatud kodeering on sama, mis on näidatud HTML-i <head> osas (https://www.google.ee/search?q=java+save+text+with+given+encoding)

Kui te selle faili (topeltklõpsuga) brauseris avate, siis peaks teil olema võimalik vastused saata sellele e-mailile, mis <form> elemendi juures on näidatud.

Programmi kasutamise viis

Programmi peaks olema võimalik kahel moel:

  • Kui see käivitatakse ainult ühe parameetriga (nt. java Quiz kysimused.txt), siis töötab programm interaktiivselt, st. kasutajalt küsitakse konsooli kaudu näidatud failis olevaid küsimusi.
  • Kui see käivitatakse kahe parameetriga (nt. java Quiz kysimused.txt valjund.html), siis on programmi ülesandeks genereerida HTML väljund teise parameetriga näidatud faili.

Lahenduse esitamine

Esitage lahendus Moodle'isse. Automaattestide tarvis (mida praegu veel pole) peaks peaklass asuma vaikepaketis ja olema nimega Quiz.

Üks võimalik lähenemine

OOPi kontrolltööna antud juhised selle ülesande osaliseks lahendamiseks Δ

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Tartu Ülikooli arvutiteaduse instituudi kursuste läbiviimist toetavad järgmised programmid:
euroopa sotsiaalfondi logo