Institute of Computer Science
  1. Courses
  2. 2020/21 fall
  3. Computer Programming (LTAT.03.001)
ET
Log in

Computer Programming 2020/21 fall

  • Pealeht
  • Silmaringimaterjalid
  • Viiteid

5. kodutöö

1. Plokkskeem

Järgmisel plokkskeemil on kujutatud ühe veebilehe registreerimisvormi algoritm. Kirjuta programm, mis realiseerib plokkskeemil kirjeldatu.

Automaatkontroll. Veendu, et programm vastab täpselt plokkskeemile: programm peab küsima kasutajalt alguses kõiki kolme sõnet, nagu plokkskeemil kirjas, isegi kui parooli mittesobivuse saaks mõnel juhul tuvastada juba parooli esmakordse sisestamise järel. Pärast mittesobivuse tuvastamist tuleb küsida ainult parooli (kaks korda).

Tulemusfaili nimi peab olema kindlasti users.txt.

2. Põranda keskkoha värvimine

Moodulis pykkarimaailm.py on mõned funktsioonid, mis seostuvad Pykkariga. Teiste kõrval on seal ka funktsioon maailm_sõnena, mis tagastab etteantud mõõtmetega Pykkari maailma sõne kujul.

Kirjuta programm, mis alguses impordib moodulid pykkar ja pykkarimaailm ning küsib kasutaja käest:

  • ristkülikukujulise Pykkari maailma mõõtmed,
  • Pykkari esialgse asukoha ja
  • Pykkari esialgse suuna.

Seejärel loob programm funktsiooni maailm_sõnena kasutades näidatud mõõtmetega maailma, kus Pykkar on nõutud suunaga nõutud asukohas, ning käivitab käsud, mis panevad Pykkari värvima põranda keskkoha tumedaks.

Täpsustused

  • Loodud maailma servad on seinad, ülejäänud ruudud on värvimata põrand.
  • Võib eeldada, et maailma mõõtmed on alati paaritud arvud (näiteks 5 × 5, 3 × 7, 9 × 13).
  • Kasutaja võib Pykkari suuna ette anda ilmakaarte tähistega (N, E, S, W, n, e, s, w), aga värvimata põrandal tähistatakse suundi ikka tähistega ^, >, v, <.

Näide dialoogist kasutajaga

 Sisesta maailma laius: 9
 Sisesta maailma kõrgus: asdf
 Vigane sisend! Proovi uuesti...
 Sisesta maailma kõrgus: 7
 Sisesta Pykkari x-koordinaat: 3
 Sisesta Pykkari y-koordinaat: 23
 Liiga suur! Proovi uuesti...
 Sisesta Pykkari positsiooni y-koordinaat: 0
 Liiga väike! Proovi uuesti...
 Sisesta Pykkari positsiooni y-koordinaat: 2
 Sisesta Pykkari suund: S

Pykkari all oleva ruudu saab tumedaks värvida käsuga paint().

See ülesanne võib nõuda omajagu nuputamist ja pusimist, seega varu piisavalt aega! Automaatkontrolli sellel ülesandel ei ole.

Lisaks lahenduse korrektsusele on nüüd (ja edaspidi) väga tähtis ka koodi selgus. Kui saad programmi korralikult tööle, siis võib pool tööd veel ees olla – vaata programm põhjalikult üle ja ürita seda üht- või teistpidi ümber kirjutada, nii, et tulemus oleks võimalikult selge ja arusaadav. Enamasti saab programmi selgust parandada sobivate alamprogrammide sissetoomisega, eriti kui alamprogrammide nimed on hoolikalt valitud.

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment