Institute of Computer Science
  1. Main page
  2. Teeme ise arvutimänge
ET
Log in

Teeme ise arvutimänge

  • Esileht
  • I RAAMAT
    • Eessõna
    • Hakkame pihta!
      • Esimesed katsetused
      • Esimene päris programm
      • Esimene mäng
    • Olulised mõisted
      • Muutujad
      • Arvud ja sõned
    • Veateated
    • Matemaatika
      • Põhitehted
      • Suurendamine ja vähendamine
      • Eriti suured ja eriti väiksed arvud
      • Moodul math
    • Andmetüübid
    • Sisend ja väljund
      • "print" käsk, end="", koma ja +
      • Sisendi küsimine failist või veebist
    • Esimene graafika
    • Mida õppisid?
  • II RAAMAT
  • III RAAMAT
  • IV RAAMAT
  • V RAAMAT
  • VI RAAMAT

Olulised mõisted ja sissejuhatus

Olulised mõisted

Nüüd kui oled natuke juba "oma loodud" mängu mängida saanud, siis tahaks ju teada täpsemalt, kuidas ise analoogset programmi teha?

Kiirustada aga ei tasu. Enne kui sulle selgitama hakkan iga rea tähendust eelmises mängus, tuleb kõigepealt selgeks saada mõned väga olulised mõisted. Need on arvuti mälu, sisend, sisendi töötlemine, väljund ja muutujad.

Sisend, sisendi töötlemine ja väljund

Sinu päris esimesel programmil puudus sisend ja väljundiks oli ka vaid programmi sisse kirjutatud tekstid, sellepärast see programm ei olnudki just väga huvitav.

Teises programmis (arvu arvamine) olid olemas aga kõik kolm komponenti, mis tegid programmi koheselt palju lõbusamaks.

  • Sisend (ehk input) olid arvu arvamise katsed (arvamus) või mängija nimi
  • Sisendi töötlemine toimus siis, kui programm kontrollis, kas arv on võrdne mõeldud arvuga
  • Väljundiks (ehk print) olid teated arvamise õnnestumisest või ebaõnnestumisest.

Selge on see, et üks korralik programm vajab sisendit, kuid kuidas jätab arvuti sisendi meelde? Kuidas mingi Python saab arvutile öelda, et jäta nüüd see teade meelde, aga seda ära jäta?

Loomulikult sa tead, et arvutil on olemas mälu. Mälu võib vaadelda kui tohutu suurt pesade hulka, mis seisavad ühes kindlas olekus seni, kuni sa neid muudad. Olek tähendab kahendkoodis infot, mis on sellesse mälupessa salvestatud. Sellist struktuuri võibki piltlikult nimetada nö meelde jätmiseks. Iga pesa fikseeritakse kahendkoodiga teatud olekusse ja ta jääb sellesse seniks, kuni toimub taas muutus. Seega alati saab kas muuta mälupesa (programmeerida mälupesa ümber) või ainult lugeda mälupesast seal olevat kahendkoodis infot ilma muutmata.

Kuidas siis Python või mis iganes programmeerimiskeel mälupesi muudab? Ja kui ta on ühe pesa sisu muutnud, kuidas programmeerimiskeel selle pesa uuesti üles leiab?

Programmeerides, kui sa tahad, et arvuti jätaks mingi olulise info meelde, siis tuleb sellele infole anda alati nimi. Kohe kui nimi on antud, saab Python aru, et nüüd on vaja arvutimälu poole pöörduda ja see info (olgu see üksainus arv, sõna, lause, pilt või muusika) mällu salvestada. Python kinnitab nime külge arvuti mälupesa aadressi, mille kaudu saabki ta alati nime kasutades nime taga oleva info arvuti mälust kätte. Nii lihtne see ongi.

Nii tehti ka arvu arvamise mängus. Kui programmis küsiti mängijalt arvu, siis sellele arvule (ehk siis info, mis tuli meeles pidada), tuli anda nimi, mis aitas arvu arvutimällu salvestada. Selleks nimeks oli antud programmis arvamus ja info seoti temaga võrdusmärgi abil.

  • 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