Professional Documents
Culture Documents
SP Dom1 2008
SP Dom1 2008
Zadatak 1
Ivana posmatra teniske meeve na turniru u Tivtu. Za vrijeme zagrijavanja
igraa na ekranu su se pojavile njihove statistike. Ivani je zapela za oko
istorija meeva dvaju igraa. Primijetila je da neto nije u redu sa
prethodnim rezultatima, tj. da neki od njih nisu ispravni. Dosjetila se da trai
od vas da joj napiete program koji provjerava rezultate.
Teniski me sastoji se od setova, a svaki set od gemova. Vae sljedea
pravila:
Igra dobija set ako ima 6 ili vie gemova, i barem dva gema vie od
protivnika.
Posebno, u prvom ili drugom setu (ali ne i u treem), ako je rezultat
6:6, igra se jo jedan zadnji gem u kojem se odluuje pobjednik tog
seta (tzv. tie-break).
Me zavrava kad jedan od igraa osvoji dva seta. Taj igra je
pobjednik.
Rezultat je ispravan ako je mogu me koji se odvija prema gornjim
pravilima, a zavrava tim rezultatom.Dodatno, ako je jedan od igraa Roe
Federer (u ulazu "federer"), onda rezultat u kojem je on izgubio neki set ne
moe biti ispravan (jer opte je poznato da je Federer vanzemaljac i da nikad
ne gubi meeve).
Napiite program koji e pomoi Ivani da provjeri ispravnost rezultata
svakog mea.
Ulazni podaci
U prvom redu nalaze se imena dvaju igraa odvojena jednim razmakom. Oba
imena su nizovi od po najvie 20 malih slova engleske abecede. Imena e biti
razliita.
U drugom redu nalazi se prirodan broj N (1 N 50), broj dosadanjih
susreta dvaju igraa.
Svaki od sljedeih N redova sadri rezultat po jednog mea, koji se sastoji od
rezultata pojedinih setova odvojenih po jednim razmakom. Broj setova u
svakom meu je izmeu 1 i 5.
Rezultati setova su u obliku "A:B", gdje su A i B brojevi gemova koje je
osvojio svaki od igraa. Ti brojevi su cijeli, izmeu 0 i 99 (ukljuivo).
Izlazni podaci
izlaz
da
ulaz
federerroddick
1
2:64:6
izlaz
ne
6:26:4
3:67:52:6
6:57:4
7:67:6
6:23:6
6:21:66:8
da
ne
da
ne
da
Zadatak 2
Aleksa i Nikola postavljaju tenkie na drvenu plou podijeljenu na N * N
kvadratia. Tenk se moe u jednom potezu pomaknuti na jedno od etiri
susjednih polja i taj pomak nazivamo korakom. Kaemo da tenk uva red i
kolonu u kojem se nalazi. Ni u kojem trenutku na istom polju ne smiju biti
dva ili vie tenka.
Nakon vie sati igranja, Nikolina mama ih je pozvala na ruak, a oni su
odluili postaviti tenkove tako svaki tenk uva jednu kolonu i jedan red,
odnosno da se u svakom redu i svakoj koloni nalazi tano jedan tenk. To
moraju uraditi u minimalnom broju koraka.
Napiite program koji e pronai minimalni broj koraka potreban za
postavljanje tenkova, svaki u svoj red i kolonu, te niz koraka koji je potrebno
uiniti.
Ulazni podaci
U prvom redu nalazi se prirodan broj N (5 N 500).
U sljedeih N redova nalaze se po dva broja R i S (1 R, S N) koji
oznaavaju red i kolonu u kojem se pojedini tenk nalazi u trenutku kad je
Nikolina mama zvala na ruak. Nijedna dva tenka ne nalaze se na istom
polju.
Redovi su numerisani odozgo prema dolje, a kolone slijeva na desno. Tenkovi
su numerisani od 1 do N redom kojim su navedeni u ulazu.
Izlazni podaci
ulaz
5
2 3
3 2
3 3
3 4
4 3
izlaz
8
1 R
1 R
2 U
2 U
4 D
ulaz
6
1 1
1 2
2 1
5 6
6 5
6 6
izlaz
8
2 R
2 D
3 D
3 R
2
3
1
2
1
D
D
D
D
D
4 D
5 L
5 L
4
4
5
5
U
L
L
U
Zadatak 3
Matija gleda na teletekstu rezultate fudbalskih utakmica i tabelu lige. U
tabeli se za svaku ekipu nalazi pet podataka: ukupan broj odigranih
utakmica, broj pobjeda, broj nerijeenih utakmica, broj poraza i broj bodova.
Ekipa za svaku pobjedu dobija 3 boda, a za svaki nerijeen rezultat 1 bod.
Matija je primijetio da se vrijednosti nekih polja u tablici mogu odrediti iz
drugih.
Napiite program koji dopunjava tabelu u kojoj su vrijednosti nekih polja
nepoznate.
Podaci razliitih ekipa nisu povezani, npr. mogue je da u tablici pie da su
sve ekipe pobijedile u svim utakmicama (iako to u stvarnoj ligi nije mogue).
Za svaku ekipu je broj odigranih utakmica najvie 100.
Ulazni podaci
U prvom redu nalazi se prirodan broj N (1 N 1000), broj ekipa u ligi.
Svaki od sljedeih N redova sadri po pet polja tabele za jednu ekipu
odvojenih po jednim razmakom, redom pet podataka kao to je opisano u
tekstu zadatka. Polje tabele sadrava cijeli broj (najmanje 0) ako je
vrijednost polja poznata ili znak '?' (upitnik) ako je vrijednost nepoznata.
Ulazni podaci nee biti kontradiktorni i uvijek e biti mogue jednoznano
odrediti vrijednosti nepoznatih polja.
Izlazni podaci
Potrebno je tampati tabelu sa upisanim vrijednostima polja gdje nedostaju
u ulazu.
izlaz
27213366
27186360
27155750
26147549
27145847
Zadatak 4
Dat su sljedei tipovi
TYPE Datum = record
dan. mjesec, godina: integer
end;
Radnik = record
ime: string[30];
godine_staza:integer;
plata:real;
zaposlen:datum;
end;
NizRadnika = array[1..80] of Radnik;
1. Napisati funkciju DobarDatum koja ima jedan argument tipa Datum i
koja vraa TRUE ako je argument funkcije ispravan datum i FALSE
ako nije ispravan. Obratiti panju na prestupne godine (one koje su
djeljive sa 4 a nisu sa 100, a jesu sa 400. Npr. 2000, 1996 i 1892 su
prestupne a 1900, 1800 i 2007 nisu prestupne).
2. Napisati funkciju IskusniRadnici koja ima tri argumenta:
n broj radnika (prirodan broj)
rad - niz radnika od n elemenata
gran - realan broj
i koja tampa imena svih radnika iz niza rad koji imaju vie od gran
godina slube. Funkcija vraa broja takvih radnika.
Napisati program koji testira napisane funkcije.
Zadatak 5
Dat su sljedei tipovi
TYPE Tacka = record
x,y:real;
End;
Krug = record
Centar : tacka;
R : real; {r poluprecnik}
end;
NizKrugova = array[1..80] of Krug;
Scena = record
broj_elemenata:integer; {Manje od 80}
krugovi:NizKrugova;
end;
1.
2.
3.
4.
5.
6.
Zadatak 6
Napisati program koji uitava prirodan broj n i zatim n slova engleske
abecede i tampa sve mogue rijei sastavljene od uitanih slova u obrnutom
alfabetskom poretku. Napisati funkciju IstaSlova koja provjerava da li meu
uitanim slovima ima istih i vraa broj razliitih uitanih slova. Ako ima istih
slova, upozoriti korisnika da sva slova moraju biti razliita i uitavati slova
sve dok sva ne budu razliita. Npr., za ulaz n=3 i slova a m p treba
tampati:
pma
pam
mpa
map
apm
amp
Zadatak 7
Napisati procedure Zmija1, Zmija2 i Zmija3 koje imaju po tri argumenta:
prirodne brojeve m i n koji predstavljaju dimenzije matrice cijelih brojeva i
cio broj k i koja tampa zmijaste matrice koje poinju brojem k (vidi sliku) .
Zmija1, m=5,n=4,k=8
Zmija2, m=5,n=4,k=8
Zmija3, m=5,n=4,k=8
9
14
17
10
13
18
11
12
19
10
11
9
12
16
13
15
20
14
21
22
21
20
9
22
27
10 11
23 12
24 13
23
24
22
25
21
26
20
27
17
18
19
24
23
25
26
27
19
18
26
17
25
16
15
16
14
15