Tehnika kola Ruera Bokovia Vinkovci
PROJEKTNI ZADATAK IZ RAUNALSTVA
Zadatak [51]
Ime i prezime: Gustave Flaubert
Razred: 2. B
Vinkovci 2015.
I. ANALIZA ZAHTJEVA Zadatak [51]
Napravi program koji e obraditi rezultate prijamnog ispita. Na ispitu
je sudjelovalo n kandidata. Za svakog kandidata unosi se matini broj,
broj bodova iz osnovne kole i broj bodova ostvarenih na ispitu.
Poznato je da se u srednju kolu mogu upisati samo kandidati koji su
preli bodovni prag od x bodova, te da je 18 bodova maksimalan broj
bodova koje moe donijeti iz osnovne kole.
Program treba:
a. ispisati broj kandidata koji su preli bodovni prag,
b. ispisati podatke o najboljem kandidatu
c. ispisati broj kandidata s maksimalnim brojem bodova iz osnovne
kole i s nula ostvarenih bodova na prijamnom ispitu.
II. SPECIFIKACIJA PROBLEMA
ULAZNI PODACI
PODATAK OPIS PODATKA TIP PODATKA
n Broj kandidata int
x Bodovni prag int
maticni_broj Matini broj kandidata int
bodovi_osnovna Bodovi iz osnovne kole int
bodovi_ispit Bodovi s prijamnog ispita int
IZLAZNI PODACI
PODATAK VRSTA PODATKA TIP PODATKA
brkand Broj kandidata koji su
preli bodovni prag int
najbolji_kandidat Matini broj najboljeg
kandidata int
brnula
Broj kandidata koji imaju
maksimalno bodova iz osnovne
kole i nula bodova na
prijamnom ispitu
int
III. ODABIR ALGORITMA
PRIKAZ ALGORITMA PSEUDOJEZIKOM
ulaz (n);
ulaz (x);
brkand := 0;
maks := -9999;
brnula := 0;
za i:=1 do n initi {
ulaz (maticni_broj);
ulaz (bodovi_osnovna);
ulaz (bodovi_ispit);
ukupno_bodova := bodovi_osnovna + bodovi_ispit;
ako je ukupno_bodova >= x onda {
brkand := brkand + 1
}
ako je ukupno_bodova > maks onda {
maks := ukupno_bodova;
najbolji_kandidat := maticni_broj;
}
ako je bodovi_osnovna = 18 I bodovi_ispit = 0 onda {
brnula := brnula + 1
}
}
izlaz (brkand);
izlaz (najbolji_kandidat);
izlaz (brnula);
DIJAGRAM TIJEKA GRAFIKI PRIKAZ ALGORITMA
DA
NE
NE
NE
DA
DA
IV. KDIRANJE REALIZACIJA PROGRAMA U PYTHONU
n = int (input ('Unesi broj kandidata: '))
x = int (input ('Unesi bodovni prag za upis u srednju kolu: '))
brkand = 0 #broj kandidata koji su preli bodovni prag
maks = -9999
brnula = 0 #broj kandidata koji imaju nula iz ispita
#i 18 bodova iz osnovne
for i in range (1, n+1, 1):
print ('Unos podataka za', i, '. kandidata')
print ('-----------------------------------------------------')
maticni_broj = int (input ('Unesi matini broj kandidata: '))
bodovi_osnovna = int (input ('Broj bodova iz osnovne kole: '))
bodovi_ispit = int (input ('Broj bodova na ispitu: '))
ukupno_bodova = bodovi_osnovna + bodovi_ispit
if ukupno_bodova >= x:
brkand = brkand + 1
if ukupno_bodova > maks:
maks = ukupno_bodova
najbolji_kandidat = maticni_broj
if bodovi_osnovna == 18 and bodovi_ispit == 0:
brnula = brnula + 1
print ('Broj kandidata koji su preli bodovni prag:', brkand)
print ('Najbolji kandidat je:', najbolji_kandidat)
print ('Broj kandidata koji imaju 18 bodova iz osnovne i nula iz ispita:', brnula)
V. TESTIRANJE PROGRAMA
Izvravanje programa i unos vrijednosti (primjer testiranja ekran)