Professional Documents
Culture Documents
Uvod U Programiranje PDF
Uvod U Programiranje PDF
2019/20
▪ Model 70+30
▪ Redovno prisustvo nastavi = 4 poena
▪ Test = 10 poena
▪ 2 kolokvijuma = 20 + 36 poena
▪ Završni deo ispita = 30 poena
▪ Uslov za izlazak na završni ispit – više od polovine poena na predispitnim
obavezama
Primeri:
▪ Euklidov postupak za konstruisanje pomoću lenjira i šestara
▪ Euklidov postupak za određivanje NZD
▪ Vavilonski iterativni postupak za određivanje kvadratnog korena (1500
g.p.n.e.).
Ulazne veličine
Izračunavanje
da
Uslovno grananje
ne
Izlazne veličine
Komanda 2
Blok komandi
ne
Uslov
▪ Razgranata struktura da
da
Uslov
Početne vrednosti
ne
Komanda 1 Komanda 2 ne
Uslov
da
Blok komandi
probušena auto
Rezervni točak,
dizalica, ključ
Podići auto
dizalicom
ne
Odšrafiti?
da Skinutu točak
Odšrafiti šraf Staviti rezervni
točak
ne
Zašrafiti?
da
Zašrafiti šraf
Spustiti auto
Srećan put
Kraj
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Vrste programskih jezika
▪ Algoritmi se u računaru realizuju odgovarajćim programom
▪ Program može biti realizovan korišćenjem različitih simbola (jezika),
kojima se reprezentuju pojedine operacije podržane od strane
računarskog sistema
Izveštaj o
prevođenju
▪ Interpreteri
Redosled prevođenja
Redosled izvršavanja
Izvorna komanda 1 Prevodilac Izvršna komanda 1
Izvorna komanda 2 Izvršna komanda 2
Po snimanju na disk, u
datoteku sa ekstenzijom .py (u
primeru zad1.py), program se
pokrece izborom opcije Run
Module, iz menija Run.
>>> a = 1
>>> b = 2
>>> c = 2.5
>>> a
1
>>> c
2.5
>>> x
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
x
NameError: name 'x' is not defined
>>>
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Promenljive
>>> type(poruka)
<class 'str'>
>>> type(pi)
<class 'float'>
>>> type(n)
<class 'int'>
▪ Upisivanje tekstualne ili brojčane vrednosti je moguće pomoću naredbe input(). Sama
naredba ništa ne znači ukoliko nije pridružena nekoj promenljivoj.
▪ Tip prihvaćenih podataka je uvek string, ukoliko se ne zahteva drugačije.
a=tip_podatka(input(“Unesi vrednost”)
a = int(input("Brojilac "))
b = int(input("Imenilac ")) Brojilac 37
mesoviti_ceo_deo = a // b Imenilac 12
mesoviti_brojilac = a % b 3 celih i 1 / 12
>>>
mesoviti_imenilac = b
print(mesoviti_ceo_deo, "celih i", mesoviti_brojilac, "/",
mesoviti_imenilac)
razumljivo nerazumljivo
pi = 3.14 a = 3.14
O = 2 * r * pi b=2*x*a
P = r**2 * pi c = x**2 * a
A B
2.
1.
C 3.
A=4
B=7
A=2*A-B
B=7*A-B
A=A-A
print(A,B)
Potproblem 3 Potproblem 4
Potproblem 5 Potproblem 6
def saberi(a,b):
c = a + b
print (c)
saberi(3,5) 8
print(c) NameError: name 'c' is not defined
saberi(3,5) 8
print(c) 10
saberi2 (3,5)
a = saberi2 (12,26)
print (a) 38
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Funkcije sa više rezultata
def cm_u_mcm(cm):
return (cm // 100, cm % 100)
def sek_u_satminsek(s):
sek = (s // (60*60)) % 24
min = (s // 1) % 60
sat = (s // 60) % 60
return (sat,min,sek)
x | y | x and y | x or y
Znak Relacija
True | True | True | True
And Logičko „i“ True | False | False | True
Or Logičko „ili“ False | True | False | True
Not Logičko „ne“ False | False | False | False
x = float(input('x= '))
y = float(input('y= '))
print('veći broj je', x * (y < x) + y * (x <= y) )
▪ Neke naredbe se izvršavaju samo ako je neki uslov ispunjen. Da bi se opisalo uslovno
izvršavanje nekih naredbi koristi se naredba if if uslov1:
if uslov: if uslov: naredba_1
naredba_1 naredba_1 ...
... ... naredba_m
naredba_k naredba_m elif uslov2:
else: naredba_1
naredba_1 ...
... naredba_n
naredba_n else:
naredba_1
▪ Zagrade u uslovu nisu OBAVEZNE. ...
▪ Dvotačka je obavezna nakon navođenja uslova naredba_k
▪ Naredba uslova će vratiti tačno/netačno
▪ Ako je tačan uslov koji se zadaje izvršiće naredba_1 …
a=0 a=0
if a: if a==0:
print(a) print(a)
if a%2 == 0: ne
print ('Broj je paran') Komanda 2 Komanda 1
else:
print ('Broj je neparan')
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Blok komandi
if a==b:
p=a**2
Više od
print("Povrsina kvadrata iznosi: ", p)
jedne else:
naredbe p=a*b
print("Povrsina pravougaonika iznosi: ", p)
P=sqrt(s * (s – x) * (s – y) * (s – z))
ne
if x < y:
print ('x je manje od y') Komanda 2 Komanda 3
elif x > y:
print ('x je vece od y')
else:
print ('x i y su jednaki')
a = 25
b = 5
c = input('uneti operaciju: ')
if (c == '+'):
print (a + b)
elif (c == '*'):
print (a * b)
elif (c == '-'):
print (a - b)
elif (c == '/'):
print (a / b)
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Ugnježdeni uslovi
if x == y:
print ('x i y su jednaki')
else:
if x < y:
print ('x je manje od y')
else:
print ('x je vece od y')
•1 < x < 2
•x = y = z
• X ne pripada interval –a do a
Stanari jedne zgrade treba da renoviraju jedan sprat i radnicima su dali svoje uslove
kada smeju da buše i grade:
▪ rekli su im da mogu da rade od 9 sati izjutra ali
▪ da moraju da naprave pauzu u vreme odmora od 14-17
▪ ne smeju posle 22 časa da buše
▪ Opisani postupak se može uopštiti, čime dobijamo generalni algoritam koji rešava
probleme rekurzijom, i on se sastoji od sledeća tri koraka:
▪ Ovako opisani postupak rešavanja problema ima algoritamski oblik i za većinu problema
se može implementirati.
𝑏0
𝛼 = 𝑎0 +
𝑏1
𝑎1 +
𝑏2
𝑎2 +
𝑎3 +⋱
4 1
=1+
𝜋 4
3+ 9
5+ 16
7+
25
9+ 36
11 + 13 + ⋯
▪ Uočavamo dva niza:
▪ Sabirci: 1, 3, 5, 7, 9, 11,...
▪ Deljenici: 1, 4, 9, 16, 25, 36,...
▪ Rekurzija se ne može širiti u beskonačnost
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Verižni razlomci
import math
def verizni(n):
if n>200:
return 2*n-1
else:
return (2*n-1)+n*n/verizni(n+1)
print(verizni(1))
print(4/math.pi)
1.2732395447351628
1.2732395447351628
br = 0 br = 0
if br < 5: while br < 5:
print('Zdravo!') print('Zdravo!')
br = br + 1 br = br + 1
Zdravo! Zdravo!
Zdravo!
Zdravo!
Zdravo!
Zdravo!
n=5
while n > 0:
print(n)
n = n-1 # šta se dešava bez ovog reda?
print("Gotovo!")
import math
5
n=int(input()) 1 1.0
br=1 2 1.4142135623730951
while br <= n:
3 1.7320508075688772
print(br,' ',math.sqrt(br))
br=br+1 4 2.0
5 2.23606797749979
a = 1
b = 1
while a+b<8:
a = a+1
b = b+2
s = a+b
i = 1
while i <= 6:
print(5*i, '\t', end='')
i = i + 1
print()
Zdravo
for i in range(5): Zdravo
print("Zdravo") Zdravo
Zdravo
Zdravo
0
for i in range(5):
1
print(i)
2
3
4
▪ Za prekid izvršavanje petlje, bez obzira na ispunjenost uslova koristi se komanda BREAK
for i in range(1,10):
if i == 3:
1
break
2
print (i)
▪ Komandom CONTINUE se prekida izvršavanje trenutne iteracije (preskače se deo koda) i
prelazi se na sledeću iteraciju
for broj in range(1,10):
if broj == 3:
continue
print (broj)
print(s)
c = n % 10 c = n % 10
n = n // 10 n = n // 10
print(c) c
kraj
i = 1
while i <= 6:
printMultiples(i)
i = i + 1
s1 = """Ovo Ovo
je string koji ima je string koji ima
vise linija.""" vise linija.
print(s1) Ovo
s2 = 'Ovo\ntakodje' takodje
print (s2)
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Rad sa stringovima
▪ Specijalni karakteri
▪ \n – završava trenutnu liniju i nastavlja u sledećoj
▪ \t – ubacuje tab u string
▪ \' – ubacuje ' u strung
▪ \" – ubacuje " u string
▪ \\ – ubacuje \ u string
s0 = "Zdravo"
s1 = "Svete" ZdravoSvete
print(s0+s1) Zdravo Svete
print(s0+' '+s1) Halo, gde si?
print("Halo, " + "gde si?")
Prvi string, drugi string
s1 = "Prvi string"
s2 = ", drugi string"
print(s1+s2)
s0 = "Spajanje"
s1 = "vise"
s2 = "stringova"
s3 = "zajedno"
razmak = " "
s = s0 + razmak + s1 + razmak + s2 + razmak + s3
print (s)
s = 'Ha'
print (s * 10)
a = 'Program'
print(a * 3)
HaHaHaHaHaHaHaHaHaHa
ProgramProgramProgram
s = 'programiranje'
print ('s = ', s)
print ('s[0] = ', s[0],' s[3] = ', s[3])
print ('s[-1] = ', s[-1])
print ('s[1:5] = ', s[1:5])
print ('s[5:-2] = ', s[5:-2])
s = programiranje
s[0] = p s[3] = g
s[-1] = e
s[1:5] = rogr
s[5:-2] = amiran
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
String funkcije
s = "Hello!"
print (len(s))
print (len("Jedan obican string "))
6
20
print (s[2:-1],s[2:len(s)])
llo llo!
15
ValueError: substring not found
ime = input()
if ime=="Marko":
print("Da, moje ime je Marko")
def palindromI(tekst):
n = len(tekst)
limit = n//2
for i in range(limit):
if tekst[i] != tekst[-i-1]:
return False
return True
tekst = input()
if (palindromI(tekst)): # moze se koristiti i palindromR(tekst)
print("Jeste")
else:
print("Nije")
zivotinje=['pas','macka','mis','majmun','slon']
print (zivotinje)
['pas', 'macka', 'mis', 'majmun', 'slon']
lista=list(range(1,10))
print (lista)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
lista=list(range(1,10,2))
print (lista)
[1, 3, 5, 7, 9]
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Elementi liste, indeksiranje
▪ Elementim liste se pristupa preko rednog broja pozicije – indeksa
▪ Indeks prvog elementa u listi je 0
8 -3
[9, 8, 7, -1]
[9, 7]
IndexError: list index out of range
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Promena vrednosti
▪ Elementima liste je moguće promeniti vrednost
lista = [2, 4, 6, 8]
lista[1] = 0
lista[-1] = 12
print (lista)
[2, 0, 6, 12]
A = [1,2,3,4,5]
B = [6,7,8,9]
C = A + B
print (C) [1, 2, 3, 4, 5, 6, 7, 8, 9]
print (A + B[1:-1]) [1, 2, 3, 4, 5, 7, 8]
B = 'Jovana'
C = A + B TypeError: can only concatenate list (not "str") to list
print (C)
B = ['Jovana']
C = A + B [1, 2, 3, 4, 5, 'Jovana']
print (C)
C = [0]
A = [1,2,3]
B = 3 * A
D = 4 * C
print(B, D)
[1, 2, 3, 1, 2, 3, 1, 2, 3] [0, 0, 0, 0]
6
3
5
TypeError: object of type 'int' has no len()
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Funkcije za rad sa listama
▪ Operator in
lista=[1,2,3,4,5]
print(5 in lista)
print(8 in lista)
if (not 10 in lista):
print(10,"nije u listi")
else:
print(10,"jeste u listi")
True
False
10 nije u listi
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Funkcije za rad sa listama
▪ Dodavanje elemenata na kraj liste – append, extend
lista = [1,2,3]
lista.append([4,5])
print (lista) [1, 2, 3, [4, 5]]
lista.append(6)
print (lista) [1, 2, 3, [4, 5], 6]
lista.extend([7,8])
print (lista) [1, 2, 3, [4, 5], 6, 7, 8]
lista.extend(9) TypeError: 'int' object is not iterable
A = [1, 2, 3, 4, 5]
A.insert(2,0)
print (A)
[1, 2, 0, 3, 4, 5]
A.insert(4,['a','b','c'])
print (A)
A = [1,13,-2,6,101,28,44,17,-27]
print (min(A), max(A))
A = ['Danijela', 'Anabela', 'Marko', 'Katarina', 'Nikola']
print (min(A), max(A))
A = [2, 3, 4, [1, 6], 5]
print (min(A), max(A))
-27 101
Anabela Nikola
TypeError: '<' not supported between instances of 'list' and 'int'
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Funkcije za rad sa listama
▪ Broj ponavljanja elementa – count
A = [2, 3, 4, 1, 7, 2, 3, 1, 1, 0, 9, 5]
print (A.count(1))
odeljenje = ['Ana', 'Marko', 'Jovana', 'Darko', 'Jovana']
print (odeljenje.count('Jovana'))
A = [2, [3, 4], 1, [3, 4], 3, 1, 1, 0, 9, 5]
print (A.count(3), A. count([3,4]))
3
2
1 2
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Funkcije za rad sa listama
▪ Brisanje elementa iz liste – del, pop, remove
A=[1, 2, 3, 4, 5, 6, 7, 4, 8, 9]
del(A[3])
print (A) [1, 2, 3, 5, 6, 7, 4, 8, 9]
A.pop(1)
print (A) [1, 3, 5, 6, 7, 4, 8, 9]
A.pop()
print (A) [1, 3, 5, 6, 7, 4, 8]
A.remove(5)
print (A) [1, 3, 6, 7, 4, 8]
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Funkcije za rad sa listama
▪ Sortiranje i okretanje elemenata liste – sort, reverse
A = [2,6,1,9,3,5,4]
A.sort()
print (A) [1, 2, 3, 4, 5, 6, 9]
A.reverse()
print (A) [9, 6, 5, 4, 3, 2, 1]
A = ['Pera', 'Laza', 'Mika', 'Aca']
A.sort()
print (A) ['Aca', 'Laza', 'Mika', 'Pera']
L = ['Tata','kaže','U','laži','su','kratke' ,'noge']
recenica=' '.join(L)
print(recenica)
5
[0, 1, 4, 9, 16]
>>>
lista = [1, 2, 3, 4, 5, 6, 7, 8]
nova_lista = [x for x in lista if x % 2==0]
print(nova_lista)
[2, 4, 6, 8]
>>>
lista = [1, 2]
print('lista pre poziva', lista)
print('rezultat f(lista):', f(lista))
print('lista posle poziva', lista)
lista pre poziva [1, 2]
rezultat f(lista): []
lista posle poziva [1, 2, 100]
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Liste kao argumenti funkcija
▪ Ukoliko ne želimo da promenimo listu:
▪ lista se, pri navodjenju stvarnih parametara u pozivu funkcije, može kopirati u novu
listu
lista = [1, 2]
print('lista pre poziva', lista)
print('rezultat f(lista):', f(lista[:]))
print('lista posle poziva', lista)
lista pre poziva [1, 2]
rezultat f(lista): []
lista posle poziva [1, 2]
A=[]
n=int(input())
for i in range(n):
A.insert(i,int(input()))
print(A)
sortiranje(A)
print(A)
print(A)
sortiranje(A)
print(A)
A=[]
n=int(input())
for i in range(n):
A.insert(i,int(input()))
for i in range(n-1,-1,-1):
print(A[i])
b)
b=A[0] b=A.pop(0)
A.insert(n-1,b)
for i in range(0,n-1): print(A)
A[i]=A[i+1]
A[n-1]=b
print(A)
b)
b=A[n-1] b=A.pop()
A.insert(0,b)
for i in range(n-1,0,-1): print(A)
A[i]=A[i-1]
A[0]=b
print(A)
Za unet prvi član aritmetičkog niza, i razliku aritmetičkog niza, napraviti prvih
20 elemenata aritmetičkog niza i odštampati ih.
Napisati funkciju koja vraća listu prvih 100 Fibonačijevih brojeva. Nakon toga
filtrirati listu tako da sadrži samo parne elemente.
Izlaz:
[0, 2, 8, 34, 144, 610, ..., 51680708854858323072,
218922995834555169026]
l.append(0)
l.append(1)
def paranBroj(x):
if(x % 2 == 0):
return True
return False
lista = fibonacci()
#Filtriranje - prvi nacin
novaLista = [x for x in lista if x % 2 == 0]
#Filtriranje - drugi nacin
novaLista = list(filter(paranBroj, lista))
print(novaLista)
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Lista listi
Lista listi
▪ Svaki podataka u listi je lista
[[1, 2], [3]] - liste u okviru liste nemaju jednak broj elemenata
[[1, 2], [2, 5]] - lista ima dve liste i svaka od njih po dva elementa
kolone
for i in range(m):
for j in range(n):
matrix[i][j]=int(input())
print(matrix)
print(matrix[:][0])
print(ZbirPoObodu(matrix,m,n))
def ZbirPoObodu(e,m,n):
s=sum(e[0][:])+sum(e[m-1][:])#+sum(e[1:m-1][0])+sum(e[1:m-1][n-1])
for i in range(1,m-1):
s+=e[i][0]+e[i][n-1]
return s
n=int(input("Unesi dimenziju"))
for i in range(n):
for j in range(n):
matrix[i][j]=int(input())
print(ZbirParnihVrsta(matrix,n))
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Rečnici
Rečnici
▪ Rečnici su generalizovana verzija liste. Posmatrajmo listu koja sadrži broj dana u
mesecima godine
dana = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
▪ Ako hoćemo broj dana u mesecu januaru koristimo dana[0], ili u decembru dana[11]
ili dana[-1]
▪ Rečnik dana u mesecima godine:
dani ={'Januar':31, 'Februar':28, 'Mart':31, 'April':30,
'Maj':31, 'Jun':30, 'Jul':31, 'Avgust':31,
'Septembar':30, 'Oktobar':31, 'Novembar':30, 'Decembar':31}
▪ Sada pristupamo sa:
dani['Januar']
▪ Prednost: kod je čitljiv i ne treba razmišljati o indeksu
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Osnovne operacije sa rečnicima
ključ vrednost
d = {'A':100, 'B':200}
▪ Promena vrednosti:
d['A'] = 400
▪ Dodavanje novog elementa u rečnik:
d['C'] = 500
Ovo nije moguće sa listama. Ako napišemo L[2]=500 za listu L koja ima samo dva elementa
L[0] i L[1], dobićemo grešku: „index out of range“
▪ Brisanje elementa iz rečnika:
del d['A']
▪ Prazan rečnik je {}, čemu je analogno [] za praznu listu, ili '' za prazan string.
▪ U igri Scrabble, svakom slovu je pridružena vrednost. Možemo koristiti sledeći rečnik za
vrednost slova u njemu:
špil[0]['vrednost']
špil[0]['boja']
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Rad sa rečnicima
d = {‘A’:100, ‘B’:200}
▪ Kopiranje rečnika:
d2=d.copy()
▪ Operator in se koristi da nam kaže da li je neki ključ u rečniku ili nije.
▪ Ako pokušamo da dobijemo vrednost nekog ključa koji nije u rečniku dobićemo grešku.
▪ print(d['C’]) - greška
▪ Možemo da sprečimo grešku korišćenjem operatora in. Pre upotrebe nekog ključa,
možemo da proverimo da li je u rečniku.
Metoda pop() briše pridruživanje za zadati ključ i tom prilikom vraća vrednost koja se
izbacuje iz rečnika.
print(tabela.pop(2), tabela)
Italija {1: 'Srbija', 3: 'Francuska', 4: 'Spanija’}
tabela.pop(5)
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
tabela.pop(5)
KeyError: 5
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Rad sa rečnicima
d = {‘A’:100, ‘B’:200}
▪ Može se napraviti petlja kroz rečnik na sličan način kao i kod liste.
▪ Štampanje svih ključeva rečnika:
for kljuc in d:
print(kljuc)
▪ Štampanje vrednosti iz rečnika:
for kljuc in d:
print(d[kljuc])
d = {'A':100, 'B':200}
▪ Parovi koje vraća d.items() nazivaju se torke (tuples). Torke su slične listama.
['A', 'C']
d = dict([('A',100),('B',300)])
{'A':100, 'B':300}
koordinate = gradovi[grad]
print(koordinate)
▪ Jedan od razloga zašto postoje i liste i torke je što su nam u nekim situacijama
potrebne nepromenljive liste. Na primer:
▪ lista ne može da bude ključ u rečniku (lista se može menjati, problem je kako pratiti
promene ključa)
▪ torke mogu da igraju ulogu ključa u rečnicima.
▪ Brže od listi
▪ Za konverziju nekog objekta u torku koristimo funkciju tuple.
t1 = tuple([1,2,3]) (1, 2, 3)
t2 = tuple('abcde’) ('a', 'b', 'c', 'd', 'e')
▪ Prazna torka je ().
▪ Torka sa jednim elementom (1,).
▪ (1) matematički izraz koji ima vrednost 1.
Operator Opis
S.add(x) Dodaje x u skup
S.remove(x) Sklanja x iz skupa
S.issubset(A) Vraća True ako je S ⊂ A, a False ako nije
S.issuperset(A) Vraća True ako je A ⊂ S, a False ako nije.
[1,2,3,4,5]
Na standardni izlaz ispisati jedan red koji sadrži naziv najčešće kupovanog
proizvoda, jedan razmak i broj puta koliko je taj proizvod kupljen. Ako je više
proizvoda kupljeno isti broj puta, ispisati onaj koji je prvi po abecednom
redosledu.
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Zadatak 1
Ulaz:
9
jabuka
hleb
kruska
jabuka
sljiva
hleb
mleko
jabuka
hleb
Izlaz:
hleb 3
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Zadatak 1
recnik = dict()
n = int(input())
for i in range(n):
proizvod = input()
if (recnik.get(proizvod) == None):
recnik[proizvod] = 1
else:
recnik[proizvod] += 1
Max = list(recnik.items())[0]
print("---------------")
s = input()
for slovo in s:
novoSlovo = pretvoriKarakter(slovo)
print(novoSlovo, end='')
PredjeniPut([20,18,22,17],[1200,1680,2900,3700])
19.751351351351353
73080
print(Polinom([1,-2,3],2))
9
KvJed("-3x^2+2x-1=0")
KvJed("x^2-2x-2=0")
Institut za matematiku i informatiku, Prirodno-matematički fakultet, Uiverzitet u Kragujevcu
Zadatak 6
▪ Napisati algoritam i program kojim se za unete prirodne brojeve m i n (1 ≤
m, n ≤ 20) koji predstavljaju dimenzije matrice, unose celi brojevi koji
predstavljaju elemente matrice po vrstama i prirodni brojevi l i k (1 ≤ l, k ≤
m), a zatim razmenjuje vrednosti elementima u vrstama l i k.
print(matrix)