GOO u nastavnim temama iz informatike u osnovnoj skoli
Python primjeri programa
1. Programski jezik Python,
predavanja održana za Osnovne škole u Osijeku , 31.8., Požegi, 1.9. i
Vinkovcima 2.9.2010.
Python je interpreterski, interaktivni, objektu orjentirani programski jezik. Prvi ga je razvio
Guido van Rossum, 1990. Python na optimalni način ujedinjuje sve najbolje ideje i načela
rada drugih programskih jezika. Snažan je i jednostavan u isto vrijeme.Python je besplatan,
open-source software.
Primjeri programa u programskom jeziku Python
#Suma prvih n zadanih prirodnih brojeva
print"ZADAJ KOLIKO BROJEVA"
n=input()
s=0
for i in range(1, n+1):
s=s+i
print"Suma:",s
#suma prvih n prirodnih parnih brojeva
print"ZADAJ KOLIKO BROJEVA"
n=input()
s=0
for i in range(1, n+1):
print"Zadaj broj"
s=s+i
i=i+2
print"Suma:",s
#Suma prvih n zadanih parnih prirodnih brojeva- bolji način
print"ZADAJ KOLIKO BROJEVA"
n=input()
s=0
for i in range(1, n+1):
if i%2==0:
s=s+i
print"Suma:",s
#Suma prvih n prirodnih neparnih brojeva
print"ZADAJ KOLIKO BROJEVA"
n=input()
s=0
for i in range(1, n+1):
if i%2!=0:
s=s+i
print"Suma:",s
#Suma n zadanih brojeva
print"ZADAJ KOLIKO BROJEVA"
n=input()
s=0
for i in range(1, n+1):
print"Zadaj broj"
a=input()
s=s+a
print"Suma:",s
2. #Zadaj n brojeva i ispiši samo parne
print"Koliko brojeva"
n=input()
for i in range(1, n+1):
print"Zadaj brojeve"
a=input()
if a%2 == 0:
print"Parni brojevi:",a
#Prosjek n zadanih brojeva
print"ZADAJ KOLIKO BROJEVA"
n=input()
s=0
for i in range(1, n+1):
print"Zadaj broj"
a=input()
s=s+a
print"Suma:",s
print"Prosjek",float(s)/n
for petlja s korakom 3 - ispis svakog trećeg prirodnog broja
for i in range(1, 11,3):
print i
#Zadaj n brojeva i ispiši sve brojeve i treći broj po redu –
jednodimenzionalni niz
lista=[]
n=input("koliko brojeva treba ucitati:")
for i in range(0, n):
a=input("unesite broj:")
lista.append(a)
print "Svi brojevi:"
print lista
print"Ispis brojeva"
for elem in lista:
print"Element: ", elem
print"Treci element liste:",lista[2]
#Zadaj n brojeva i ispiši samo veće od 5 i sort
lista=[]
n=input("koliko brojeva treba ucitati:")
for i in range(0, n):
a=input("unesite broj:")
lista.append(a)
print "Svi brojevi:"
print lista
print"Ispis brojeva"
for elem in lista:
print"Element: ", elem
print"Treci element liste:",lista[2]
print"Ispis elemenata vecih od 5"
for i in range(0,n):
if lista[i] > 5: print" Brojevi veci od 5", lista[i]
print "Algoritma za sortiranje"
for i in range (0, n-1):
3. for j in range(i+1, n):
if lista[i]>lista[j]:
t=lista[i]
lista[i]=lista[j]
lista[j]=t
print"Sort"
for i in range(0,n):
print lista[i]
Primjer za rad s matricama
print"Zadaj dimenzije matrice"
r=[]
a=[]
n=input("Red matrice:")
for i in range(0,n):
for j in range(0,n):
print"Zadaj broj"
x=input()
r.append(x)
a.append(r)
r=[]
for i in range(0,n):
for j in range(0,n):
print a[i][j],
print
s=0
print"Trag matrice:"
for i in range(0,n):
s=s+a[i][i]
print"s=",s
s1=0
for i in range(0,n):
for j in range(0,n):
if( i+j==n-1): s1=s1+a[i][j]
print"Suma elemenata sporedne dijagonale:",s1
print"Max u drugom stupcu"
max=a[0][1]
for i in range(0,n):
if (a[i][1]>max): max=a[i][1]
print"Max=",max
print"Prosjek cijele matrice:"
s2=0
for i in range(0,n):
for j in range(0,n):
s2=s2+a[i][j]
p=float(s2)/(n*n)
print("%.2f"%(p)) – formatirani ispis
Zadaj dimenzije matrice
Red matrice:3
2 3 4
1 4 5
6 7 3
Trag matrice:
s= 9
Suma elemenata sporedne dijagonale: 14
Max u drugom stupcu
Max= 7
Prosjek cijele matrice:
4. 3.89
Primjer za stringove:
Zadan je string i treba ispisati da li u zadanom stringu ima više slova a
i b
from string import *
a=raw_input("Zadaj string:")
r=0;r1=0
print a
#print len(a)
#print a[5]
#print max(a)
n=len(a)
#a=a.upper()
#print a
for i in range(0,n):
if(a[i]=="a" or a[i]=="A"): r=r+1
if(a[i]=="b" or a[i]=="B"): r1=r1+1
print "U zadanom stringu slova a ima:",r
print "U zadanom stringu slova b ima:",r1
if (r>r1):print"Vise ima slova a"
elif (r==r1): print"Ima ih jednako"
else: print"Vise ima b"
Zadaj string:Aaabbbaa
Aaabbbaa
U zadanom stringu slova a ima: 5
U zadanom stringu slova b ima: 3
Vise ima slova a
Primjer za funkcije :
from math import *
a=input("Zadaj stranicu pravokutnika:")
d=input("Zadaj dijagonalu pravokutnika:")
def b(d,a):
b=sqrt(d*d-a*a)
return b
def o(d,a):
o=2*(a+b(d,a))
return o
def p(d,a):
p=a*b(d,a)
return p
print "Stranica b=", b(d,a)
print "Opseg iznosi ",o(d,a)
print "povrsina iznosi ",p(d,a)
Zadaj stranicu pravokutnika:3
Zadaj dijagonalu pravokutnika:5
Stranica b= 4.0
Opseg iznosi 14.0
povrsina iznosi 12.0
Primjer grafike:
Cvijet kojem su latice rombovi
from Tkinter import *
import turtle
5. def latica(i):
for i in range(1,3):
turtle.forward(40)
turtle.right(30)
turtle.forward(40)
turtle.right(150)
for i in range(1,13):
latica(i)
turtle.right(30)
Cvijet kojem su latice 12 kružnica
from Tkinter import *
import turtle
def kruznica(i):
for i in range (1,37):
turtle.forward(5)
turtle.right(10)
def pomak(i):
for i in range(1,7):
turtle.forward(7)
turtle.left(5)
for i in range(1,13):
kruznica(i)
pomak(i)