Arvutiteaduse instituut
  1. Esileht
  2. Teeme ise arvutimänge
EN
Logi sisse

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.

  • 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.
Courses’i keskkonna kasutustingimused