![Page 1: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/1.jpg)
Programmeerimine
5.loeng
![Page 2: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/2.jpg)
T�ana loengus
Funktsioonid ja protseduurid
![Page 3: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/3.jpg)
Protseduurid
![Page 4: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/4.jpg)
Protseduurid
Protseduur on suhteliselt iseseisev korduvkasutatav program-
miosa, mis koosneb k�askudest ja mida on v~oimalik v�alja kut-
suda tema nime kaudu.
Protseduur v~oib olla parametriseeritud argumentidega, mille
konreetsed v�a�artused m�a�aratakse protseduuri v�aljakutsel.
Protseduuride de�neerimine Pythonis:
def procName(arg1,. . . ,argn):
procBody
![Page 5: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/5.jpg)
Pykkar v�arvib triibu
![Page 6: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/6.jpg)
Protseduurid
Algseis: Pykkar on p~ohjaserval n�aoga l~ounasse. Pykkar
v�arvib triibu
from pykkar import �def triip ():while True:paint()if is wall ():break
else:step()
![Page 7: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/7.jpg)
Pykkar liigub tagasi
![Page 8: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/8.jpg)
Protseduurid
Algseis: Pykkar on l~ounaserval n�aoga l~ounasse. Pykkar
p�o�orab �umber ja liigub p~ohjaservani.
from pykkar import �def tagasi ():right () # �umberp�o�ord
right ()while True:
if is wall ():break
else:step()
![Page 9: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/9.jpg)
P~ohiprogramm
![Page 10: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/10.jpg)
P~ohiprogramm
Algseis: Pykkar on loodenurgas n�aoga l~ounasse. Pykkar
v�arvib ruudustiku triibuliseks.
from pykkar import �while True:
triip ()tagasi ()right ()if is wall (): # ei lase robotil vastu seina p~orgata
breakelse:step() # robot liigub �uhe ruudu v~orra edasi
if is wall ():break
else:step()right ()
![Page 11: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/11.jpg)
Kontrollt�o�o �ulesanne
Joonistada kilpkonna vahendusel 5� 5 ruudu kahe k�ulje ruudud
�ule �uhe alustades nurgast. Boonus joonistatud k�uljeruutude
v�arvimise eest.
![Page 12: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/12.jpg)
Funktsioonid
![Page 13: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/13.jpg)
Funktsioonid
Funktsioon on protseduur, mis v�aljastab v�a�artuse.
Funktsiooni rakendus on avaldis, mille v�a�artust v~oib kasu-
tada sarnaselt teiste (aritmeetilised-, loogilised-, jne) avald-
istega.
Ilma v�a�artuseta protseduuri saab kasutada lausena ning tema
"toimeks" on k~orvalefekt programmi olekule.
Objektorienteeritud keeltes (n�ait. Java) on protseduurid seo-
tud mingi klassiga, misjuhul neid nimetatakse meetodideks.
![Page 14: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/14.jpg)
Funktsioonid
Funktsioonide de�neerimine Pythonis:
def funcName(arg1,. . . ,argn):
funcBody
funcName on funktsiooni nimi.
argi on funktsiooni formaalsed parameetrid.
funcBody on funktsiooni keha, mis koosneb lausetest.
Funktsiooni v�aljakutsel antakse formaalsetele parameetritele
tegelike argumentide v�a�artused.
Formaalsed parameetrid ja funktsiooni kehas de�neeritud
muutujad on funktsioonis lokaalsed; so. on n�ahtavad ainult
selle funktsiooni kehas.
return lause l~opetab funktsiooni t�o�o ja kui tal on argument,
siis selle v�a�artus on funktsiooni v�aljakutse v�a�artuseks.
![Page 15: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/15.jpg)
Funktsioonid
N�aide { keskmise arvutamine
def keskmine(arv1,arv2):k = (arv1 + arv2) / 2return k
N�aide { temperatuuri teisendamine Fahrenheiti skaalasse
def celsius2Fahrenheit(tempC):tempF = round(tempC�1.8+32.0)return tempF
![Page 16: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/16.jpg)
Funktsioonid
N�aide { keskmise arvutamine
def keskmine(arv1,arv2):k = (arv1 + arv2) / 2return k
N�aide { temperatuuri teisendamine Fahrenheiti skaalasse
def celsius2Fahrenheit(tempC):tempF = round(tempC�1.8+32.0)return tempF
![Page 17: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/17.jpg)
Kontrollvoog funktsioonide v�aljakutsetel
Main Foo Bar
Foo(); Bar();
![Page 18: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/18.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
![Page 19: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/19.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
arv 7
![Page 20: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/20.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
arv 7
arv1
arv2
8
2
![Page 21: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/21.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
arv 7
arv1
arv2
k
8
2
5
![Page 22: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/22.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
arv 5
![Page 23: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/23.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
arv 5
arv1
arv2
5
3
![Page 24: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/24.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
arv 5
arv1
arv2
k
5
3
4
![Page 25: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/25.jpg)
Funktsioonid
arv = 7
arv = keskmine(arv + 1; 2)arv = keskmine(arv; arv � 2)
def keskmine(arv1; arv2) :k = (arv1+ arv2)=2return k
arv 4
![Page 26: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/26.jpg)
Funktsioonid
Funktsiooni keha v~oib alata s~onega, mis annab funktsiooni
l�uhikirjelduse (ingl. docstring).
{ Vastav s~one seotakse funktsiooniobjekti atribuudiga doc .
N�aide { Fahrenheiti skaalast temperatuuri teisendamine
def fahrenheit2Celsius(t ):"""Teisendab temperatuuri Fahrenheiti skaalast
Celsiuse skaalasse."""
return round(5�(t�32)/9)
![Page 27: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/27.jpg)
Kolmest arvust suurim
![Page 28: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/28.jpg)
Funktsioonid
N�aide { kolmest arvust suurim
def kolmestSuurim(a, b, c):suurim = aif suurim < b:
suurim = bif suurim < c:
suurim = creturn suurim
![Page 29: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/29.jpg)
J�argmiseks korraks
Lugeda l�abi ~opiku peat�ukid:
{ Ptk. 5 "Alamprogrammid ehk funktsioonid"
{ Ptk. 6 "Tingimuslaused"
![Page 30: Programmeerimine - cs.ut.eehhein/progr12/loeng5.pdf · unktsioF onid unktsioF onide de neerimine Pythonis: def funcName ( arg 1,..., arg n): funcBody funcName on funktsiooni nimi](https://reader035.vdocuments.mx/reader035/viewer/2022071504/6124297e7d39fb7e372a083e/html5/thumbnails/30.jpg)
Suur t�anu osalemast
ja
kohtumiseni!