Professional Documents
Culture Documents
Broj sata: 1
Naziv metodičke jedinice: Programiranje u
Pythonu
Nadnevak:
Predmetni ishodi:
B 1.3 Razvija algoritam i stvara program u odabranome programskom jeziku rješavajući
problem uporabom strukture grananja i ponavljanja.
Razrada predmetnih ishoda:
Razvija algoritam primjenjujući strukture grananja i ponavljanja. Prati izvođenje algoritma,
implementira u odabranom programskom jeziku, testira i vrednuje u suradnji s drugima,
koristi se različitim metodama ispravljanja pogrešaka. Vrednuje različita rješenja istoga
problema.
Očekivanja međupredmetnih tema:
MPT Uporaba IKT
C 4.1. Učenik samostalno provodi složeno istraživanje radi rješenja problema u
digitalnome okružju.
Suodnos:
Matematika: A 1.1. Računa s realnim brojevima
1
Oblici rada (odabrati):
Frontalni rad, individualni rad
Za učenike s poteškoćama:
2
Sadržaj rada
UVODNI DIO
Ukratko sa učenicima ponavljam gradivo vezano za for petlju.
U programima se često javlja potreba da se dio koda ponavlja. Kako ne bi pisali isti kod
mnogo puta upotrebljavaju se naredbe ponavljanja. Jedna od naredaba ponavljanja je i for
petlja koja se koristi kada je broj ponavljanja unaprijed poznat. Pri svakom prolasku kroz
petlju kontrolna varijabla poprima slijedeću vrijednost koju joj generira funkcija range().
Funkcija range ima tri atributa kojima se zadaju početna i konačna vrijednost te sam korak.
Korak je atribut koji kaže funkciji range za koliko 'skače' prilikom generiranja vrijednosti.
Konačna vrijednost koju daje funkcija range je za jedan manja od danog atributa, a kada je
korak različit od 1 tada je zadnja vrijednost na koju skoči unutar intervala. Korak može biti i
negativan, tada vrijednosti koje generira range() funkcija idu u obrnutom smjeru no
početna vrijednost mora biti veća od konačne.
n = int(input("unesi broj:"))
for i in range(1,n+1):
if i % 2 != 0:
print(i)
n = int(input("unesi broj:"))
for i in range(1,n+1,2):
print(i)
n = int(input("unesi broj:"))
for i in range(0, n):
print(2*i+2)
Ako rješavamo preko koraka, koje su početne i konačne vrijednosti u range funkciji ako
želimo ispis n parnih brojeva?
n = int(input("unesi broj:"))
for i in range(2,2*n+2,2):
print(i)
n = int(input("unesi broj:"))
for i in range(0,n):
print(2*i+1)
4
Kakav mora biti korak?
n = int(input("unesi broj:"))
for i in range(n,0,-1):
print(i, "-",i**2)
14. Napiši program koji učitava broj n i ispisuje zbroj svih prirodnih brojeva do n.
Inicijalizacija je postupak davanja početne vrijednosti nekoj varijabli kako bi s njome mogli
raditi.
Prije izvođenja for petlje moramo inicijalizirati varijablu suma jer kod koraka suma = suma
+ i se ne bi znalo koja je početna suma. Koliko mora biti početna vrijednost sume?
n = int(input("unesi broj:"))
suma = 0
for i in range(1, n+1):
suma = suma + i
print(suma)
5. Napiši program koji unosi prirodan broj N i ispisuje vrijednost 𝑁! (𝑁! = 1 ∙ 2 ∙ … ∙ 𝑁).
n = int(input("unesi broj:"))
Koja mora biti početna vrijednost kod inicijalizacije varijable k?
k=1
for i in range(1,n+1):
k=k*i
print(k)
12. Napiši program koji učitava broj n i ispisuje sve njegove djelitelje.
Kakav mora biti ostatak dijeljenja nekog broja s njegovim djeliteljem?
n = int(input("unesi broj:"))
for i in range(1, n+1):
if n % i == 0:
print(i)
6. Napiši program koji će unositi prirodan broj N, a potom N prirodnih brojeva. Program
treba izračunati posebno zbroj parnih, a posebno neparnih unesenih.
Koliko varijabli moramo inicijalizirati?
Koje su početne vrijednosti inicijaliziranih varijabli?
5
print("zbroj neparnih:", neparni)
ZAVRŠNI DIO
Rješavaju se najteži zadatci. Očekujem poteškoće kod zadatka s autobusom, kod pravilne
inicijalizacije varijabli te kod zadatka s prostim brojevima. Nasumice odabirem učenika koji
je riješio zadatak da ga riješi pred učenicima na projektoru. Ako nakon određenog
vremena nitko ne riješi zadatak tada ga rješavam ja objašnjavajući korake zadatka.
9.Napiši program koji unosi prirodan broj n, a zatim n prirodnih brojeva. Program treba
ispisivati najveći i najmanji među unesenim brojevima.
Gdje se treba pisati kod koji traži unos prirodnih brojeva?
Koliko varijabla treba inicijalizirati?
Kada treba varijable inicijalizirati?
Što treba ispitati naredbom if ?
n = int(input("broj stanica:"))
for i in range(0,n):
6
izaslo = int(input("izaslo je:"))
uslo = int(input("uslo je:"))
if i == 0:
trenutno = uslo - izaslo
najvise = trenutno
else:
trenutno = trenutno + uslo - izaslo
if najvise < trenutno:
najvise = trenutno
print(najvise)
13. Napiši program koji učitava broj n i provjerava jeli broj prost. Broj je prost ako je
djeljiv samo sa 1 i samim sobom. Program vraća riječ „prost broj“ ako je prost inače
vraća „nije prost broj“.
Kakav je ostatak cjelobrojnog dijeljenja broja njegovim djeliteljem?
Koliko djelitelja ima broj koji nije prost?
Koju varijablu moramo inicijalizirati na početku?
Koju vrijednost pridružujemo toj varijabli?
Koje su početne i konačne vrijednosti range funkcije ako želimo ispitati djeljivost sa
brojevima od 1 do tog broja?
Što provjeravamo naredbom if-else?
n = int(input("Unesi broj:"))
brojac = 0
for i in range(1, n + 1):
if n % i == 0:
brojac = brojac + 1
if brojac > 2:
print("nije prost broj")
else:
print("prost broj")
15. Napiši program koji učitava broj n i ispisuje n-ti Fibonaccijev broj. Fibonaccijev broj je
zbroj prethodna dva Fibonaccijeva broja s time da su prva dva definirana i jednaka 1.
prvih nekoliko Fibonaccijevih brojeva su: 1,1,2,3,5,8,13,21,34….
Koliko varijabla inicijaliziramo na početku?
Koje vrijednosti pridružujemo tim varijablama na početku?
Čemu je jednak treći broj?
Čemu je sad nakon izračuna trećeg broja jednak prvi broj?
Čemu je sad jednak drugi broj?
Koje su početne i konačne vrijednosti for petlje?
n = int(input("unesi broj:"))
prvi = 1
drugi = 1
for i in range(2, n):
treci = prvi + drugi
prvi = drugi
7
drugi = treci
print(treci)
PLAN PLOČE