Zato Python Najbolje od QBasica i LOGOa Jednostavnost
Zašto Python? � Najbolje od QBasic-a i LOGO-a ◦ Jednostavnost QBasica ◦ Grafičke mogućnosti LOGO-a � Nastavak učenja u srednjoj školi
Plan i program za 5. razred Basic � Pojam algoritma � Dijagram tijeka � Naredbe za ulaz i izlaz podataka ◦ Naredba PRINT ◦ Pidruživanje, naredba INPUT ◦ Program, spremanje, otvaranje Logo � Osnovne naredbe programskog jezika � Ponavljanje niza naredbi � Uporaba petlje za crtanje niza likova � Ulazne vrijednosti procedura � Uporaba više ulaznih vrijednosti � Odluke u programu
Plan i program za 5. razred Basic Python � Pojam � Algoritam algoritma � Dijagram tijeka � Naredbe za ulaz i izlaz ◦ Naredba za ulaz ◦ Pridruživanje ◦ Naredba za izlaz i dijagram tijeka � Interaktivno sučelje � Naredbe za ulaz i izlaz � Moj prvi program (uređivačku sučelje) � Crtanje u Pythonu – modul Turtle
5. 1. Algoritam i dijagram tijeka � Vrste algoritama ◦ Slijed ◦ Grananje ◦ Ponavljanje � Dijagram tijeka ◦ Simboli dijagrama tijeka ◦ Izrada dijagrama tijeka za jednostavne primjere
5. 2. Interaktivno sučelje Pythona � Gdje se nalazi � Instalacija
5. 2. Interaktivno sučelje Pythona � Pokretanje � Prilagodba
5. 2. Interaktivno sučelje Pythona (IDLE) � RAD U OKRUŽENJU INTERAKTIVNOG SUČELJA ◦ Cijeli brojevi >>> 50 50 >>> -30 ◦ Decimalni brojevi >>> 3. 7 >>>. 37 0. 37 Neispravan unos decimalnog broja >>> 3, 7 (3, 7)
5. 2. Interaktivno sučelje Pythona (IDLE) � RAD U OKRUŽENJU INTERAKTIVNOG SUČELJA ◦ Znakovni niz (string) >>> 'python' ◦ Neispravan unos znakovnog niza >>> python Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> python Name. Error: name 'python' is not defined
5. 2. Interaktivno sučelje Pythona (IDLE) � Matematičke >>> 18 >>> 12 >>> 45 >>> 5. 0 >>> 2 >>> 3 operacije 15+3 Operator 15– 3 + Zbrajanje - Oduzimanje * Množenje / Dijeljenje 15//6 // Cjelobrojno dijeljenje 15%3 % Ostatak dijeljenja 15*3 15/3 Opis djelovanja
5. 2. Interaktivno sučelje Pythona (IDLE) � Cjelobrojno dijeljenje (//) i ostatak dijeljenja (%): 17 : 3 = 5 i ostatak 2 17 // 3 = 5 17 % 3 = 2
5. 2. Interaktivno sučelje Pythona (IDLE) � VARIJABLE I ZNAK PRIDRUŽIVANJA ◦ Simboli koji čuvaju određene vrijednosti >>> a=10 >>> ◦ Nakon pridruživanja ništa se ne dešava. Zato se nakon znaka upita upisuje ime varijable. >>> a 10 Znak (=) nije znak jednakosti nego pridruživanja To znači da se varijabli s lijeve strane pridružuje neka vrijednost s desne strane znaka.
5. 2. Interaktivno sučelje Pythona (IDLE) � VARIJABLE I ZNAK PRIDRUŽIVANJA ◦ Tekst se pridružuje na način da se stavi unutar polunavodnika ili navodnika. >>> a='python' >>> a 'python' >>> b='Dobar dan' >>> b 'Dobar dan'
5. 2. Interaktivno sučelje Pythona (IDLE) � VIŠESTRUKO PRIDRUŽIVANJE ◦ Jednu vrijednost pridružiti više varijabli: >>> 10 a=b=c=10 a >>> 1 >>> 2 >>> 3 d, e, f=1, 2, 3 d b c e f >>> x=y=z='Utorak' >>> x 'Utorak' >>> y 'Utorak' >>> z 'Utorak'
5. 2. Interaktivno sučelje Pythona (IDLE) � Pretvaranje decimalnog broja u cijeli i obratno �Decimalni broj u cijeli - funkcija int() >>> int(2. 3) 2 >>> int(2. 8) 2 �Cijeli broj u decimalni - funkcija float() >>> float(3) 3. 0
5. 3. Naredbe za ulaz i izlaz podataka � Naredba print() print ◦ Znakovni niz stavlja se unutar zagrada s polunavodnicima ili navodnicima >>> print('Ivana Brlić') Ivana Brlić �Ili >>> print('Ivana', 'Brlić') Ivana Brlić
5. 3. Naredbe za ulaz i izlaz podataka � Naredba print() print ◦ Oblikovanje ispisa znakovnog niza posebnim znakovima Poseban znak Opis djelovanja n Prelazak u novi redak t Tabulator >>> print('Ivana n. Brlić') Ivana Brlić >>> print('Ivana t. Brlić) Ivana Brlić 8 znakova (tabulator)
5. 3. Naredbe za ulaz i izlaz podataka � Naredba print() print ◦ Drugi način je sa trostrukim polunavodnicima (') ili navodnicima(") >>> print('''Ivana Brlić Mažuranić''') Ivana Brlić Mažuranić ◦ U kombinaciji s matematičkim operatorima + i * >>> print('Ivana'+'Brlić’) Ivana. Brlić Spajanje stringova >>> print('Ivana'*4) Ivana Umnožavanje stringova
5. 3. Naredbe za ulaz i izlaz podataka � Naredba print() print ◦ Argument sep – zadavanje oblika odvajanja vrijednosti ispisa >>> print('Ivana', 'Brlić', 'Mažuranić') Ivana Brlić Mažuranić >>> print('Ivana', 'Brlić', 'Mažuranić', sep='') Ivana. BrlićMažuranić >>> print('Ivana', 'Brlić', 'Mažuranić', sep=', ') Ivana, Brlić, Mažuranić >>> print('Ivana', 'Brlić', 'Mažuranić', sep=': ') Ivana: Brlić: Mažuranić
5. 3. Naredbe za ulaz i izlaz podataka � Naredba print() print ◦ Brojevi se stavljaju u zagradu bez navodnika >>> print(10) 10 >>> print(10, 20) 10 20 ◦ Unutar zagrada mogu se rabiti matematički operatori >>> print(10+20) 30 >>> print(10*20) 200 >>> print(20 -5) 15 >>> print(20/4) 5. 0
5. 3. Naredbe za ulaz i izlaz podataka � Naredba print() print ◦ Varijable se također stavljaju unutar zagrada bez navodnika >>> a=10 >>> print(a) 10 >>> print('a=', a) a=10 ◦ A ako je vrijednost varijable znakovni niz >>> b='utorak' >>> print(b) utorak >>> print('Danas je', b) Danas je utorak
5. 3. Naredbe za ulaz i izlaz podataka � Naredba input() input – pridruživanje unosa s tipkovnice ◦ Programi za svoj rad rabe različite podatke koji se upisuju s tipkovnice neposredno prije provedbe programa ◦ Nakon upisivanja pridružuju se nekoj varijabli unutar programa >>> ime=input() Marko >>> print(ime) Marko >>> ime=input('Unesi ime: ') Unesi ime: Marko >>> print(ime) Marko >>> print('Moje ime je', ime) Moje ime je Marko
5. 3. Naredbe za ulaz i izlaz podataka � Brojevi: >>> a=input('Upiši broj: ') Upiši broj: 10 >>> print(a) 10 ◦ Zadatak za učenike b = 15 >>> b=input('Upiši broj: ') Upiši broj: 15 >>> print(b) 15 � Matematičke operacije >>> print(a+b) 1015 Input naredba uvijek pridružuje znakovni niz (string) kao ulaznu vrijednost ◦ Za brojeve se mora koristiti naredba int() koje pretvara znakovni niz u broj.
5. 3. Naredbe za ulaz i izlaz podataka � Naredba ◦ Brojevi input() input >>> a=int(input('Upiši broj: ')) Upiši broj: 10 >>> b=int(input('Upiši broj: ')) Upiši broj: 15 >>> print(a+b) 25 � Obratiti zagrada. pozornost na broj otvorenih i zatvorenih
5. 3. Naredbe za ulaz i izlaz podataka � Naredba input() input ◦ Decimalni brojevi >>> c=float(input('Upiši decimalni broj: ')) Upiši decimalni broj: 8. 5 >>> print(c) 8. 5 >>> d=float(input('Upiši decimalni broj: ')) Upiši decimalni broj: 8 >>> print(d) 8. 0
5. 4. Izrada programa � Uređivačko sučelje Pythona �Spremanje programa �Pokretanje programa �Otvaranje programa
5. 4. Izrada programa � Spremanje i pokretanje programa
5. 4. Izrada programa � Stvaranje, spremajne i testiranje programa
5. 4. Izrada programa � Primjeri za vježbu – program zbrajanja dva broja Početak Algoritam: početak upiši a upiši b zbroj=a+b ispiši zbroj kraj # zbrajanje dva cijela broja a a=int(input('Upiši prvi broj! ')) b b=int(input('Upiši drugi broj! ')) z=a+b z Kraj z=a+b print('Zbroj je', z)
5. 5. Crtanje u Pythonu � Modul Turtle ◦ Aktiviranje modula: >>> from turtle import* ◦ Pomicanje olovke: OKRET LIJEVO NATRAG NAPRIJED OKRET DESNO
5. 5. Crtanje u Pythonu � Naredbe: Naredba Skraćeni naziv Opis djelovanja fd(a) pomiče olovku za a koraka naprijed backward(a) bk(a) pomiče olovku za a koraka unatrag right(kut) rt(kut) zakreće olovku za kut stupnjeva u desno left(kut) lt(kut) zakreće olovku za kut stupnjeva u lijevo penup() pu() olovka se podiže i ne ostavlja trag pendown() pd() olovka se spušta i ostavlja trag forward(a) undo() poništava zadnji pokret olovkom reset() briše grafički zaslon home() postavlja olovku u početni položaj
5. 5. Crtanje u Pythonu � Primjeri za vježbu:
Plan i program za 6. razred Basic Python � Uporaba naredbi za grananje i bezuvjetni skok � Algoritmi s uporabom petlje � Uporaba naredbi za petlju bez logičkog uvjeta naredbi za grananje � Algoritmi s uporabom petlje bez logičkog uvjeta � Crtanje pravilnih geometrijskih likova � Dodatna obilježja olovke (boja i širina)
6. 1. Uporaba naredbi za grananje � Naredbe za grananje DA ◦ if … else ◦ if … elif …. else Ponijet ćete kišobran. Uvjet JE ispunjen. Operator Opis djelovanja > Veće od < Manje od >= <= Veće od ili jednako == Jednako != Nije jednako (različito) Manje od ili jednako Ako pada kiša… UVJET NE Nećete ponijet kišobran. Uvjet NIJE ispunjen.
6. 1. Uporaba naredbi za grananje � Odluke uvlake u programu – naredba if if uvjet 1: naredba 1 else: else naredba 2 if uvjet 1: naredba 1. 1 naredba 1. 2 else: else naredba 2. 1 ako je istinit uvjet 1 izvrši naredbu 1 inače izvrši naredbu 2 blok naredbi 1 blok naredbi 2
6. 1. Uporaba naredbi za grananje � Za uneseni broj ispiši je li pozitivan ili negativan. ALGORITAM DIJAGRAM TIJEKA PROGRAM POČETAK a=int(input('Upiši broj: ')) if a>0: print('Pozitivan') else: print('Negativan') početak upiši broj a ako je a > 0 ispiši broj je pozitivan inače ispiši broj je negativan kraj a DA a>0 NE negativan pozitivan KRAJ
6. 1. Uporaba naredbi za grananje � Višestruko grananje – if … else if uvjet 1: naredba 1 elif uvjet 2: naredba 2 else: naredba 3 ako je istinit uvjet 1 izvrši naredbu 1 Ili ako je istinit uvjet 2 izvrši naredbu 2 Inače izvrši naredbu 3
6. 1. Uporaba naredbi za grananje � Za uneseni broj ispiši je li pozitivan, negativan ili jednak nuli. DIJAGRAM TIJEKA ALGORITAM početak upišite broj a ako je a > 0 ispiši broj je pozitvan ili ako je a < 0 ispiši broj je negativan inače ispiši upisana je nula. kraj negativan POČETAK a a>0 NE DA a<0 NE upisana je nula KRAJ DA pozitivan PROGRAM a=int(input('Upiši broj a: ')) if a>0: print('Broj je pozitivan') elif a<0: print('Broj je negativan') else: print('Upisana je nula')
6. 2. Petlja bez logičkog uvjeta � for petlja (a) POČETNA VRIJEDNOST PETLJE (BROJAČA) (i) VARIJABLA (BROJAČ) PETLJE (b) ZAVRŠNA VRIJEDNOST PETLJE (BROJAČA) for i in range(a, b, k): naredba NAREDBA KOJA SE PONAVLJA (k) KORAK PETLJE (BROJAČA)
6. 2. Petlja bez logičkog uvjeta for i in range(10): print(i) for i in range(0, 10, 1): print(i) for i in range(0, 10, 2): print(i) for i in range(0, 10, 3): print(i) 0 1 2 3 4 5 6 7 8 9 for i in range(10, 0, -1): print(i) 0 2 4 6 8 0 3 6 0 for i in range(10, 0, -2): print(i) 10 9 8 7 6 5 4 3 2 1 10 8 6 4 2
6. 2. Petlja bez logičkog uvjeta � Odluka u petlji ◦ Primjer – ispiši prvih deset prirodnih brojeva osim broja 7 1 2 3 4 5 6 8 9 10 for i in range (1, 11): if i!=7: print(i)
6. 2. Petlja bez logičkog uvjeta � Vodoravni ispis brojeva ◦ Parametar end=' ' 1 2 3 4 5 6 8 9 10 end=', ' 1, 2, 3, 4, 5, 6, 8, 9, 10, for i in range (1, 11): if i!=7: print(i, end=' ')
6. 3. Crtanje u Pythonu � Zadatak >>> >>> >>> za ponavljanje – nacrtaj kvadrat stranice 100 from turtle import* fd(100) lt(90) >>> for i in range(4): fd(100) lt(90)
6. 3. Crtanje u Pythonu � Različiti geometrijski oblici >>> for i in range(3): fd(100) lt(360/3) >>> for i in range(6): fd(100) lt(360/6) >>> for i in range(8): fd(100) lt(360/8)
6. 3. Crtanje u Pythonu � Odluke pri crtanju ◦ Zadatak – nacrtaj trokut ako je stranica a veća od 100, inače nacrtaj šesterokut. >>> Unesi stranicu: 120 >>> Unesi stranicu: 50 from turtle import* a=int(input('Unesi stranicu: ')) if a>100: for i in range(3): fd(a) lt(360/3) else: for i in range(6): fd(a) lt(360/6)
6. 4. Dodatna obilježja olovke � Promjena širine (debljine)crtanja �Naredba za očitavanje i postvaljanje boje crtanja >>> pensize() 1 >>> >>> >>> fd(100) pensize(3) fd(100) pensize(5) fd(100) 1 3 5
6. 4. Dodatna obilježja olovke � Crtanje u boji Kontura Ispuna
6. 4. Dodatna obilježja olovke � Boje koje ćemo koristiti Prikaz boje Naziv boje String R G B Crna ‘black’ 0 0 0 Plava ‘blue’ 0 0 255 Zelena ‘green’ 0 255 0 Crvena ‘red’ 255 0 0 Cyan ‘cyan’ 0 255 Žuta ‘yellow’ 255 0 Magenta ‘magenta’ 255 0 255 Bijela ‘white’ 255 255
6. 4. Dodatna obilježja olovke � Naredbe za zadavanje boje Naredba Opis djelovanja pencolor() pencolor(string) Očitava i ispisuje boju olovke Postavlja boju olovke stringom fillcolor() fillcolor(string) Očitava i ispisuje boju ispune Postavlja boju ispune stringom begin_fill() Početak ispune end_fill() Kraj ispune color() color(string) Očitava i ispisuje boju olovke i ispune Postavlja boju olovke i ispune stringom
6. 4. Dodatna obilježja olovke � Crtanje u boji from turtle import* pencolor('Red') fillcolor('Yellow') begin_fill() a=int(input('Unesi stranicu: ')) for i in range(3): fd(a) lt(360/3) end_fill()
Plan i program za 7. razred Basic Python � Uporaba naredbe za petlju s logičkim uvjetom – while petlja � Crtanje ravnih crta i pravokutnika � Crtanje kružnice naredbe za petlju s logičkim uvjetom – while petlja � Koordinatna grafika � Crtanje kružnice i kružnog isječka � Potprogrami – nizovi likova � Osnove grafičkog korisničkog sučelja
7. 1. Uvjetno ponavljanje naredbi � while petlja ALGORITAM dok je uvjet ispunjen izvrši blok_naredbi ◦ for petlja >>> for i in range(10): print(i, end=' ') 0 1 2 3 4 5 6 7 8 9 ◦ while petlja >>> b=0 >>> while b<10: print(b, end=' ') b=b+1 0 1 2 3 4 5 6 7 8 9
7. 1. Uvjetno ponavljanje naredbi � Primjer – ispiši zbroj prvih n prirodnih brojeva. for petlja n=int(input('Upiši broj: ')) zbroj=0 for i in range(1, n+1): zbroj=zbroj+i print('Zbroj je', zbroj) while petlja n=int(input('Upiši broj: ')) zbroj=0 b=1 while b<=n: zbroj=zbroj+b b=b+1 print('Zbroj je', zbroj)
7. 1. Uvjetno ponavljanje naredbi � Primjer – unosi i zbroji cijele brojeve sve dok ne uneseš negativan broj, a onda ispiši zbroj unesenih brojeva. ALGORITAM x=0 zbroj=0 sve dok je x>=0 zbroj=zbroj+x unesi x ispiši zbroj PROGRAM x=0 zbroj=0 while x>=0: zbroj=zbroj+x x=int(input('Upiši broj: ')) print(zbroj)
7. 1. Uvjetno ponavljanje naredbi � Primjer – unesi prirodni broj i provjeri je li prost. for petlja n=int(input('Upiši broj: ')) prost=0 for i in range(2, n): if n%i==0: prost=1 if prost==0: print('Prost') else: print('Nije prost') while petlja n=int(input('Upiši broj: ')) prost=0 d=2 while d<n: if n%d==0: prost=1 d=d+1 if prost==0: print('Prost') else: print('Nije prost')
7. 2. Koordinatna grafika � Modul Turtle 900 y x -x 0, 0 1800 2700 -y 00
Programiranje – 7. razred � Koordinatna Naredba grafika – modul Turtle Opis djelovanja pos() ispisuje koordinate trenutnog položaja olovke setpos(x, y) postavlja olovku u točku s koordinatama () setx(x) sety(y) postavlja olovku u točku s koordinatom x, a koordinata y ostaje nepromjenjena postavlja olovku u točku s koordinatom y, a koordinata x ostaje nepromjenjena seth(kut) okreće olovku u mjestu za određeni kut seth(towards(x, y)) okreće olovku za kut tako da gleda u točku s koordinatama (x, y) distance(x, y) daje pravocrtnu udaljenost između trenutnog položaja olovke i zadane točke (x, y)
7. 2. Koordinatna grafika � Primjer - nacrtaj kvadrat s dijagonalama duljine 200. y [100 100] 100 100 [0 0] 100 [100 -100] x [200 0]
7. 3. Crtanje kružnice i kružnog isječka � Naredba circle() circle(r, kut, n) >>> circle(100, 60) >>> circle(100, 360, 6)
7. 3. Crtanje kružnice i kružnog isječka � Primjer - nacrtaj plavi šesterokut i oko njega opiši žutu kružnicu radijusa 100 from turtle import* fillcolor('Yellow') begin_fill() circle(100) end_fill() fillcolor('Blue') begin_fill() circle(100, 360, 6) end_fill()
7. 4. Potprogrami � Dio programskog koda neovisan o glavnom programu � U Pythonu, potprogrami se nazivaju funkcije � Funkcija se zapisuje: def ime_funkcije(): blok naredbi return
7. 4. Potprogrami � Primjer - napiši funkciju za crtanje kvadrata stranice 50. >>> from turtle import* >>> def kvadrat(): for i in range(4): fd(50) lt(90) return >>> >>> >>> kvadrat() fd(50)
7. 4. Potprogrami � Primjer - napiši funkciju za crtanje kvadrata stranice 50. >>> def kvadrat(): for i in range(4): fd(50) lt(90) return >>> for j in range(3): kvadrat() fd(50)
7. 4. Potprogrami � Program s potprogramom za crtanje niza kvadrata from turtle import* def kvadrat(): for j in range(4): fd(50) lt(90) return for i in range(5): kvadrat() fd(50)
7. 5. Grafičko sučelje � Modul Tkinter � Elementi GKS: ◦ Prozor ◦ Gumb
Programiranje – 7. razred
Plan i program za 8. razred Basic � Potprogrami � Primjena programiranja u nastavi matematike � Primjena programiranja u nastavi fizike i kemije Python � Logički izrazi u Python � Potprogrami � Rekurzivne funkcije � Grafičko sučelje � Primjena programiranja u nastavi matematike, fizike i kemije
8. 1. Logički izrazi u Python-u � Nekoliko izjava u interaktivnom sučelju >>> 4>6 False >>> 6<7 True >>> 6==7 False � Rabimo relacijske operatore
8. 1. Logički izrazi u Python-u Znak Značenje Python = Jednako, istodobno == ≠ Nije jednako, različito != > Veće, slijedi, dolazi iza > < Manje, prethodi, dolazi ispred < ≤ Manje ili jednako <= ≥ Veće ili jednako >=
8. 1. Logički izrazi u Python-u � Izjave se mogu povezivati ili negirati � U tim slučajevima rabimo logičke operatore: Operator and Naziv operacije I operacija or ILI operacija not NE operacija
8. 1. Logički izrazi u Python-u � Logički izrazi u Pythonu ◦ Operator I (and) >>> (5<6) and (3<4) and (2>1) True ◦ Operator ILI (or) >>> (5<6) or (3==3) or (2<1) True ◦ Operator NE (not) >>> not (3==3) False
Relacijski operatori u Python-u � Operator I (and) >>> (6<5) and (3<4) and (2>1) False and True
8. 1. Logički izrazi u Python-u � Složeni logički izrazi nastaju kad uvjete povežemo različitim logičkim operatorima � U tom slučaju treba voditi brigu o redoslijedu izvođenja operacija: 1. not 2. and 3. or
8. 1. Logički izrazi u Python-u � Nekoliko primjera: >>> (2==3) or not (2==0) True (2==0) --> False not (2==0) --> not False --> True (2==3) --> False or True --> True
Primjer 1 � Napiši program koji ispisuje sve prirodne brojeve manje od n koji su istodobno parni i djeljivi s tri Unesi prirodan broj: 20 6 12 18 >>>
Primjer 1 � Napiši program koji ispisuje sve prirodne brojeve manje od n koji su istodobno parni i djeljivi s tri n=int(input('Unesi prirodan broj: ')) for i in range (1, n+1): if (i%2==0) and (i%3==0): print(i) Unesi prirodan broj: 20 6 12 18 >>>
8. 2. Potprogrami � Četiri ◦ ◦ su načina rada funkcija u Pythonu: Funkcija ima ulazne parametre i ne vraća vrijednost Funkcija ima ulazne parametre i vraća vrijednost Funkcija nema ulaznih parametara i ne vraća vrijednost Funkcija nema ulaznih parametara i vraća vrijednost ULAZNI PARAMETRI def ime_funkcije(): blok naredbi return VRAĆANJE VRIJEDNOSTI
8. 2. Potprogrami � 1. oblik funkcije ◦ Primjer 1 - napišite funkciju koja ispituje parnost broja i ispisuje odgovarajuću poruku. def paran(broj): if broj%2==0: print('Broj je paran') else: print('Broj je neparan') return Interaktivno sučelje >>> paran(4) Broj je paran >>> paran(5) Broj je neparan >>>
8. 2. Potprogrami � 2. oblik funkcije ◦ Primjer 2 - napišite funkciju koja će računati prosjek prvih n prirodnih brojeva. def prosjek(n): zbroj=0 for i in range(1, n+1): zbroj=zbroj+i prosjek=zbroj/n return prosjek Interaktivno sučelje >>> prosjek(5) 3. 0 >>> (1+2+3+4+5)/5= 15/5 = 3. 0 >>> prosjek(6) 3. 5 >>> (1+2+3+4+5+6)/6= 21/6 = 3. 5
8. 2. Potprogrami � 3. oblik funkcije ◦ Primjer 3 – nacrtaj kvadrat stranice 100 from turtle import* def kvadrat(): for i in range(4): fd(100) lt(90) return Interaktivno sučelje >>> kvadrat() >>>
8. 2. Potprogrami � 4. oblik funkcije ◦ Primjer 4 – napiši program koji će unijeti dva prirodna broja i funkciju za njihovo zbrajanje a=int(input('Unesi prvi broj: ')) b=int(input('Unesi drugi broj: ')) def zbroji(): c=a+b return c print(zbroji()) Interaktivno sučelje Unesi prvi broj: 5 Unesi drugi broj: 9 14 >>>
8. 3. Rekurzivna funkcija � Primjer 5 – ispiši prvih n prirodnih brojeva def ispis(n): if n==1: print(1) else: ispis(n-1) print(n) return ispis(5) 5 ispis(4) 4 Interaktivno sučelje ispis(3) 3 ispis(2) 2 ispis(1) 1 >>> ispis(5) 1 2 3 4 5 >>>
8. 4. Grafičko sučelje � Grafičko ◦ ◦ sučelje Prozor (Window) Gumb (Button) Ispis teksta (Label) Polje za unos teksta (Entry)
8. 4. Grafičko sučelje � Primjer 1 100
8. 4. Grafičko sučelje � Primjer 1 ◦ Ispis teksta (Label) t=Label(p, text='Crtanje kvadrata') t. place(x=60, y=80)
8. 4. Grafičko sučelje � Primjer 1 ◦ Polje za unos teksta (Entry) u=Entry(p) u. place(x=55, y=110) 100 ◦ Naredba (metoda) koja uzima sadržaj a=int(u. get())
8. 4. Grafičko sučelje from turtle import* from tkinter import* def kvadrat(): a=int(u. get()) for i in range(4): fd(a) lt(90) return p=Tk() g=Button(p, text='Crtaj', command=kvadrat) g. place(x=85, y=50, width=50) t=Label(p, text='Crtanje kvadrata') t. place(x=60, y=80) u=Entry(p) u. place(x=55, y=110) p. mainloop() 100
8. 4. Grafičko sučelje � Primjer 2 - Napiši program za zbrajanje dva broja koji ima grafičko sučelje.
8. 4. Grafičko sučelje � Primjer 2 - Napiši program za zbrajanje dva broja koji ima grafičko sučelje. def zbroji(): zbroj=int(u 1. get())+ int(u 2. get()) c=Label(p, text=str(zbroj)) c. place(x=180, y=150) return
8. 4. Grafičko sučelje � Primjena kemije programiranja u nastavi matematike, fizike i
Radovi učenika
Natjecanje � Dobro bi bilo obraditi: ◦ Stringove ◦ Liste
Hvala na pažnji!
- Slides: 92