Scriptiti: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Anier (arutelu | kaastöö)
Anier (arutelu | kaastöö)
1. rida: 1. rida:
== Põhiosa 5p ==
== Põhiosa 5p ==


Tuleb kirjutada käsurea programm, mis on juhitav käsurea parameetrite/võtmete kaudu. Ei ole interaktiivne. Programm võimaldab Tudengi '''kodutööde ja eksami/-te seisu''' vastavalt kursuse kodulehel publitseeritud andmetele.
Tuleb kirjutada käsurea programm, mis on juhitav käsurea parameetrite/võtmete kaudu. Ei ole interaktiivne.
Programm võimaldab Tudengi '''kodutööde ja eksami/-te seisu''' vastavalt kursuse kodulehel publitseeritud andmetele.


Käsurealt peab olema '''võimalik määrata''' kas programm
Käsurealt peab olema '''võimalik määrata''' kas programm

Redaktsioon: 13. september 2011, kell 19:13

Põhiosa 5p

Tuleb kirjutada käsurea programm, mis on juhitav käsurea parameetrite/võtmete kaudu. Ei ole interaktiivne. Programm võimaldab Tudengi kodutööde ja eksami/-te seisu vastavalt kursuse kodulehel publitseeritud andmetele.

Käsurealt peab olema võimalik määrata kas programm

  1. täitab kõikide tudengite tulemusi
  2. tudengite tulemusi, kelle matriklis sisaldub etteantud filter

Juhul kui kasutaja jätab valiku määramata, siis kuvatakse vaikimisi kõikide tudengite kodutööde/eksamite punktid.

Kasutajal peab olema võimalus lasta programmil väljastada "kasutusjuhend" - näiteks parameetriga "/h" (help), või "/?". Programm väljastab sellisel juhul võimalikud käsurea parameetrid, koos selgitustega nende kasutusest.

Google Spreadsheets API

Lähteinfo saab kätte kursuse jaoks juba kohandatud Google Spreadsheets API kaudu aadressilt: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic

Väljastamisel peab programm iga tudengi kirje ette kuvama lähteinfos sisalduva unikaalse identifikaatori (UID) - näiteks efsh8.


Ning võimaldab UID käsurealt ka määrata. Juhul kui UID on määratud, siis lisab selle lähteinfo päringu koos kaldkriipsuga. Näiteks: /efsh8. Sellisel juhul oleks lõplik lähteinfo URL: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/efsh8

Lähteinfo struktuurist

Soovitav päringu vastust tavalise tekstiredaktoriga veidi uurida. Siiski üks märkus siia juurde. <content> sees olev vastus on formaadis: <tulbanimi>: <väärtus>,

Juhul kui tulbal väärtust ei ole - siis ei ole vastuses ka tulba nimetust.

<entry>
<id>https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3</id>

<updated>2011-09-12T11:57:23.076Z</updated>

<category scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#list'/>

<title type='text'>050660IABB</title>

<content type='text'>yachtzee: 10, tweet: 10, sportinfo: 10, eksamiaeg: 10:00:00, hinne: 4</content>

<link rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3'/>
</entry>

Piisab kui kuvada väljundisse see, mis olemas on - juurde pole vaja midagi "tekitada". Näiteks:

yachtzee  10
tweet     10
sportinfo 10
eksamiaeg 10:00:00
hinne     4

Lisaosa 2p

Programm võimaldab käsurealt määrata filtri (string), mis peab sisalduma tudengi matriklis. Vastavalt filtrile kuvab tulemusena vaid tudengite tulemused, kelle matriklis filtris määratud väärtus sisaldub. Nii on võimalik esmast otsingut piirata ning välja otsida Põhiosas mainitud unikaalne identifikaator - UID, millega käsurealt tudengit täpselt määrata.

Juhul kui ühtegi kirjet ei leitud, väljastab programm vastava teate.

Lisaosa 3p

Programm puhverdab päringute vastused kõvakettale. Juhul kui puudub Internetiühendus, loeb vastuse puhvrist ja teatab kasutajale näiteks "Internetiühendus puudub, loen puhvrist"

Programm markeerib info, mis on puhvriga võrreldes uuem selliselt, et see oleks kasutajale selgelt eristuv. Näiteks võiks eelmine näide olla pärast neljanda kodutöö esitamist selline (uus info markeeritud kolme tärniga ***) :

yachtzee  10
tweet     10
sportinfo 10
gomoku    10 ***
eksamiaeg 10:00:00
hinne     4

Samamoodi tuleks kuvada ka kursuse uudised. Uudiste puhul võib ka nii teha, et "vanu" teateid ei kuvatagi. Juhul kui uuemaid ei leidu, kuvatakse vastav teade kasutajale.

Nii Google Spreadsheets API kui RSS vastustele on juurdelisatud ajatempel, mida kasutades on võimalik andmede vanust arvutada!

Programm peab võimaldama määrata puhvri vanust päevades käsurealt. Soovitav on see realiseerida enne puhvri enda realiseerimist. Lihtsamaks ja kiiremaks arendamiseks ja programmi testimiseks. Näiteks: "java -jar minuprogramm.jar /d 10" otsiks üles muudatused, mis on toimunud viimase 10 päeva sees.

Lisamaterjale