Materjalid koostas ja kursuse viib läbi Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm

Suurus: px
Alustada lehe näitamist:

Download "Materjalid koostas ja kursuse viib läbi Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm"

Väljavõte

1 5.1 Järjend JÄRJEND Seni on meil programmides erinevate andmete hoidmiseks olnud eraldi muutujad. Paljude ülesannete puhul on vägagi mõistlik teatud andmeid koos käsitleda - teatud andmestruktuuridena. Erinevates programmeerimiskeeltes on selle jaoks mõnevõrra erinevad vahendid. Ka konkreetses programmeerimiskeeles võib olla mitmeid võimalusi, on Pythoniski. Pythoni üheks põhiliseks andmestruktuuriks on järjend ehk list (ingl list). Siinkohal tuleb märkida, et erinevate programmeerimiskeelte ja isegi erinevate materjalide puhul võib terminoloogia erineda. Meie peame siin järjendit ja listi sünonüümideks, mujal ei pruugi see nii olla. Järjend koosneb elementidest, mis loetletakse nurksulgudes üksteisest komadega eraldatutena. Näiteks nädalapäevad = ["esmaspäev", "teisipäev", "kolmapäev", "neljapäev", "reede", "laupäev", "pühapäev"] temperatuurid = [-4, 2, 6, 4, 4] Järjendis võib olla korduvaid elemente, näiteks järjendis temperatuurid on 4 kaks korda. Eeltoodud järjendites on esimeses ainult sõned ja teises ainult täisarvud. Tegelikult võivad Pythonis ühe järjendi elemendid olla ka erinevat tüüpi, aga tavaliselt me seda võimalust ei kasuta. Järjendeid võime liigitada nende elementide tüüpide järgi. Muutujas nädalapäevad on meil nüüd siis sõnejärjend ja muutujas temperatuurid täisarvujärjend. Vaatame, mis tüüpi näitab Python ise muutuja temperatuurid puhul. temperatuurid = [-4, 2, 6, 4, 4] print(type(temperatuurid)) Ülesanne

2 MÕNED OPERATSIOONID. INDEKSID Järgmise programmis on demonstreeritud mõningaid järjendiga seotud operatsioone. # Järjendi loomine nädalapäevad = ["esmaspäev", "teisipäev", "kolmapäev", "neljapäev", "reede", "laupä ev", "pühapäev"] # Järjendi saab ekraanil väljastada print(nädalapäevad) # Elementide arvu (järjendi pikkuse) leidmine nädalapäevi = len(nädalapäevad) print('järjendis on ' + str(nädalapäevi) + ' elementi') # Järjendisse kuulumise kontroll if "palgapäev" in nädalapäevad: print("palgapäev on järjendis") else: print("palgapäev ei ole järjendis") # Konkreetse elemendi väärtus indeksi (järjekorranumbri) abil print(nädalapäevad[1]) Mõnevõrra üllatav võib tunduda see, et nädalapäevad[1] ei anna meile esimest elementi, vaid hoopis teise. Nimelt tavatsetakse programmeerimises nummerdamist alustada nullist. Tõepoolest print(nädalapäevad[0]) annab (argimõttes) esimese elemendi. Seega tuleb olla väga tähelepanelik, kas jutt on argine või programmeerimisest. Selguse mõttes räägime siis pigem elemendi indeksist, näiteks element indeksiga 1. Nagu juba nägime märgitakse indeks nurksulgudesse. Tegelikult ei alga ka tavaelus nummerdamine alati ühest. Näiteks on mõnedes rongijaamades platvorm 0 (Londoni King's Cross, Cardiffi keskjaam). (Eks King's Crossi jaamas ole ka muidugi platvorm 9 3/4.) Kuna loendamine algab nullist, siis viimase elemendi indeks on ühe võrra väiksem järjendi pikkusest, järjendi nädalapäevad puhul siis 6, sest elemente on 7. Proovigem!

3 nädalapäevad = ["esmaspäev", "teisipäev", "kolmapäev", "neljapäev", "reede", "laupäev", "pühapäev"] print(nädalapäevad[6]) print(nädalapäevad[7]) Kui minna "üle piiri", kasutades sellist indeksit, millele vastavat elementi pole, siis ilmub veateade IndexError: list index out of range. Ülesanne Pythonis on tõepoolest võimalus kasutada negatiivseid indekseid. Tegelikult me oleme seda juba kasutanud vihjes Leedu perekonnanimede ülesande juures: Viimase tähe kontrollimiseks sobib nimi[-1] == "e". Tookord oli tegemist sõnega, mida aga saabki käsitleda sümbolite jadana. Nii ongi väga mitmed (siiski mitte kõik) operatsioonid võimalikud nii järjendite kui sõnedega. (Tegelikult veel teistegi andmestruktuuridega, mida selles kursuses üldiselt ei käsitleta.) VIILUTAMINE Leedu perenimede ülesande juures oli veel kirjas, et kahe viimase tähe kontrollimiseks saab kasutada näiteks võrdlemist nimi[-2:] == "ne". Tegemist on viilutamisega, mis toimib nii järjendite kui sõnede puhul ja millega saame vastavalt alamjärjendi või alamsõne. Vaatleme viilutamise võimalusi järgmise programmi abil, kus "noa all" on (antud juhul ühesümboliliste) sõnede järjend. Meelega on sama tulemuse saamiseks kasutatud erinevaid võimalusi.

4 a = ['A', 'B', 'C', 'D', 'E'] print(a[0:2]) print(a[:2]) print(a[2:5]) print(a[2:]) print(a[-2:]) Enne koolonit kirjutatakse indeks, millest alates tuleb elemente kopeerida, ja kooloni järele indeks, mille juures tuleb kopeerimine lõpetada (selle indeksiga element jääb tulemusest välja). Kui algav indeks kirjutamata jätta, siis alustatakse järjendi (sõne) algusest. Kui lõpetav indeks kirjutamata jätta, siis kopeeritakse kuni järjendi (sõne) lõpuni (viimane element kaasaarvatud). Järgmises näites viilutatakse erinevaid sõnesid - nii neid, mis on muutujale väärtuseks antud, kui ka neid, mis pole. sõne1 = 'Tartu' print(sõne1[1:4]) sõne2 = sõne1 print(sõne2[-2:]) print("väike-maarja"[4:9]) Ülesanne

5 VEEL OPERATSIOONIDEST Toome lõpetuseks tabeli, milles on nii juba mainitud kui mainimata võimalusi. Avaldis Väärtus Kommentaar len([2, 1, 4, 3, -5]) 5 Elementide arv min([2, 1, 4, 3]) 1 Minimaalne element max([2, 1, 4, 3]) 4 Maksimaalne element sum([2, 1, 4, 3]) 10 Elementide summa sorted([2, 1, 4, 3]) [1, 2, 3, 4] Tagastab järjestatud järjendi 3 in [2, 1, 4, 3] True Kas on selline element? [2, 1] + [3, 1] [2, 1, 3, 1] Järjendite liitmine [2, 1, 4, 1].count(1) 2 Elemendi esinemiste arv [1, 2, 3] == [2, 1, 3] False Järjekord on oluline Katsetage neid julgesti! Kontrollülesande 5.1 lahendamiseks pole tegelikult kogu seda arsenali vaja. Edasipidi aga võivad erinevad võimalused kasuks tulla küll. Tabelis on järjendite liitmise tehe, mille abil saame järjendile ka vaid ühe elemendi lisada. Ühe elemendi lisamiseks saab samuti kasutada funktsiooni append. Järgmises näites ongi kummalegi järjendile üks element lisatud. a = [5, 8] a.append(7) print(a) b = [5, 8] b += [7] print(b) Vaata ka kokkuvõtvat videot:

6 5.2 For-tsükkel. Funktsioon range ÜKSIK ELEMENT TEISTE SEAS Jätkame järjendi teemaga vaadeldes nüüd järjendi ühte konkreetset elementi. Võtame näiteks järjendi a = [12, 23, 34, 45, 56] elemendi, mille indeks on 3. Näeme, et a[3] (või teisiti a[-2] ) väärtus on 45. Tegelikult võime a[3] (ja muidugi ka teisi elemente) küllaltki iseseisvatena käsitleda. Näiteks saame seda kasutada avaldistes või anda sellele uue väärtuse. a = [12, 23, 34, 45, 56] print(a[3]) print(type(a[3])) print(a[3] - 32) a[3] = 1 print(a[3]) Ülesanne Nagu näeme, siis on indeksit võimalik arvutades leida. Oluline on vaid, et indeks oleks lubatud vahemikus. Järjendi idee on siiski kõiki (või vähemalt mingeid) elemente koos käsitleda. Proovime järjendi elemendid järjestikustel ridadel ekraanile saada. Tegemist on selgelt tsüklilise tegevusega, mida saamegi while-tsüklina realiseerida. a = [12, 23, 34, 45, 56] i = 0 while i < len(a): print(a[i]) i += 1

7 Kuna viimase elemendi indeks on ühe võrra väiksem kui järjendi pikkus, siis tõesti selline tsükli tingimus on sobiv. Väljastamise asemel võime ka näiteks kõik need elemendid, mille väärtus on suurem kui 30, nullida. a = [12, 23, 34, 45, 56] i = 0 while i < len(a): if a[i] > 30: a[i] = 0 i += 1 print(a) FOR-TSÜKKEL Kuna väga sageli on vaja järjendiga just elementhaaval midagi ette võtta, on kasutusele võetud eriline tsükkel. For-tsükkel võtabki järjest igal sammul fookusesse järjendi ühe elemendi. Elementide väljastamise saame realiseerida nüüd lühemalt. a = [12, 23, 34, 45, 56] for el in a: #el asemel võib ka mingi teine nimi olla print(el)

8 Muutuja el saab igal tsükli sammul väärtuseks järjendi a järgmise elemendi. Laias laastus on for-tsükkel while-tsükliga sarnane. Esimesel real on päis, mis määrab, millal tsükkel lõpetatakse. Järgneb taandreaga määratud keha (ehk sisu), mida igal sammul täidetakse. Tsüklit korratakse niipalju kordi, kui järjendis on elemente. Muutuja el kaudu ei saa muuta järjendi elementide väärtusi. Kui püüda teha ülaltoodud teisele while-tsüklile analoogi, siis nii jääb a muutmata. a = [12, 23, 34, 45, 56] for el in a: if el > 30: el = 0 print(a) Mitmetes programmeerimiskeeltes on for-tsükkel teistsugune ja Pythoni for-tsüklile sarnast nimetatakse hoopis for-each-tsükliks.

9 RANGE Üsna sageli on vaja selliseid tsükleid, kus tsükli muutuja väärtus teatud reeglite järgi muutub. Meil endalgi oli vaja, et näiteks i omandaks järjest väärtusi 0, 1, 2, 3 jne. Siin tuleb appi funktsioon range, mis genereerib järjendit meenutava väärtuse. Näiteks range(4) annab vahemiku, milles on 0, 1, 2 ja 3. Vajadusel võime ka vastava järjendi saada list(range(4)), aga for-tsükli jaoks seda vaja pole. for i in range(4): print(i) Muutuja i saab järjest väärtused 0, 1, 2 ja 3. Kui argumendiks on mittepositiivne arv, siis ühtegi arvu vahemikus pole. for i in range(-4): print(i) Vahel meil tegelikult tsükli muutuja väärtust teada pole vajagi, huvitab vaid korduste arv. Paneme näiteks kilpkonna jälle ruutu joonistama from turtle import * for i in range(4): forward(100) left(90) exitonclick() Kuigi muutuja i väärtust vaja ei olnud, pidi see muutuja ikka kirjas olema. Funktsiooni range saab kasutada ka 2 või 3 argumendiga. Kui on kaks argumenti, siis esimene näitab, millisest arvust alustatakse ja teine, millise arvu juures lõpetatakse (seda ennast mitte kaasates). for i in range(1, 4): print(i)

10 Ülesanne Kui teine argument ei ole esimesest suurem, siis ühtegi arvu vahemikus pole. Kui on kolmaski argument, siis see näitab sammu, mis võib olla ka negatiivne. Nii annab range(0, 13, 2) arvud 0, 2, 4, 6, 8, 10, 12 ja range(4, -5, -3) arvud 4, 1, -2. Muidugi saab ka erinevates kohtades muutujaid kasutada. Näiteks teeme programmi, mis küsib kasutajalt kaks täisarvu. Seejärel kirjutab ekraanile alates esimesest arvust üle ühe kõik täisarvud kuni teise arvuni (seda mitte kaasates). Ühtlasi leiab ka kõigi väljastatud arvude korrutise. Näiteks, kui sisestatakse 4 ja 12, siis ekraanile väljastatakse: Korrutis on 1920 Üks võimalik lahendus on selline. Korrutise puhul ei sobi algväärtuseks 0, sest korrutamine seda ei muudaks, algus = int(input("sisestage esimene arv ")) lõpp = int(input("sisestage teine arv ")) korrutis = 1 for i in range(algus, lõpp, 2): print(i) korrutis *= i print("korrutis on " + str(korrutis)) Kontrollülesande 5.2 lahendamisel võib sellest näitest kasu olla.

11 5.3 Andmed failist ANDMED FAILIST For-tsüklit saame kasutada ka failist andmete lugemiseks. Selline võimalus annab programmidele uue mõõtme - enam me ei pea andmeid programmi sisse kirjutama või kasutajalt sisestamist küsima. Failis võivad andmed olla erineva struktuuriga, näiteks krüpteeritult. Meie piirdume, vähemalt esialgu, selliste failidega, mis on ka inimesele loetavad ja arusaadavad. Räägime lihtsatest tekstifailidest, mis koosnevad ridadest. Failide sisselugemiseks saab kasutada järgmist programmi. fail = open("andmed.txt", encoding="utf-8") for rida in fail: print("lugesin sellise rea: " + rida) fail.close() Andmed loetakse failist andmed.txt, mis on programmiga samas kaustas. Faili avamisel oleks võinud kasutada ka ühe argumendiga varianti open("andmed.txt"), aga kuna meil võib tulla tegemist täpitähtedega, täpsustame kodeeringut. Failist saame read for-tsükliga järjest kätte. Muutujas fail pole siiski järjend vaid mõnevõrra keerukam struktuur, millega aga for-tsükkel kenasti hakkama saab. Tsükli kehas saame konkreetse reaga midagi peale hakata, antud juhul see lihtsalt väljastati ekraanile. Tegelikult aga saab olenevalt rea tähendusest väga huvitavaid ja kasulikke asju teha. Olgu meil näiteks fail jooks.txt, kus on kirjas, mitu kilomeetrit tervisesportlane erinevatel kordadel jooksis. Teeme programmi, mis kõik need arvud kokku liidab. fail = open("jooks.txt", encoding="utf-8") kokku = 0 for rida in fail: kokku += float(rida) fail.close() print("kokku joosti " + str(kokku) + " kilomeetrit.")

12 Muidugi võib tsükli kehas ka rohkem ridu olla. Näiteks liidame kokku ainult need jooksud, mil joosti üle 10 kilomeetri. fail = open("jooks.txt", encoding="utf-8") kokku = 0 for rida in fail: kilomeetreid = float(rida) if kilomeetreid > 10: kokku += kilomeetreid fail.close() print("kokku joosti " + str(kokku) + " kilomeetrit.") Kui tahame andmetega midagi edasi teha, siis võib olla mõistlik need järjendisse panna. fail = open("jooks.txt", encoding="utf-8") kokku = 0 jooksud = [] for rida in fail: jooksud.append(float(rida)) # 2. võimalus jooksud += [float(rida)] fail.close() print(jooksud[4]) Enne tsüklit on tehtud tühi järjend: jooksud = []. Tsükli igal sammul järjend pikeneb: jooksud.append(float(rida)) või jooksud += [float(rida)]. Pärast tsüklit väljastatakse järjendi element, mille indeks on 4. Kontrollülesande 5.3 peaks saama lahendatud juba eeltoodud materjali põhjal. KUIDAS FAILID TEKIVAD? Eespool olevates näidetes oli fail, kust andmeid võtta, juba olemas. Selline fail võib olla tekkinud väga erineval moel. Seda, kuidas Pythoni programmiga saab andmeid faili kirjutada, vaatame edaspidi. Tekstiredaktoriga faili koostades peab jälgima, et tegemist oleks lihtsa nö plain-tekstiga. Salvestamisel võiks valikute korral eelistada UTF-8 kodeeringut. Muude korral võib vaja minna programmis kodeeringu muutmist. Meil on võimalik tekstiredaktorina kasutada Thonnyt ennast. Salvestamisel tuleb lihtsalt salvestustüübina text files valida. Vaikimisi lähevad need failid samasse kausta, kus programmidki ja see meile sobib. Tohutult palju võimalusi pakuvad avalikud andmebaasid, kust saame kõigepealt sobiva tabeli alla laadida ja seda siis oma programmi abil analüüsida. Vastav näide on selle materjali lõpus. Siinkohal lihtsalt mõned lingid:

13 PANGAAUTOMAAT RAHVUSVAHELISEKS Failidest andmete saamisega saame täiendada pangaautomaadi programmi nii, et saaks keelt valida. Selle programmi loomisest on ka video. Programmi tööks vajalikud failid on est.txt, eng.txt ja ger.txt. from time import sleep keel = int(input("1) Eesti 2) English 3) Deutsche ")) if keel == 2: failinimi = "eng.txt" elif keel == 3: failinimi = "ger.txt" else: failinimi = "est.txt" readfailist = open(failinimi, encoding = "UTF-8") read = [] #ilma reavahetusteta ridade list for rida in readfailist: #reakaupa listist readfailist read = read + [rida.strip("\n")] #ilma reavahetuseta rida lisatakse listi # või read.append(rida.strip("\n")) readfailist.close() # faili ei lähe enam vaja sisestatud_pin = "" katseid = 3 while sisestatud_pin!= "1234" and katseid > 0: print(read[0]) print(read[1] + str(katseid) + read[2]) katseid -= 1 sisestatud_pin = input() if sisestatud_pin == "1234": print(read[3]) else: print(read[4]) i = 10 while i > 0: print(i) i -= 1 sleep(1)

14 KILPKONNA TRANSLAATOR Failis võib olla hoopis programmitekst. Tegelikult ju meie programmide tekstid ongi lihtsalt tekstifailid. Olgu meil näiteks failis kirjas, kuidas kilpkonn peaks liikuma edasi 40 paremale 90 edasi 50 tagasi 30 vasakule 90 edasi 30 Kirjutame sellise programmi, mis selle teksti kilpkonnale arusaadavaks tõlgib. from turtle import * # faili avamine fail = open("kilpkonn.txt") # faili töötlemine ja kilpkonnaga joonistamine for rida in fail: osad = rida.split() # tühikute kohal osadeks liikumine = osad[0] # kuidas liikuda arv = int(osad[1]) # kui palju if liikumine == "vasakule": left(arv) elif liikumine == "paremale": right(arv) elif liikumine == "edasi": forward(arv) elif liikumine == "tagasi": backward(arv) else: print("ei saa sellest käsust aru!") fail.close() exitonclick() Näeme, et kilpkonn saigi niimoodi eestikeelsetest käskudest aru. Programm oskab tõlkida (ingl translating)! Tegelikult nimetataksegi selliseid programme, mis programmiteksti arvutile arusaadavaks teevad translaatoriteks.

15 AVALIKUST ANDMEBAASIST Eespool juba mainisime avalikke andmebaase. Näiteks statistikaameti kodulehel on väga palju huvitavat informatsiooni. Siin saab ise andmeid valida ja sobivas formaadis salvestada. Kuigi pakutakse ka tekstifaili, on meile siin sobivam tabeldieraldusega pealkirjata tekst (.csv) või semikooloneraldusega pealkirjata tekst (.csv). Mõlemal juhul tekib csv-fail. Formaadinimi csv on lühend sõnadest comma-separated values (komaga eraldatud väärtused). Kuigi vahel kasutataksegi väärtuste eraldajana tõesti koma, siis paljudel juhtudel on eraldajaks hoopis tabeldusmärk (Pythonis "\t") või semikoolon. Näiteks võib rida failis RV031sm.csv olla selline (loomulik iive aastal). "1923";3636 Nüüd on vaja see rida semikooloni kohalt osadeks jaotada ja osad täisarvudena esitada. Osadeks saab jaotada funktsiooni split abil, mis tekitab antud juhul kahe elemendiga sõnejärjendi. Üks element on sõne '"1923"' ja teine '3636'. Tegelikult tahame mõlemal juhul saada täisarve. Kuna esimesel juhul on sõnes endas jutumärgid, siis tuleb need eemaldada näiteks funktsiooni strip abil. readfailist = open("rv031sm.csv") aastad = [] # järjend aastate jaoks iibed = [] # järjend iivete jaoks for rida in readfailist: # reakaupa listist readfailist realt = rida.split(';') # jaotada semikooloni kohalt aastad += [int(realt[0].strip('"'))] # aastate järjendisse juurde # või aastad.append(int(realt[0].strip('"'))) iibed += [int(realt[1])] # iivete järjendisse juurde # või iibed.append(int(realt[1])) readfailist.close() # faili ei lähe enam vaja print(aastad) print(iibed) Järgnevas videos on seda temaatikat põhjalikumalt näidatud:

16 5.4 Silmaring: krüpteerimine Autor: Kristjan Krips SISSEJUHATUS Selle nädala silmaringi materjalis teeme lühikokkuvõtte sellest, mis on krüpteerimine ja miks seda vaja läheb. Ajaloo osas mainisime masinat nimega Enigma, mida kasutati Teise maailmasõja ajal militaarsõnumite kaitsmiseks pealtkuulajate eest. Enigma oli masin, mis võimaldas andmeid krüpteerida ning seega neid kaitsta kolmandate osapoolte eest (näiteks sakslaste andmete kaitsmist inglaste eest). Enigma muutis masinasse sisestatud andmeid nii, et masinast väljuvad andmed olid kolmandale osapoolele loetamatud. Enigma. Allikas

17 KODEERIMINE On oluline tähele panna, et Enigma puhul polnud tegu andmete lihtsa kodeerimisega, sest kodeeritud andmeid on kerge taastada. Lihtne kodeerimise näide on morsekood, mis muudab kindla eeskirja alusel andmeid ning võimaldab neid selle sama eeskirja alusel taastada. Krüpteerimine erineb kodeerimisest selle poolest, et andmete töötlemisel kasutatakse võtit, mistõttu kolmas osapool ei saa ilma võtit omamata krüpteeritud andmetest esialgset taastada. Morse on näide kodeerimisest. Allikas

18 KRÜPTEERIMINE Tänapäeval on krüpteerimine põhiline viis digitaalsete andmete kaitsmiseks. Krüpteerimise abil kaitstakse telefonikõnesid pealtkuulamise eest ning meditsiiniandmeid ja ärisaladusi lekkimise eest. Muuhulgas kasutatakse krüpteerimist tasuliste telekanalite edastamisel, wifi võrgu kaitsmisel, HTTPS protokolli kasutavate veebilehtedega suhtlemisel, digiallkirjastamisel ja e-hääletamisel. Krüpteeritud ühenduse kasutamine on üks oluline meetod turvalise internetipanga teenuse pakkumisel. Kuna krüpteerimine mõjutab meid iga päev, siis võib tekkida küsimus, kuidas ikkagi krüpteerimine toimib ning kas ründajal on võimalik krüpteeritud sõnumeid lahti murda. SÜMMEETRILINE KRÜPTEERIMINE Kõige lihtsam on krüpteerimist ette kujutada nii, et on olemas krüpteerimisalgoritm (eeskiri), mis saab sisendiks andmed ja krüpteerimisvõtme ning annab väljundiks krüpteeritud andmed. Nende krüpteeritud andmete taastamiseks on vaja kasutada dekrüpteerimise (lahtikrüpteerimise) võtit ning ilma vastava võtmeta pole võimalik andmeid esialgsel kujul taastada. Juhul kui krüpteerimisvõti ja dekrüpteerimisvõti on samad, siis on tegu sümmeetrilise krüpteerimisalgoritmiga. Niisuguseid algoritme kasutatakse suurte andmehulkade krüpteerimiseks, hea näide on kõvakettal või mälupulgal olevate andmete kaitsmine. Krüpteerimine ja dekrüpteerimine Nüüd võib tekkida küsimus, et mis on see võti, mida krüpteerimisel ja dekrüpteerimisel kasutatakse. Vastav võti on mõnes mõttes sarnane tavalise lukuvõtmega võtit tuleb valvata, et sellest koopiat ei tehtaks, ja võtit tuleb kaitsta kadumise eest, et võõrad võtit kasutada ei saaks. Lisaks sellele tuleb võtit enda jaoks säilitada, et tagada juurdepääs võtmega suletud hoiukohtadele või ruumidele. Oluline on märkida, et ka krüpteeritud andmetele on võimalik juurde pääseda ainult vastavat võtit kasutades. Võti on kahendsüsteemis arv ehk siis ühtedest ja nullidest koosnev jada. Tänapäevaste sümmeetriliste krüpteerimissüsteemide korral on võtmed enamasti 128-bitised või 256- bitised ehk siis ühtede ja nullide jadad pikkusega 128 või 256 märki. On väga oluline, et

19 krüpteerimisel kasutatav võti oleks juhuslikult genereeritud, sest krüpteerimise tugevus sõltub nii krüpteerimisalgoritmi kui ka võtme tugevusest. Samas toob juhuslike bitijadade kasutamise nõue endaga kaasa kaks probleemi: 1. Esimene probleem seisneb selles, et juhuslike võtmete genereerimine ei ole lihtne, sest arvutid ei suuda päris juhuslikke arve genereerida. 2. Teine probleem on seotud sellega, et inimesed ei ole võimelised meelde jätma pikki nende jaoks seosetuid bitijadasid. Seetõttu krüpteeritakse võti enamasti parooliga, mida on inimesel lihtsam meelde jätta, ning krüpteeritud võti salvestatakse kas eraldi failina, lisatakse krüpteeritud faili päisesse või hoitakse eraldiseisval kiibil. Andmete krüpteerimiseks on vaja valida sobiv krüptosüsteem. Krüptosüsteem koosneb: võtme genereerimise algoritmist, andmete kaitsmiseks mõeldud krüpteerimisalgoritmist ja andmete taastamiseks mõeldud dekrüpteerimisalgoritmist. Krüptosüsteemi valikul tuleks lähtuda selle turvalisusest. Tänapäeval on sümmeetrilise krüpteerimise korral standardlahenduseks AES-i (Advanced Encryption Standard) kasutamine. AES krüpteerib andmeid 128-bitiste plokkide kaupa, täpsemat infot AES-i toimimise kohta leiate vastavalt Wikipedia lehelt: AES-i pakutavat krüpteeringut peetakse murdmatuks. See tähendab seda, et isegi superarvutid ei suuda AES-i abil krüpteeritud andmeid lahti murda, sest leitud pole ühtegi olulist krüptograafilist viga ning kõikide erinevate võtmete proovimiseks kuluks miljoneid aastaid. See kehtib ainult vastava süsteemi korrektsel kasutamisel, mis tähendab seda, et võti on genereeritud juhuslikult ning see ei leki. Juhul kui AES võtme kaitsmiseks kasutatav parool on lühike, näiteks kaheksa sümboli pikkune, siis on võimalik kõikvõimalike lühikeste paroolide proovimise teel vastav parool üsna kiiresti üles leida ning seega andmed dekrüpteerida. Samuti on vaikimisi eelduseks, et krüpteerimistarkvara on kirjutatud spetsialistide poolt, et see ei lekitaks infot krüpteeritavate andmete või võtmete kohta. Krüptoalgoritmide programmeerimine ei ole lihtne, sest info võib lekkida väga erinevatest kohtadest, näiteks protsessori energiatarbimise kaudu. SÜMMEETRILISE KRÜPTEERIMISEGA SEOTUD PROBLEEMID Sümmeetriline krüpteerimine võimaldab andmeid kaitsta, kuid probleemiks osutub krüpteeritud andmete jagamine teiste osapooltega. Kuna sümmeetrilise krüpteerimise korral kasutatakse krüpteerimiseks ja dekrüpteerimiseks sama võtit, siis oleks krüpteeritud andmete jagamisel vaja edastada ka võti.

20 Nüüd tekib küsimus, et kui turvaline on võtme jagamine ja edastamine. On oluline tähele panna, et kui võtit ja krüpteeritud andmeid edastatakse koos, siis saab pealtkuulaja juurdepääsu krüpteeritud andmetele ning seega poleks andmed kaitstud. Seega oleks võtme edastamiseks vaja turvatud sidekanalit. Samas, kui suhtluspartnerite vahel on juba olemas turvatud sidekanal, siis ei olegi enam vajadust andmeid eraldi krüpteerida. Mida teha olukorras, kus suhtluspartnerite vahel ei ole turvatud sidekanalit ning nad peavad edastama konfidentsiaalseid andmeid? Võimalik on kasutada kahte erinevat ebaturvalist sidekanalit (näiteks edastatakse parool käsitsi ümbrikus), lootuses, et pealtkuulaja ei saa mõlemat kanalit pealt kuulata ning seetõttu ei saa juurdepääsu kas krüpteeritud andmetele või siis võtmele. Samas ei paku niisugune süsteem suhtluspartneritele kindlust, et nende saadetud konfidentsiaalsed andmed jäävad salajaseks. Isegi kui õnnestub leida turvaline viis võtme edastamiseks, siis tekib teine probleem. Nimelt on vaja iga sõnumi jaoks genereerida uus võti, sest juhul kui suhtluspartner lekitab võtme (näiteks portaal ei turva paroole piisavalt hästi), siis saaksid kolmandad osapooled järgmisi sõnumeid lugeda. See omakorda tekitab vajaduse turvalise võtmehalduse jaoks. Neid probleeme saab lahendada avaliku võtme krüptograafia ehk asümmeetrilise krüptograafia abil. Allikas ASÜMMEETRILINE KRÜPTEERIMINE Asümmeetrilise krüpteerimise ehk avaliku võtme krüpteerimise korral kasutatakse kahte võtit avalikku ja salajast võtit. Need võtmed genereeritakse korraga ning nad on omavahel seotud nii, et avalik võti ei lekita informatsiooni salajase võtme kohta. Võtmete genereerimine peab olema juhuslik. Nii nagu nimigi ütleb, on üks võti avalik ning seda võib kõigiga jagada. Samas tuleb salajast võtit kaitsta lekkimise eest. Asümmeetrilise krüpteerimise korral on kõigil osapooltel enda võtmepaarid. Näiteks on kõigil Eesti ID-kaardi omanikel kiibis võtmepaar. Samuti on kõigil HTTPS pakkuvatel veebilehtedel oma võtmepaar. Avalikku võtit kasutatakse andmete krüpteerimiseks ning vastavat salajast võtit kasutatakse andmete dekrüpteerimiseks. Seega võimaldab asümmeetrilise krüptograafia kasutamine lihtsamat võtmevahetust, sest avalikku võtit saab edastada ebaturvalise sidekanali abil. Kui on vaja suhtluspartnerile saata konfidentsiaalseid andmeid, siis kõigepealt on vaja küsida suhtluspartneri avalikku võtit ning siis saab seda kasutada, et

21 konfidentsiaalseid andmeid krüpteerida. Kuna krüpteerimiseks kasutati suhtluspartneri avalikku võtit, siis saab vastavalt krüpteeritud andmeid dekrüpteerida ainult see sama suhtluspartner, sest ainult temal on juurdepääs sobivale salajasele võtmele. Selgituseks võtame näite, kus Kristjan tahab Taunole saata krüpteeritult salajast faili. Selleks peab: 1. Tauno jagama Kristjaniga enda avalikku võtit. Näiteks on ID-kaardi kiibis võtmepaar (avalik ja privaatne võti) ja Tauno jagab Kristjaniga ID-kaardi avalikku võtit. See pole probleem, sest ID-kaardi avalikud võtmed ongi vabalt jagatavad. 2. Seejärel Kristjan krüpteerib faili kasutades Tauno ID-kaardi avalikku võtit ning saadab krüpteeritud faili Taunole. 3. Nüüd ei jää Taunol muud üle, kui kasutada ID-kaardi kiibil olevat privaatset võtit ja saabki esialgsele failile kenasti ligi. Tegelikult küll kasutatakse suuremate andmete krüpteerimiseks alati sümmeetrilist krüptograafiat ning seega selles olukorras hübriidsüsteemi, kus genereeritakse sümmeetriline võti, sellega krüpteeritakse fail ja võti ise krüpteeritakse siis vastava avaliku võtmega. Juhul kui aga võtmeid kasutatakse vastupidi, siis on tegemist digiallkirjastamisega. Sellisel juhul krüpteeritakse andmed salajase võtmega ning seda saab teha ainult salajase võtme omanik. Digiallkirja kontrollimiseks kasutatakse vastavat avalikku võtit ning seda saavad teha kõik, kellel on juurdepääs vastavale avalikule võtmele. Krüpteerimine ja dekrüpteerimine salajase ja avaliku võtmega

22 5.5 Lugu: alkeemia IV LUGU: ALKEEMIA IV Selle loo on kirjutanud Tartu Ülikooli informaatika eriala esmakursuslane Ander Peedumäe. Ra jälgis tumedaid pilvi, mis tema silme eest mööda triivisid, ning mõtles ähvardavale ilmale. Ta ei jõudnud kaasa võtta veekindlat mantlit, rääkimata toidumoonast. Noormehe mõttekäiku segas karjatus, mis sundis teda pead pöörama. Tema sarviline savist kaaslane vaatas alla Tea poole, kes lamas kivisel mäeserval ning üritas härga eemale peletada. "Kõrval," pobises Ra ning loom sammus aeglaselt tema juurde, mille peale mees otsustas sõna otseses mõttes härjal sarvist haarata ning jalule tõusta. Jalule saamine toimus lihtsalt, kuid jalul püsimine oli märksa raskem. Õhk oli hõre, pea käis ringi ning hetkeks tundus nagu tuul üritaks teda uuesti maha suruda. Tea oli selleks ajaks jõudnud enda jaki liivast puhtaks kloppida ning ümbrust uurida. Nähes, et tema määratud teekaaslane suutis samuti püsti seista, astus neiu lähemale ning tutvustas ennast. "Tundub, et edasi lähme me koos. Mina olen Tea." "Ra," pobises näost kahvatu mees enda liikuvale savikamakale toetudes. Ta kogus end hetkeks ning ajas selja sirgu. "Me peaksime liikuma hakkama. Taevas lubab tormi ning meil ei ole peavarju ega korralike reisiriideid. Arvan, et kui kohe liikuma hakkame, siis jõuame õhtuks mäe jalamile." Tea nõustus ning koos hakati teed mööda mäeküljelt laskuma. Tea ja tema kotkas läksid ees ning Ra üritas enda härga üle kivide talutada. Poole päeva jooksul ei jõudnud surmväsinud ja läbimärjad noored kuigi palju enda eesmärgile lähemale. Viimases hädas leidis Tea enda kotka abil mõõduka koopasuu, mis tundus kutsuvam, kui kaljuserval tormi trotsimine. Käänulisest käigust paistis õrna valgust. Tea ei kahelnud hetkegi ning jooksis julgelt uudistama. "Kes seal on!?" hüüdis hirmunud hääl kaugemalt käigust. Hääle omaniku tõrvikutuli kumas seintele ning praksus kutsuvalt. "Oleme väsinud rändurid, kes on lootusetult eksinud! Ehk lubate meil endaga liituda?" vastas Tea enne, kui Ra pähe torkasid mõtted röövlitest, kes mäe kõhus võivad redutada, või mäekollidest, kes koobastes saaki varitsevad. "Rändurid?" üllatus võõras, "Neid ei käi siin just palju. Hea küll, astuge aga valguse kätte. Varjudes pole just kõige ohutum."

23 Ra üritas paari kiire käeviipe ja näoilmega Tead veenda ka enda loomale ootamiskäsku andma, sest mõistagi ei ole kõige lihtsam seletada, miks täiesti tavalistel ränduritel savist kaaslased on. Tüdruk oli talurahva ebausuga alkeemikutesse mitmel korral kokku puutunud ning nõustus. Tunneli lõpus seisis mõlkis kiivriga nahkturvises mees, kelle selja taga kõrgus suurtest kividest laotud müür. "Tulge aga. Aega ei tasu meil kaotada. Varsti on õhtu käes ja siis ei tasu pimedas ringi luusida." Valvur avas pehkinud puitukse ning lasi teekäijad läbi müüri. Nende ees avanes kummaline vaatepilt. Avaras koopas peitus terve linn: Paarsada kivist majakest, kividega piiratud mägikitsede tarandikud, inimesed, kes majade vahel sagisid, ja lugematu arv kustutatud laternaid ning pooleldi põlenud küünlaid. Turvises mees juhatas Ra ja Tea linnavanema majani, kes noori lahkelt sisse kutsus. Ka tema ja ta naine kinnitasid, et väljas ei ole sel kellaajal enam ohutu ning tasub sees püsida. Tea küsimustele vastuseks ütles ta: "Varjud." "Mis mõttes varjud?" päris ka Ra tõstes pilku seene- ja vetikahautiselt, mida neile kivist kaussides pakuti. "Nii me neid siin kutsume. Ööajal ronivad koopaurgudest välja jubedad elajad, kes varjudes konutavad ja loomi karjast ära viivad. Ainus asi, mis neid eemal hoiab, on tuleleek." "Miks kõik küünlad ja laternad siis praegu kustutatud on?" tegi Tea kummalise tähelepaneku. Hallipäine mees kratsis kukalt: "Meil on küll väga head küünlad, mis öö läbi põlevad, kuid me ei suuda neid piisavalt kiiresti valmistada, et neid kogu aeg saaks põletada. Lisaks on meil abimees." Ta naeratas nukralt ja näitas aknast välja. Linna keskel seisis puidust ehitatud hernehirmutise sarnane tegelane. Valvur kallas tema küljel rippuvasse lähkrisse lambiõli ning pistis tema õlgedest juustesse tõrvikuleegi. Kuiv hein lõi lõõmama, kuid edasi ei levinud. Vaikselt hakkasid puust mehe jalad ja käed liikuma, ning ta asus laternaid süütama. Võttis okstest sõrmedega pealaelt tuld ning pistis klaasist kastidesse. Tea surus enda näo vastu aknaklaasi ja jälgis imestusega huvitava alkeemiaseadeldise tööd ning üritas seda mõtetes lahti võtta. Ra uudistas üle Tea õla ning märkas midagi huvitavat. Hernehirmutis süütas esimese maja juures kõik laternad ning läks siis pikkade aeglaste sammudega järgmise juurde. Küünalde poole ta isegi ei vaadanud. "Miks ta küünlaid ei süüta?" küsis Ra. Külavanema naine vastas naeratusega: "Ta süütab alati kõige esimesena laternad ning alles siis jõuab küünalde ja tõrvikuteni." Midagi oli selle meistriteose juures valesti. Kui puitmees annab tuld laternatele esimesel ringil ning tuleb küünalde jaoks tagasi, siis kaotab ta väärtuslikku aega puhtalt majade vahel liikumisel. Tundus, et Ral oli õigus, sest Tea tardus paigale ning jälgis kaugemal seisvate

24 majade katuseid, kus laternate asemel olid vaid süütamata küünlad. Kõrgel tänava kohal sagisid väiksed elajad, kes lõhkusid katusekive ja ringi hüppasid. Ra tõmbas Tea kõrvale ning rääkis talle kiirelt, miks hernehirmutise tööring ei tööta ning tüdruku silmis lõi põlema mõte. Muidugi! hõikas ta, See on vale tsükkel! Selline käsuring töötaks ühe maja puhul, kuid terve linna jaoks on see tunduvalt aeglasem. Tea lõpetas lause ning sööstis uksest välja. Linnavanem jõudis vaid kraaksatada midagi ohu kohta enne, kui Ra enda kaaslasele järgnes. Nad jooksid puitmehe poole ning Tea hüüdis: "Lõpeta!" Leegid hernehirmutise pealael kustusid ning ta jäi seisma. Tea haaras õlgedega täidetud pea seest pabersõõri ning tegi söetükiga kiired parandused. Ta muutis algse tsükli olemust nii, et ta võtaks arvesse iga maja ning süütaks neis kõik laternad ja küünlad enne, kui edasi läheb. Naine asetas paberilipiku tagasi oma kohale ning mõistis, et neil ei ole tuld, millega kummaline kratt uuesti tööle panna, ja katuräästa küünaldeni ei ole enam aega ronida, sest märkamatult olid tema ja Ra sisse piiranud sajad varjuolendid, kes lõksutasid teravate hammastega täidetud lõugu. Ring nende ümber tõmbus aina kokku ja silme eest hakkas mustaks minema. Viimases hädas mõistis Ra, et tule tegemiseks pole alati taelakarpi tarvis ning karjus täiest kõrist: "SIIA!" Pisikesed olendid peatusid hetkeks kohkunult, kui koopaseintelt hakkas kajama metallist sõrgade plaginat. Savist härg tormas raksatusega läbi pehkinud ukse ning ajas laiali näljaste varjuelajate armee. Ra naeris kergendusest ning andis enda lemmiku käsu: "Tuld!"

25 5.6 Viienda nädala kontrollülesanded 5.1, 5.2, 5.3 Viiendal nädalal tuleb esitada nelja kohustusliku ülesande lahendused. Neljanda ülesande puhul on võimalik valida lahendamiseks vähemalt üks järgmistest ülesannetest, kas 5.4a, 5.4b või 5.4c (võib ka kaks või kolm lahendada). Lahendused tuleb esitada Moodle'is, kus need kontrollitakse automaatselt. Moodle'is on ka nädalalõputest 10 küsimusega, millest tuleb vähemalt 9 õigesti vastata. Kui teile tundub, et automaatkontroll töötab ebakorrektselt, siis palun kirjutage aadressil proge@ut.ee. Kontrollülesanne 5.1. Mootorrattad aastal registreeriti Eestis 1145 uut mootorratast ( Registeeritud mootorrataste andmed on kuude kaupa failis mootorrattad.txt, kus esimesel real on jaanuaris registreeritud tsiklite arv, teisel real veebruaris registreeritud tsiklite arv jne. Faili võite salvestada siit või koostada ise mõne tekstiredaktoriga. Koostada programm, mis loeb failist registreeritud mootorrataste andmed kuude järgi järjendisse; o Failist järjendisse saab lugeda järgmise programmijupi abil: fail = open("mootorrattad.txt", encoding="utf-8") mootorrattad = [] for rida in fail: mootorrattad.append(int(rida)) # 2. võimalus mootorrattad += [int(rida)] Viide: küsib kasutajalt täisarvu, mis tähistab ühe kuu järjekorranumbrit (jaanuar 1, veebruar 2 jne); väljastab mitu uut mootorratast sel kuul registreeriti.

26 Näited programmi tööst: Kontrollülesanne 5.2. Laikimine (for-tsükliga) Kaisa tegi Facebooki postituse. Ta märkas, et iga minuti järel laikisid ta sõbrad tema postitust nii, et esimesel minutil kogus postitus 1 laigi, teisel minutil ei laikinud keegi, kolmandal minutil 3 laiki, neljandal minutil mitte ühtegi laiki, viiendal minutil 5 laiki jne. Koostada programm, mis küsib kasutajalt minutite arvu (mittenegatiivne täisarv); arvutab for-tsükli ja funktsiooni range() abil postituse laikide koguarvu; väljastab saadud laikide arvu ekraanile. Näiteks, kui kasutaja sisestas 7, siis paaritute arvude summa on 16, sest = 16. Kui kasutaja sisestas 8, siis on summaks samuti 16, sest = 16. Näited programmi tööst: Tegemist on ülesande 3.2 variandiga for-tsükli jaoks.

27 Kontrollülesanne 5.3. Sissetulekud Failis konto.txt on kirjas ujukomaarvudena pangakonto tehingud (kus positiivsed arvud on sissetulekud ja negatiivsed arvud on väljaminekud). Iga arv on eraldi real. Näitefaili võite salvestada siit või koostada ise mõne tekstiredaktoriga (kasvõi Thonnyga). Tekstifaili kasutamiseks programmi sees peab fail asuma programmifailiga samas kaustas. Koostada programm, mis loeb failist nimega konto.txt andmed; väljastab ekraanile kõik sissetulekud ehk failist leitud positiivsed arvud. Iga arv peab olema eraldi real ja positiivsete arvude omavaheline järjekord peab jääma samaks nagu failis. Näide programmi tööst: Näiteks antud näitefaili konto.txt puhul peab ekraanile ilmuma

28 5.7 Viienda nädala kontrollülesanded 5.4abc Viiendal nädalal tuleb esitada nelja kohustusliku ülesande lahendused. Neljanda ülesande puhul on võimalik valida lahendamiseks vähemalt üks järgmistest ülesannetest, kas 5.4a, 5.4b või 5.4c (võib ka kaks või kolm lahendada). Lahendused tuleb esitada Moodle'is, kus need kontrollitakse automaatselt. Moodle'is on ka nädalalõputest 10 küsimusega, millest tuleb vähemalt 9 õigesti vastata. Kui teile tundub, et automaatkontroll töötab ebakorrektselt, siis palun kirjutage aadressil proge@ut.ee. Järgmisest kolmest ülesandest (5.4a, 5.4b, 5.4c) tuleb lahendada vähemalt üks. Kontrollülesanne 5.4a Jukebox Ada tahab valida plaadiautomaadist laulu ja uurib, milliseid laule masin mängib. Muusikapalad on kirjas failis, kus iga laul on eraldi real. Programmi testimiseks kasutatakse järgmisi faile, mida võite salvestada või koostada ise mõne tekstiredaktoriga (nt Notepad): jukebox.txt; 80ndad.txt; eesti_muusika.txt; edm.txt. Koostada programm, mis küsib kasutajalt failinime (kasutaja sisestab failinime koos laiendiga, nt jukebox.txt); loeb sisestatud nimega failist andmed; näitab kõiki laule koos järjekorranumbritega (alates 1); küsib kasutajalt, mitmendat laulu ta soovib (kasutaja sisestab alati täisarvu); väljastab ekraanile vastavalt valitud arvule muusikapala Näide programmi tööst: Näiteks antud näitefaili jukebox.txt puhul peab ekraanile ilmuma

29 Kontrollülesanne 5.4b Loomulik iive Loomulik iive on elussündide arvu ja surmajuhtude arvu vahe. Failis synnid.txt on esitatud Eesti eelmise aasta sündide registreerimisandmed kuude lõikes ( ). Failis surmad.txt on kirjas Eesti eelmise aasta surmajuhtude registreerimise andmed ( ). Programmi testimiseks kasutatakse lisaks ka järgmisi faile, mida võite salvestada või koostada ise mõne tekstiredaktoriga (nt Notepad): synnid_1.txt ja surmad_1.txt; synnid_2.txt ja surmad_2.txt; synnid_3.txt ja surmad_3.txt; synnid_4.txt ja surmad_4.txt. Kirjutada programm, mis loeb failist synnid.txt sündide arvud kuude kaupa järjendisse nii, et esimene element on jaanuari kuu sündide arv, teine element on veebruari sündide arv jne; loeb failist surmad.txt surmade arvud kuude kaupa järjendisse nii, et esimene element on jaanuari kuu surmade arv, teine element on veebruari surmade arv jne; koostab loodud järjendite põhjal järjendi, kus elementideks on vastava kuu loomulik iive; väljastab ekraanile loomuliku iibe järjendi; väljastab kuu numbrid (jaanuar 1, veebruar 2 jne), mille korral oli iive positiivne.

30 Näide programmi tööst: Kontrollülesanne 5.4c Tahvli juurde Mõned õpetajad on tavatsenud õpilasi tahvli juurde vastama kutsuda kuupäeva järgi vastavalt õpilaste nimekirjale. Näiteks 4. kuupäeval tuleb esimesena vastama nimekirjas 4. olev õpilane. Failis nimekiri.txt on õpilaste nimed, igaüks eraldi real. Üks selline, mis on genereeritud leheküljel on siin. Võite ise koostada ka teistsuguse nimekirja. Koostada programm, mis küsib failinime (eeldame, et kasutaja sisestatud nimega fail leidub ja seal on vähemalt 31 nime); loeb sisestatud nimega failist andmed; väljastab vastavalt tänasele kuupäevale õpilase nime, kes peab vastama tulema. Programm peab tänase kuupäeva leidma automaatselt, aluseks saab võtta järgmise näite: from datetime import * print(datetime.now().day) Näide programmi tööst:

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc Tallinna Linnavalitsuse sõnumisaatja kasutusjuhend asutuse juhatajale Sisukord 1. Süsteemi sisenemine...2 2. Parooli lisamine ja vahetamine...2 3. Ametnike lisamine ametiasutuse juurde...2 4. Saatjanimede

Rohkem

Excel Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et

Excel Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et Excel2016 - Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et programm suudaks anda tulemusi. Mõisted VALEM - s.o

Rohkem

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier 09.02.2019 Miks on ülesannete lahendamise käigu kohta info kogumine oluline? Üha rohkem erinevas eas inimesi õpib programmeerimist.

Rohkem

Andmed arvuti mälus Bitid ja baidid

Andmed arvuti mälus Bitid ja baidid Andmed arvuti mälus Bitid ja baidid A bit about bit Bitt, (ingl k bit) on info mõõtmise ühik, tuleb mõistest binary digit nö kahendarv kahe võimaliku väärtusega 0 ja 1. Saab näidata kahte võimalikku olekut

Rohkem

MS Word Sisukord Uue dokumendi loomine... 2 Dokumendi salvestamine... 3 Faili nimi... 4 Teksti sisestamine... 6 Klaviatuuril mitteleiduvat sümbolite l

MS Word Sisukord Uue dokumendi loomine... 2 Dokumendi salvestamine... 3 Faili nimi... 4 Teksti sisestamine... 6 Klaviatuuril mitteleiduvat sümbolite l MS Word Sisukord Uue dokumendi loomine... 2 Dokumendi salvestamine... 3 Faili nimi... 4 Teksti sisestamine... 6 Klaviatuuril mitteleiduvat sümbolite lisamine... 6 Uue dokumendi loomine Dokumendi salvestamine

Rohkem

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev 05.02.2018 Versiooni kuupäev 30.01.2018 1 SISUKORD 1. ÜLEVAADE... 3 1.1

Rohkem

E-arvete juhend

E-arvete juhend E- arvete seadistamine ja saatmine Omniva kaudu Standard Books 7.2 põhjal Mai 2015 Sisukord Sissejuhatus... 3 Seadistamine... 3 Registreerimine... 4 E- arve konto... 5 Vastuvõtu eelistus... 5 Valik E-

Rohkem

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust 1011. Kaupmees teeb päringu Pocopayle aadressile https://my.pocopay.com/banklink. Vastuspäring tehakse makse õnnestumise

Rohkem

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joonistamise võimalused Turtle mooduli abil. Scratchi

Rohkem

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx Tartu Ülikool CVE-2013-7040 Referaat aines Andmeturve Autor: Markko Kasvandik Juhendaja : Meelis Roos Tartu 2015 1.CVE 2013 7040 olemus. CVE 2013 7040 sisu seisneb krüptograafilises nõrkuses. Turvaaugu

Rohkem

NR-2.CDR

NR-2.CDR 2. Sõidutee on koht, kus sõidavad sõidukid. Jalakäija jaoks on kõnnitee. Kõnnitee paikneb tavaliselt mõlemal pool sõiduteed. Kõige ohutum on sõiduteed ületada seal, kus on jalakäijate tunnel, valgusfoor

Rohkem

G aiasoft Programmi VERP ja Omniva Arvekeskuse liidese häälestamine ja arvete saatmine-lugemine VERP 6.3 ja VERP 6.3E Versioon ja hilisemad K

G aiasoft Programmi VERP ja Omniva Arvekeskuse liidese häälestamine ja arvete saatmine-lugemine VERP 6.3 ja VERP 6.3E Versioon ja hilisemad K Programmi VERP ja Omniva Arvekeskuse liidese häälestamine ja arvete saatmine-lugemine VERP 6.3 ja VERP 6.3E Versioon 6.3.1.51 ja hilisemad Kasutaja juhend 2016 Sisukord 1. Sissejuhatus...3 2. Liidese häälestus...3

Rohkem

Programmi AnimatorDV Simple+ lühike kasutajajuhend

Programmi AnimatorDV Simple+ lühike kasutajajuhend Programmi AnimatorDV Simple+ esmane kasutusjuhend Programm AnimatorDV Simple+ on mõeldud animatsioonide loomiseks. Tegemist on tasuta tarkvaraga, mis töötab videoseadmetega (videokaamera, veebikaamera).

Rohkem

G OSA A VARIANT RESPONDENDILE ISE TÄITMISEKS

G OSA A VARIANT RESPONDENDILE ISE TÄITMISEKS G OSA A VARIANT RESPONDENDILE ISE TÄITMISEKS GS1 Järgnevalt on kirjeldatud lühidalt mõningaid inimesi. Palun lugege iga kirjeldust ja märkige igale reale, kuivõrd Teie see inimene on. Väga Minu Mõnevõrra

Rohkem

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019 PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019 SISUKORD 1. SLAIDIESITLUS... 3 1.1. Esitlustarkvara... 3 1.2. Slaidiesitluse sisu... 3 1.3. Slaidiesitluse vormistamine... 4 1.3.1 Slaidid...

Rohkem

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad 1 / 16 7. loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad 2 / 16 Sisend/väljund vaikimisi: Termid: read, write?-read(x). : 2+3. X = 2+3.?-write(2+3). 2+3 true. Jooksva sisendi vaatamine: seeing?-

Rohkem

Microsoft Word - 56ylesanded1415_lõppvoor

Microsoft Word - 56ylesanded1415_lõppvoor 1. 1) Iga tärnike tuleb asendada ühe numbriga nii, et tehe oleks õige. (Kolmekohaline arv on korrutatud ühekohalise arvuga ja tulemuseks on neljakohaline arv.) * * 3 * = 2 * 1 5 Kas on õige, et nii on

Rohkem

Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Dian

Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Dian Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Diana Lõvi (SV valdkond) Järgmised e-lõunad: 10. oktoober

Rohkem

1. AKE Ajalise keerukuse empiiriline hindamine

1. AKE Ajalise keerukuse empiiriline hindamine http://kodu.ut.ee/~kiho/ads/praktikum/ 4. PSK Paisksalvestus. Loendamine Mõisteid Paisktabel (Hashtable, HashMap) Paisktabeli kasutamine loendamisülesannetes Paiskfunktsioon, kollisoonid (põrked) Praktikumitööd

Rohkem

B120_10 estonian.cdr

B120_10 estonian.cdr Alati seal, et teid aidata Registreerige oma toode ja otsige abi koduleheküljelt www.philips.com/welcome B120 Beebimonitor Küsimus? Kontakteeruge Philipsiga Eestikeelne kasutusjuhend 2 Valgussensor USB

Rohkem

Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased

Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased oma kujunduse ühele kohale koolis. 5.1 Kohavalik Tiimi

Rohkem

loeng2

loeng2 Automaadid, keeled, translaatorid Kompilaatori struktuur Leksiline analüüs Regulaaravaldised Leksiline analüüs Süntaks analüüs Semantiline analüüs Analüüs Masinkoodi genereerimine Teisendamine (opt, registrid)

Rohkem

lvk04lah.dvi

lvk04lah.dvi Lahtine matemaatikaülesannete lahendamise võistlus. veebruaril 004. a. Lahendused ja vastused Noorem rühm 1. Vastus: a) jah; b) ei. Lahendus 1. a) Kuna (3m+k) 3 7m 3 +7m k+9mk +k 3 3M +k 3 ning 0 3 0,

Rohkem

PowerPointi esitlus

PowerPointi esitlus Regulaaravaldised ja skriptimine Windows ja UNIX operatsioonisüsteemides WINDOWS 1. slaid Windows käsurida Käsureaks nimetan programme: cmd.exe powershell.exe Nendesse saab kirjutada käske, millega näiteks

Rohkem

MTAT Operatsioonisüsteemid - Turvalisus

MTAT Operatsioonisüsteemid - Turvalisus Regulaaravaldised ja skriptimine Windows ja UNIX operatsioonisüstemides WINDOWS 1. slaid Windows käsurida Käsureaks nimetan programme: cmd.exe powershell.exe command.com (tänapäevastes OS ei kasutata)

Rohkem

PowerPoint Presentation

PowerPoint Presentation 13. Küberturvalisus Side IRT3930 Ivo Müürsepp Pahavara Viirus Uss (Worm) Troojalane Käomuna (Rootkit) Lunavara (Ransomware) Küberturvalisus 2 Stuxnet Foto: http://www.globalsecurity.org/ Küberturvalisus

Rohkem

6 tsooniga keskus WFHC MASTER RF 868MHz & 4 või 6 tsooniga alaseade SLAVE RF KASUTUSJUHEND 6 tsooniga WFHC RF keskus & 4 või 6 tsooniga alaseade SLAVE

6 tsooniga keskus WFHC MASTER RF 868MHz & 4 või 6 tsooniga alaseade SLAVE RF KASUTUSJUHEND 6 tsooniga WFHC RF keskus & 4 või 6 tsooniga alaseade SLAVE 6 tsooniga keskus WFHC MASTER RF 868MHz & 4 või 6 tsooniga alaseade SLAVE RF KASUTUSJUHEND 6 tsooniga WFHC RF keskus & 4 või 6 tsooniga alaseade SLAVE RF 868MHz 3-6 EE 1. KASUTUSJUHEND 6 tsooniga WFHC

Rohkem

Microsoft Word - requirements.doc

Microsoft Word - requirements.doc Dokumendi ajalugu: Versioon Kuupäev Tegevus Autor 1.0 04.03.2008 Dokumendi loomine Madis Abel 1.1 09.03.2008 Kasutuslugude loomine Madis Abel 1.2 12.03.2008 Kasutuslugude täiendused Andres Kalle 1.3 13.03.2008

Rohkem

Pealkiri

Pealkiri Andmebaasid II praktikum Andmebaaside administreerimine Andmete sisestamine KESKKOND, KASUTAJAD, ÕIGUSED Mõisted Tabelid, vaated, trigerid, jpm on objektid Objektid on grupeeritud skeemi Skeemid moodustavad

Rohkem

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi*r^2, Float -> Int Infixoperaatori kasutamiseks prefix-vormis

Rohkem

Rühmatöö Moodle is Triin Marandi 2017 oktoober

Rühmatöö Moodle is Triin Marandi 2017 oktoober Rühmatöö Moodle is Triin Marandi 2017 oktoober Kes on kasutanud rühmatööd? Nutitelefonid välja ja hääletama! www.menti.com KOOD: 14 10 00 https://www.mentimeter.com/s/1c1250be4e6b7c4ec7608a4fa6d7d591/3e66049189e0

Rohkem

FRESENIUS ÕPPEKESKUS KIIRJUHEND

FRESENIUS ÕPPEKESKUS KIIRJUHEND FRESENIUS ÕPPEKESKUS KIIRJUHEND SISUKORD 1. Kuidas saan Freseniuse õppekeskuksesse? 03 2. Kuidas sisse logida? 04 3. Mida teha, kui ma ei mäleta oma parooli? 05 4. Mida leian kodulehelt pärast sisselogimist?

Rohkem

SINU UKS DIGITAALSESSE MAAILMA Ruuter Zyxel LTE3302 JUHEND INTERNETI ÜHENDAMISEKS

SINU UKS DIGITAALSESSE MAAILMA Ruuter Zyxel LTE3302 JUHEND INTERNETI ÜHENDAMISEKS SINU UKS DIGITAALSESSE MAAILMA Ruuter Zyxel LTE3302 JUHEND INTERNETI ÜHENDAMISEKS OLULINE TEAVE: LOE ENNE RUUTERI ÜHENDAMIST! Ruuter on sinu uks digitaalsesse maailma. Siit saavad alguse kõik Telia teenused

Rohkem

Elisa Ring Elisa Ringi mobiilirakendus Versioon

Elisa Ring Elisa Ringi mobiilirakendus Versioon Elisa Ring Elisa Ringi mobiilirakendus Versioon 1.0.85 15.01.2019 1 Elisa Ring... 1 1. Ülevaade... 3 1.1. Kirjeldus... 3 1.2. Tehnilised tingimused... 3 1.3. Kasutuselevõtt ja sisselogimine... 3 2. Rakenduse

Rohkem

ArcGIS Online Konto loomine Veebikaardi loomine Rakenduste tegemine - esitlus

ArcGIS Online Konto loomine Veebikaardi loomine Rakenduste tegemine - esitlus PILVI TAUER Tallinna Tehnikagümnaasium ArcGIS Online 1.Konto loomine 2.Veebikaardi loomine 3.Rakenduste tegemine - esitlus Avaliku konto loomine Ava ArcGIS Online keskkond http://www.arcgis.com/ ning logi

Rohkem

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Konstruktorile antakse andmed, mis iseloomustavad mingit

Rohkem

MTAT Operatsioonisüsteemid - Turvalisus

MTAT Operatsioonisüsteemid - Turvalisus Regulaaravaldised ja skriptimine Windows ja UNIX operatsioonisüstemides WINDOWS 1. slaid Windows käsurida Käsureaks nimetan programme: cmd.exe powershell.exe command.com Nendesse saab kirjutada käske,

Rohkem

Microsoft Word - Errata_Andmebaaside_projekteerimine_2013_06

Microsoft Word - Errata_Andmebaaside_projekteerimine_2013_06 Andmebaaside projekteerimine Erki Eessaar Esimene trükk Teadaolevate vigade nimekiri seisuga 24. juuni 2013 Lehekülg 37 (viimane lõik, teine lause). Korrektne lause on järgnev. Üheks tänapäeva infosüsteemide

Rohkem

Microsoft Word - EHR.docx

Microsoft Word - EHR.docx earvekeskus E-ARVE TELLIMUSTE JUHEND 1 Sisukord E-arvete tellimused... 3 Klientide tellimused... 3 E-arve tellimuse lisamine... 3 E-arve tellimuse muutmine... 9 Minu tellimused... 10 Minu tellimuse sisestamine...

Rohkem

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimused: faili nimi faili vanus faili tüüp... 1 Failiotsing:

Rohkem

IMO 2000 Eesti võistkonna valikvõistlus Tartus, aprillil a. Ülesannete lahendused Esimene päev 1. Olgu vaadeldavad arvud a 1, a 2, a 3,

IMO 2000 Eesti võistkonna valikvõistlus Tartus, aprillil a. Ülesannete lahendused Esimene päev 1. Olgu vaadeldavad arvud a 1, a 2, a 3, IMO 000 Eesti võistkonna valikvõistlus Tartus, 19. 0. aprillil 000. a. Ülesannete lahendused Esimene päev 1. Olgu vaadeldavad arvud a 1, a, a 3, a 4, a 5. Paneme tähele, et (a 1 + a + a 3 a 4 a 5 ) (a

Rohkem

Operatsioonisüsteemi ülesanded

Operatsioonisüsteemi ülesanded Praktikum 2 OPERATSIOONISÜSTEEMIDE MASSPAIGALDUS Operatsioonisüsteemide masspaigaldus Suure arvu arvutisüsteemide korral ei ole mõistlik operatsioonisüsteeme paigaldada manuaalselt. Operatsioonisüsteemide

Rohkem

1

1 1 ENO RAUD PILDID JOONISTANUD EDGAR VALTER 3 Kujundanud Dan Mikkin Illustreerinud Edgar Valter Küljendanud Villu Koskaru Eno Raud Illustratsioonid Edgar Valter Autoriõiguste pärija Külli Leppik Tänapäev,

Rohkem

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs TARTU ÜLIKOOL LOODUS- JA TÄPPISTEADUSTE VALDKOND Arvutiteaduse instituut Informaatika õppekava Helen Hendrikson MOOCi Programmeerimise alused ülesannete lahenduste analüüs Bakalaureusetöö (9 EAP) Juhendaja:

Rohkem

Pealkiri

Pealkiri Andmebaasid (6EAP) I praktikum Mida praktikumides tehakse? Õpitakse SQL i Tehakse andmebaas ope (igas praktikumis natuke, kuni lõpuks saab valmis) Tehakse andmebaas edu (kui ope on valmis, tehakse edu,

Rohkem

loogikaYL_netis_2018_NAIDISED.indd

loogikaYL_netis_2018_NAIDISED.indd . Lihtne nagu AB Igas reas ja veerus peavad tähed A, B ja esinema vaid korra. Väljaspool ruudustikku antud tähed näitavad, mis täht on selles suunas esimene. Vastuseks kirjutage ringidesse sattuvad tähed

Rohkem

PowerPoint Presentation

PowerPoint Presentation Mahara võimalused Marju Piir Triin Marandi Tartu Ülikool 2016 E-portfoolio Kogumik õppija poolt loodud, valitud, järjestatud, reflekteeritud ja esitletud materjalidest, tõendamaks õpitust arusaamist ja

Rohkem

01_loomade tundmaõppimine

01_loomade tundmaõppimine Tunnikava vorm Õppeaine ja -valdkond: Mina ja keskkond Klass, vanuse- või haridusaste: alusharidus Tunni kestvus: 30+15minutit Tunni teema (sh alateemad): Loomade tundmaõppimine, maal elavad loomad Tase:

Rohkem

Loeng03

Loeng03 Loeng 03 Failiõigused ja -manipulatsioon Operatsioonisüsteemide administreerimine ja sidumine I233 Katrin Loodus, Tallinn 2015 Failid ja kataloogid Mis on fail? Linuxi laadsetes süsteemides on kõik failid

Rohkem

Tarkvaraline raadio Software defined radio (SDR) Jaanus Kalde 2017

Tarkvaraline raadio Software defined radio (SDR) Jaanus Kalde 2017 Tarkvaraline raadio Software defined radio (SDR) Jaanus Kalde 2017 Sissejuhatus Raadiosidest üldiselt Tarkvaraline raadio Kuidas alustada 2 Raadioside Palju siinussignaale õhus Info edastamiseks moduleerid

Rohkem

Tallinna Järveotsa Lasteaed Peokava Tere, Vastlapäev! Autor: Olga Carjova, Tallinna Järveotsa Lasteaia muusikaõpetaja 1 Tallinn, a. Tallinna Jär

Tallinna Järveotsa Lasteaed Peokava Tere, Vastlapäev! Autor: Olga Carjova, Tallinna Järveotsa Lasteaia muusikaõpetaja 1 Tallinn, a. Tallinna Jär Tallinna Järveotsa Lasteaed Peokava Tere, Vastlapäev! Autor: Olga Carjova, Tallinna Järveotsa Lasteaia muusikaõpetaja 1 Tallinn, 2015. a. Töökirjeldus. Rühma vanus: 5-6 aastased lapsed. Peo teema: Vastlapäev.

Rohkem

raamat5_2013.pdf

raamat5_2013.pdf Peatükk 5 Prognoosiintervall ja Usaldusintervall 5.1 Prognoosiintervall Unustame hetkeks populatsiooni parameetrite hindamise ja pöördume tagasi üksikvaatluste juurde. On raske ennustada, milline on huvipakkuva

Rohkem

Tartu Kutsehariduskeskus IKT osakond Merlis Karja-Kännaste ASUTUSE DOKUMENDIREGISTRI AVALIK VAADE Analüüs Juhendaja Mirjam-Merike Sõmer Tartu 2015

Tartu Kutsehariduskeskus IKT osakond Merlis Karja-Kännaste ASUTUSE DOKUMENDIREGISTRI AVALIK VAADE Analüüs Juhendaja Mirjam-Merike Sõmer Tartu 2015 Tartu Kutsehariduskeskus IKT osakond Merlis Karja-Kännaste ASUTUSE DOKUMENDIREGISTRI AVALIK VAADE Analüüs Juhendaja Mirjam-Merike Sõmer Tartu 2015 SISUKORD SISSEJUHATUS... 3 1. VILJANDI LINNAVALITSUSE

Rohkem

PowerPoint Presentation

PowerPoint Presentation Avaandmed Urmas Sinisalu Mis on avaandmed? Alus vs. Kohustus Avaandmed on kõigile vabalt ja avalikult kasutamiseks antud masinloetaval kujul andmed, millel puuduvad kasutamist ning levitamist takistavad

Rohkem

Relatsiooniline andmebaaside teooria II. 6. Loeng

Relatsiooniline andmebaaside teooria II. 6. Loeng Relatsiooniline andmebaaside teooria II. 5. Loeng Anne Villems ATI Loengu plaan Sõltuvuste pere Relatsiooni dekompositsioon Kadudeta ühendi omadus Sõltuvuste pere säilitamine Kui jõuame, siis ka normaalkujud

Rohkem

vv05lah.dvi

vv05lah.dvi IMO 05 Eesti võistkonna valikvõistlus 3. 4. aprill 005 Lahendused ja vastused Esimene päev 1. Vastus: π. Vaatleme esiteks juhtu, kus ringjooned c 1 ja c asuvad sirgest l samal pool (joonis 1). Olgu O 1

Rohkem

Valik harjutusi eesti keele postkaartide jaoks Tervitused ja hüvastijätud Grupp töötab paarides, harjutab fraase ja täiendab kaardil olevat veel omapo

Valik harjutusi eesti keele postkaartide jaoks Tervitused ja hüvastijätud Grupp töötab paarides, harjutab fraase ja täiendab kaardil olevat veel omapo Valik harjutusi eesti keele postkaartide jaoks Tervitused ja hüvastijätud Grupp töötab paarides, harjutab fraase ja täiendab kaardil olevat veel omapoolsete tervitus- ja hüvastijätufraasidega. Saab arutleda,

Rohkem

Materjalid koostas ja kursuse viib läbi Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm 2.1 Muutujad SISSEJUHATUS Programmi

Materjalid koostas ja kursuse viib läbi Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm 2.1 Muutujad SISSEJUHATUS Programmi 2.1 Muutujad SISSEJUHATUS Programmide koostamisel on võimalik kasutada väga erinevaid komponente näiteks muutujaid, valikulauseid, tsükleid, alamprogramme jne. Selles osas vaatame lähemalt muutujaid. MUUTUJAD

Rohkem

Word Pro - digiTUNDkaug.lwp

Word Pro - digiTUNDkaug.lwp / näide: \ neeldumisseadusest x w x y = x tuleneb, et neeldumine toimub ka näiteks avaldises x 2 w x 2 x 5 : x 2 w x 2 x 5 = ( x 2 ) w ( x 2 ) [ x 5 ] = x 2 Digitaalskeemide optimeerimine (lihtsustamine)

Rohkem

Tants on loodud 1985.aasta tantsupeoks Muusika Lepo Sumra Koreograafia Helju Mikkel koostöös Lille- Astra Arraste ja "Sõlesepad" tantsurühma meestega.

Tants on loodud 1985.aasta tantsupeoks Muusika Lepo Sumra Koreograafia Helju Mikkel koostöös Lille- Astra Arraste ja Sõlesepad tantsurühma meestega. Tants on loodud 1985.aasta tantsupeoks Muusika Lepo Sumra Koreograafia Helju Mikkel koostöös Lille- Astra Arraste ja "Sõlesepad" tantsurühma meestega. 2019.aasta tantsupeoks täpsustused ja täiendused tehtud

Rohkem

Tartu Kutsehariduskeskus Teksti sisestamine Suurem osa andmetest saab sisestatud klaviatuuril leiduvate sümbolite abil - tähed, numbrid, kirjavahemärg

Tartu Kutsehariduskeskus Teksti sisestamine Suurem osa andmetest saab sisestatud klaviatuuril leiduvate sümbolite abil - tähed, numbrid, kirjavahemärg Teksti sisestamine Suurem osa andmetest saab sisestatud klaviatuuril leiduvate sümbolite abil - tähed, numbrid, kirjavahemärgid jne. Suurte tähtede sisestamiseks hoia all Shift-klahvi. Kolmandate märkide

Rohkem

Slide 1

Slide 1 Koolist väljalangenute endi vaatenurk (...) see et ma ei viitsind õppida. (...) oli raskusi midagi tunnis teha ka, kui keegi seal seljataga midagi möliseb Sul seal. Helen Toming Et jah kui klassiga nagu

Rohkem

(Microsoft Word - T\366\366leht m\365isaprogramm algklassilastele tr\374kk 2.doc)

(Microsoft Word - T\366\366leht m\365isaprogramm algklassilastele tr\374kk 2.doc) ALGKLASSILAPSED 1 MINU NIMI ON MINA OLEN PRAEGU TÄNA ON 1. KÄRNERIMAJA JA LILLED KIRJUTA VÕI JOONISTA SIIA KAKS KÄRNERI TÖÖRIISTA KIRJUTA SIIA SELLE TAIME 1. TÖÖRIIST 2. TÖÖRIIST NIMI MIDA ISTUTASID MÕISTA,

Rohkem

Microsoft Word - RM_ _17lisa2.rtf

Microsoft Word - RM_ _17lisa2.rtf Maksu- ja Tolliamet Maksukohustuslane Vorm KMD INF Nimi Registri- või isikukood A-osa ANDMED VÄLJASTATUD ARVETE KOHTA Esitatakse koos käibedeklaratsiooniga maksustamisperioodile järgneva kuu 20. kuupäevaks

Rohkem

KOOLITUSTE HALDAMINE E-TÖÖTUKASSA KASUTAJAJUHEND 1

KOOLITUSTE HALDAMINE E-TÖÖTUKASSA KASUTAJAJUHEND 1 KOOLITUSTE HALDAMINE E-TÖÖTUKASSA KASUTAJAJUHEND 1 Sisukord E-TÖÖTUKASSASSE SISSE LOGIMINE JA MINU KOOLITUSED AVALEHT... 2 UUE KOOLITUSE LISAMINE... 5 MÄÄRAMATA TOIMUMISAJAGA KOOLITUSED... 9 REGISTREERIMISTEATE

Rohkem

Hoia oma arvuti turvaline ja kiire 1.Leia start nupust alustades Juhtpaneel 2.Juhtpaneeli aadressiribalt leia Kõik juhtpaneeli üksused 3.Avanenud tööa

Hoia oma arvuti turvaline ja kiire 1.Leia start nupust alustades Juhtpaneel 2.Juhtpaneeli aadressiribalt leia Kõik juhtpaneeli üksused 3.Avanenud tööa Hoia oma arvuti turvaline ja kiire 1.Leia start nupust alustades Juhtpaneel 2.Juhtpaneeli aadressiribalt leia Kõik juhtpaneeli üksused 3.Avanenud tööaknas leia Windows Update 4.Lase arvutil kontrollida

Rohkem

PIKSELOITS Täpsustused 15.oktoobri 2018 seisuga Tants on loodud 1985.aasta tantsupeoks Muusika Lepo Sumra Koreograafia Helju Mikkel koostöös Lille- As

PIKSELOITS Täpsustused 15.oktoobri 2018 seisuga Tants on loodud 1985.aasta tantsupeoks Muusika Lepo Sumra Koreograafia Helju Mikkel koostöös Lille- As PIKSELOITS Täpsustused 15.oktoobri 2018 seisuga Tants on loodud 1985.aasta tantsupeoks Muusika Lepo Sumra Koreograafia Helju Mikkel koostöös Lille- Astra Arraste ja "Sõlesepad" tantsurühma meestega. 2019.aasta

Rohkem

Kiekim mees kirjeldus.docx

Kiekim mees kirjeldus.docx KULLAKERA KANDJAD XII noorte tantsupeo ühitants Tantsu on loonud Margus Toomla ja Karmen Ong 2016. aasta detsembris 2017. aasta noorte tantsupeoks MINA JÄÄN, kirjeldanud Margus Toomla. Muusika ja sõnad

Rohkem

Õppeprogramm „vesi-hoiame ja austame seda, mis meil on“

Õppeprogramm „vesi-hoiame ja austame seda, mis meil on“ ÕPPEPROGRAMM VESI-HOIAME JA AUSTAME SEDA, MIS MEIL ON PROGRAMMI LÄBIVIIJA AS TALLINNA VESI SPETSIALIST LIISI LIIVLAID; ESITUS JA FOTOD: ÕPPEALAJUHATAJA REELI SIMANSON 19.05.2016 ÕPPEPROGRAMMI RAHASTAS:

Rohkem

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vastanutest töötanud 87 tudengit ehk 64%, kellest 79 (91%)

Rohkem

Tiia Salm 2011 Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pd

Tiia Salm 2011 Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pd Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pdf, Word, Excel, PowerPoint, Open Office) tuleb esmalt keskkonda üles

Rohkem

Polünoomi juured Juure definitsioon ja Bézout teoreem Vaadelgem polünoomi kus K on mingi korpus. f = a 0 x n + a 1 x n a n 1 x

Polünoomi juured Juure definitsioon ja Bézout teoreem Vaadelgem polünoomi kus K on mingi korpus. f = a 0 x n + a 1 x n a n 1 x 1 5.5. Polünoomi juured 5.5.1. Juure definitsioon ja Bézout teoreem Vaadelgem polünoomi kus K on mingi korpus. f = a 0 x n + a 1 x n 1 +... + a n 1 x + a n K[x], (1) Definitsioon 1. Olgu c K. Polünoomi

Rohkem

(Microsoft Word - T\366\366leht m\365isaprogramm 4-6 kl tr\374kkimiseks.doc)

(Microsoft Word - T\366\366leht m\365isaprogramm 4-6 kl tr\374kkimiseks.doc) 4-6 KLASS 1 Minu nimi on Ma olen praegu Täna on 1. KÄRNERIMAJA JA LILLED Kirjuta või joonista siia kolm kärneri tööriista Kirjuta siia selle taime nimi, 1. TÖÖRIIST 2. TÖÖRIIST 3. TÖÖRIIST mida istutasid

Rohkem

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k Neurovõrgud. Praktikum 11. 29. aprill 2005. a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust kombinatoorsete optimiseerimisülesannete lahendamiseks.

Rohkem

Microsoft Word - Vx610 EMV KASUTUSJUHEND.doc

Microsoft Word - Vx610 EMV KASUTUSJUHEND.doc MAKSETERMINALI KASUTUSJUHEND VERIFONE Vx610 GSM Kliendiabi: (0) 6711 444 (kõik nädalapäevad 24 h) Makseterminalide osakond: (0) 6711 411 (tööpäeviti kell 9.00 17.00) Faks: (0) 6711 420 Email: posgrupp@estcard.ee

Rohkem

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 või Windows

Rohkem

Microsoft Word - Referaat.docx

Microsoft Word - Referaat.docx Tartu Ülikool Andmeturve Referaat teemal: CVE-2016-1499 Koostaja: Sander Sats Kursus: Informaatika Tartu 2016 Sissejuhatus Käesolev referaat on kirjutatud seoses Tartu Ülikooli kursuse MTAT.03.134 Andmeturve

Rohkem

loeng7.key

loeng7.key Grammatikate elustamine JFLAPiga Vesal Vojdani (TÜ Arvutiteaduse Instituut) Otse Elust: Java Spec https://docs.oracle.com/javase/specs/jls/se8/html/ jls-14.html#jls-14.9 Kodutöö (2. nädalat) 1. Avaldise

Rohkem

Tartu Ülikool

Tartu Ülikool Tartu Ülikool Code coverage Referaat Koostaja: Rando Mihkelsaar Tartu 2005 Sissejuhatus Inglise keelne väljend Code coverage tähendab eesti keeles otse tõlgituna koodi kaetust. Lahti seletatuna näitab

Rohkem

KASUTUSJUHEND

KASUTUSJUHEND KASUTUSJUHEND Sissejuhatus Kui valvesüsteem on valvessepanekuks valmis ning puuduvad rikke- ning häireteated, kuvatakse sõrmistiku displeil kellaaeg, kuupäev ning tekst Enter Your Code sisestage kood Peale

Rohkem

Maksu- ja Tolliamet MAKSUKOHUSTUSLANE Vorm KMD INF Nimi Registri- või isikukood A-osa ANDMED VÄLJASTATUD ARVETE KOHTA. Esitatakse koos käibedeklaratsi

Maksu- ja Tolliamet MAKSUKOHUSTUSLANE Vorm KMD INF Nimi Registri- või isikukood A-osa ANDMED VÄLJASTATUD ARVETE KOHTA. Esitatakse koos käibedeklaratsi Vorm KMD INF A-osa ANDMED VÄLJASTATUD ARVETE KOHTA. Esitatakse koos käibedeklaratsiooniga maksustamisperioodile järgneva kuu 0. kuupäevaks Kinnitan, et deklareeritavad arved puuduvad Esitan arvete andmed

Rohkem

Eesti keele võõrkeelena olümpiaadi lõppvoor 2013 Kõik ülesanded on siin lühendatult. Valikus on küsimusi mõlema vanuserühma töödest. Ülesanne 1. Kirju

Eesti keele võõrkeelena olümpiaadi lõppvoor 2013 Kõik ülesanded on siin lühendatult. Valikus on küsimusi mõlema vanuserühma töödest. Ülesanne 1. Kirju Eesti keele võõrkeelena olümpiaadi lõppvoor 2013 Kõik ülesanded on siin lühendatult. Valikus on küsimusi mõlema vanuserühma töödest. Ülesanne 1. Kirjuta sõna vastandsõna ehk antonüüm, nii et sõna tüvi

Rohkem

Microsoft PowerPoint - EMCS13

Microsoft PowerPoint - EMCS13 EMCS piloot-projekt Raigo Veisberg Maksu- ja Tolliameti kaudsete maksude ja aktsiiside talitus TEEMAD Mis on EMCS EMCS käivitumine EMCS kasutamine ja selle võimalused E-saateleht Info edastamine EMCS infosüsteemi

Rohkem

Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov

Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov Kava Kuulame Annet Essed ja Felder Õppimise teooriad 5 Eduka õppe reeglit 5 Olulisemat oskust Anne Loeng Mida uut saite teada andmebaasidest?

Rohkem

Müügiarvete juhend VEP_

Müügiarvete juhend VEP_ MÜÜGIARVETE KASUTUSJUHEND Sisukord earvekeskusesse sisenemine... 2 Ettevõtte seadete määramine... 3 Ettevõtte kontole ligipääsude volitamine... 5 Käibemaksu koodide seadistamine... 6 Müügiarve koostamine...

Rohkem

Funktsionaalne Programmeerimine

Funktsionaalne Programmeerimine Kõrvalefektid ja Haskell Kõik senised programmid on olnud ilma kõrvalefektideta; so. puhtalt funktsionaalsed. Programmi täitmise ainsaks efektiks on tema väartus. Osade ülesannete jaoks on kõrvalefektid

Rohkem

KOTKAS AVE kasutajakeskne juhend Loomise Muutmise kuupäev: kuupäev: Versioon: 2.0 Klient: Keskkonnaministeeriumi Infotehno

KOTKAS AVE kasutajakeskne juhend Loomise Muutmise kuupäev: kuupäev: Versioon: 2.0 Klient: Keskkonnaministeeriumi Infotehno Loomise 22.09.2015 Muutmise 10.10.2018 kuupäev: kuupäev: Versioon: 2.0 Klient: Keskkonnaministeeriumi Infotehnoloogiakeskus Projekt: Keskkonnaotsuste terviklik autonoomne süsteem (KOTKAS) Dokument: AVE

Rohkem

2016 aasta märtsi tulumaksu laekumine omavalitsustele See ei olnud ette arvatav Tõesti ei olnud, seda pole juhtunud juba tükk aega. Graafikult näeme,

2016 aasta märtsi tulumaksu laekumine omavalitsustele See ei olnud ette arvatav Tõesti ei olnud, seda pole juhtunud juba tükk aega. Graafikult näeme, 2016 märtsi tulumaksu laekumine omavalitsustele See ei olnud ette arvatav Tõesti ei olnud, seda pole juhtunud juba tükk aega. Graafikult näeme, et märtsis laekus tulumaksu eelmise märtsist vähem ka 2009

Rohkem

1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik Tõend õppim

1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik Tõend õppim 1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik. 1.1.1 Tõend õppimise kohta TLÜ-s Seda tõendiliiki saab väljastada ainult

Rohkem

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Microsoft Word - ref - Romet Piho - Tutorial D.doc Tartu Ülikool Andmetöötluskeel "Tutorial D" realisatsiooni "Rel" põhjal Referaat aines Tarkvaratehnika Romet Piho Informaatika 2 Juhendaja Indrek Sander Tartu 2005 Sissejuhatus Tänapäeval on niinimetatud

Rohkem

Kuidas ärgitada loovust?

Kuidas ärgitada loovust? Harjumaa ettevõtluspäev äriideed : elluviimine : edulood : turundus : eksport Äriideede genereerimine Harald Lepisk OPPORTUNITYISNOWHERE Ideed on nagu lapsed Kas tead kedagi, kelle vastsündinud laps on

Rohkem

P2P süsteemid

P2P süsteemid Gnutella Ajalugu Detsentraliseeritus Protokollist Paralleliseerimine Ujutamine Skaleeruvus Ultranoded Puuräsid DHT Muud MEELIS ROOS 1 Ajalugu Failivahetus P2P massidesse viija Napster tsentraalne süsteem

Rohkem

katus_kaantega.pdf

katus_kaantega.pdf Heiki Vilep KATUS SÕIDAB Tartu 2007 Kunstnik: Moritz Küljendaja kujundaja: Margus Nõmm Kirjastaja: Vilep & Vallik (A Disain OÜ) Heiki Vilep ISBN-13: 978-9985-9718-2-6 EESTIMAA PEIPSI ÄÄREST SAAREMAANI

Rohkem

Projekt: Sööbik ja Pisik Tartu Lasteaed Piilupesa Koostajad: Merelle Uusrand ja Ülle Rahv Sihtgrupp: 4 5aastased lapsed Periood: veebruar märts 2017 P

Projekt: Sööbik ja Pisik Tartu Lasteaed Piilupesa Koostajad: Merelle Uusrand ja Ülle Rahv Sihtgrupp: 4 5aastased lapsed Periood: veebruar märts 2017 P Projekt: Sööbik ja Pisik Tartu Lasteaed Piilupesa Koostajad: Merelle Uusrand ja Ülle Rahv Sihtgrupp: 4 5aastased lapsed Periood: veebruar märts 2017 Projekti eesmärk 1. Laps saab teadmisi tervislikest

Rohkem

Word Pro - diskmatTUND.lwp

Word Pro - diskmatTUND.lwp Loogikaalgebra ( Boole'i algebra ) George Boole (85 864) Sündinud Inglismaal Lincolnis. 6-aastasena tegutses kooliõpetaja assistendina. Õppis 5 aastat iseseisvalt omal käel matemaatikat, keskendudes hiljem

Rohkem

Operatsioonisüsteemide ehitus

Operatsioonisüsteemide ehitus Lõimed Ülevaade Lõime mõiste Lõimede mudelid Probleemid lõimedega seoses Pthreads Solarise lõimed Windows 2000 lõimed Linuxi lõimed Java lõimed VARMO VENE & MEELIS ROOS 2 Ühe- ja mitmelõimelised protsessid

Rohkem

AG informaatika ainekava PK

AG informaatika ainekava PK INFORMAATIKA AINEKAVA PÕHIKOOLIS Õppe- ja kasvatuseesmärgid Põhikooli informaatikaõpetusega taotletakse, et õpilane: 1) valdab peamisi töövõtteid arvutil igapäevases õppetöös eelkõige infot otsides, töödeldes

Rohkem

Väärtusta oma vabadust. Eesti Yale Seifide Kasutusjuhend Mudelid: YSB/200/EB1 YSB/250/EB1 YSB/400/EB1 YLB/200/EB1 YSM/250/EG1 YSM/400/EG1 YSM/520/EG1

Väärtusta oma vabadust. Eesti Yale Seifide Kasutusjuhend Mudelid: YSB/200/EB1 YSB/250/EB1 YSB/400/EB1 YLB/200/EB1 YSM/250/EG1 YSM/400/EG1 YSM/520/EG1 Väärtusta oma vabadust. Eesti Yale Seifide Kasutusjuhend Mudelid: YSB/200/EB1 YSB/250/EB1 YSB/400/EB1 YLB/200/EB1 YSM/250/EG1 YSM/400/EG1 YSM/520/EG1 YLM/200/EG1 Soovitame selle kasutusjuhendi alles hoida.

Rohkem

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode])

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode]) Tarkvara projekt seminar VI Eelmise iteratsiooni tagasivaade, testimine, installatsioonijuhend, järgmise iteratsiooni näited. Karel Kravik Administratiivset:protestid Probleem: protestide hulk ja kvaliteet

Rohkem

efo09v2pke.dvi

efo09v2pke.dvi Eesti koolinoorte 56. füüsikaolümpiaad 17. jaanuar 2009. a. Piirkondlik voor. Põhikooli ülesanded 1. (VÄRVITILGAD LAUAL) Ühtlaselt ja sirgjooneliselt liikuva horisontaalse laua kohal on kaks paigalseisvat

Rohkem