69747097 Reseni Zadaci Iz Programskog Jezika Pascal
Transcript of 69747097 Reseni Zadaci Iz Programskog Jezika Pascal
UNIVERZITET U NOVOM SADU
PRIRODNO-MATEMATIČKI FAKULTET
DEPARTMAN ZA
MATEMATIKU I INFORMATIKU
Pripremni zadaci za prijemni
ispit iz Programiranja
-Pascal-
morgensterncyber
Нови Сад
Pripremni zadaci za prijemni ispit iz programiranja
2
Kome je ova knjiga namenjena?
Ova knjiga odnosno zbirka zadataka je prvenstveno namenjena bududim studentima koji nameravaju da
upišu Prirodno-matematički fakultet Novom Sadu i to sledede smerove:
- Informatika
- Matematika
- Primenjena matematika
U zbirci se nalazi 145 detaljno uradjenih zadataka.
Ovu zbriku može koristiti svako ko je zainteresovan za učenje osnova programiranja u pascalu.
Svi programi u zbirka testirani su u Turbo Pascalu 7 i Delphi 7.
Ova zbirka ne sadrži teorijske osnove programiranja!
Zbirku je sastavio srednjoškolac tako da su mogude greške kao da neka rešanja zadataka nisu baš najbolja!
**** Iza ove zbirke ne stoji Prirodno-matematički fakultet !!! ****
Pripremni zadaci za prijemni ispit iz programiranja
3
1.Programi sa prostom linijskom strukturom
1. Napisati program koji na ekran ispisuje poruku
“Hello World”.
Begin
writeln('Hello World');
readln
end.
2. Napisati program koji izračunava zbir dva uneta
broja.
var
broj1,broj2,rez:integer;
begin
writeln('Unesite broj1:');
readln(broj1);
writeln('Unesite broj2:');
readln(broj2);
rez:=broj1+broj2;
writeln('Broj1+Broj2=',rez);
readln
end.
3.Napisati program koji izračunava zapreminu na
osnovu unete dužine,širine i visine.
var
duzina,sirina,visina,zapremina:integer;
begin
write('Unesite duzinu:');
readln(Duzina);
write('Unesite sirinu:');
readln(Sirina);
write('Unesite visinu:');
readln(Visina);
Zapremina:=Duzina*Sirina*Visina;
writeln('Zapremina bazena iznosi:',zapremina,'m^2');
readln
end.
4. Napisati program koji odredjuje koliko se puta prvi
uneti broj sadrži u drugom unetom broju kao i njihov
ostatak deljenja.
var
broj1,broj2,brojDiv,BrojMod:integer;
begin
write('Unesite broj1:');
readln(broj1);
write('Unesite broj2:');
readln(broj2);
BrojDiv:=Broj1 div Broj2;
brojMod:=Broj1 mod Broj2;
writeln('Broj1 sadrzi broj2:',BrojDiv,'puta');
writeln('Ostatak deljenja je:',BrojMod);
readln
end.
5. Napisati program koji unetu vrednost dužine u cm
pretvara u inče. 1 inč = 2.54 cm
const
inch=2.54;
var
velicina,rez:Currency;
begin
write('Unesite velicinu u cm:');
readln(Velicina);
rez:=Velicina/inch;
writeln(Rez:5:2);
readln;
end.
Pripremni zadaci za prijemni ispit iz programiranja
4
6. Napisati program koji unetu veličinu u galonima
pretvara u litre. 1 galon = 4.54 l
var
galon,litri:real;
begin
write('Unesite kolicinu tecnosti u galonima:');
readln(galon);
litri:=galon*4.54;
writeln(litri:5:2);
readln
end.
7. Automobil sa punim rezervoarom kapacitet V litara
predje put od S kilometara.Napisati program kojim se
računa potrošnja u litrama na 100 km.
var
v,s:real;
begin
write('Unesite kapacitet rezervoara:');
readln(v);
writeln('Unesite predjeni put:');
readln(s);
writeln('Potrosnja na 10 km je:',V*100/s:6:2,' l');
readln
end.
8. Napisati program kojim se računa hipotenuza i
površina pravouglog trougla na osnovu zadatih kateta.
var
a,b,c,P:real;
begin
write('Unesite a katetu:');
readln(a);
write('Unesite b katetu:');
readln(b);
c:=sqrt(sqr(a)+sqr(b));
p:=(a*b)/2;
writeln('Hipotenuza je:',c:6:2,'Povrsina je:',P:5:2);
readln
end.
9. Napisati program koji prevodi težinu iz funti u kg (1
funta = 400g)
var
kg,funta:real;
begin
writeln('Unesite tezinu u funtama:');
readln(funta);
kg:=funta*0.4;
writeln('Tezina je:',kg:10:2);
readln;
end.
10. Napisati program koji izračunava cenu porcije sira x
grama,ako je 1kg sira 165 dinara.
var
x:real;
begin
write('Unesite tezinu porcije:');
readln(x);
writeln('Cena porcije je:',0.165*x:10:2,'din');
readln
end
Pripremni zadaci za prijemni ispit iz programiranja
5
11. Napisati program koji pomaže kasirki da
obračuna kusur,tako što od nje traži da unese
jediničnu cenu artikla i koliko novca dobije od kupca.
var
cena,kolicina,iznos:real;
begin
write('Unesite cenu aritkla:');
readln(cena);
write('Unesite kolicinu artikla:');
readln(kolicina);
write('Unesite iznos koji daje kupac:');
readln(iznos);
writeln('Kusur je:',iznos-cena*kolicina:10:2);
readln
end.
12. Napisati program kojim se računa potrebno
vreme za download unete veličine fajla,pri unetoj
brzini. Program treba da ispiše za koliko de se sati,
minuta i sekundi skinuti fajl.
var
kolicina,brzina:real;
sat,sek,min,rez:integer;
begin
write('Unesite kolicinu mb za download:');
readln(kolicina);
write('Unesite brzinu downloada u KB/s:');
readln(brzina);
rez:=Trunc(((Kolicina*1024)/brzina));
writeln(rez);
sat:=rez div 3600;
sek:=rez mod 3600;
min:=sek div 60;
sek:=sek mod 60;
writeln('Potrebno je vreme:',sat:5,' h',min:5,'
min',sek:5,' sek');
readln
end.
13. Napisati program koji računa ukupan broj poena
učenika,tako što korisnik unosi svoj uspeh četiri školske godine
(koji ne sme biti manji od 2,a ni vedi od 5 u suprotnom program
treba da ispiše „Greška u unosu“) kao i broj poena na
prijemnom ( koji ne sme biti manji od 0 niti vedi od 60).
var
Prva,Druga,Treca,Cetvrta,Skola,Prijemni,Bodovi:real;
begin
write('Unesite uspeh u I godini:');
readln(Prva);
write('Unesite uspeh u II godini:');
readln(Druga);
write('Unesite uspeh u III godini:');
readln(Treca);
write('Unesite uspeh u IV godini:');
readln(Cetvrta);
write('Unesite broj osvojenih poena na prijemnom:');
readln(Prijemni);
skola:=(prva+druga+treca+cetvrta)*2;
Bodovi:=Skola+Prijemni;
if (Prva>=2) and (prva<=5) and (druga>=2) and (druga<=5) and
(treca>=2) and (treca<=5) and (cetvrta>=2) and (cetvrta<=5)
and (prijemni<=60) and (prijemni>=0) then
writeln('Ukupan broj bodova je ',bodovi:5:2)
else
writeln('Pogresili ste negde u unosu podataka!');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
6
14. Napisati program koji izračunava obim i površinu
kvadrata i program koji izračunava površinu i obim
pravougaonika.
a)Površina i obim kvadrata
var
a,p,o:real;
begin
write('Unesite duzinu stranice:');
readln(a);
p:=sqr(a);
o:=4*a;
writeln('Povrsina kvadrata je:',p:6:2,' Obim je:',o:6:2);
readln
end.
b) Površina i obim pravougaonika
var
a,b,p,o:real;
begin
write('Unesite a:');
readln(a);
write('Unesite b:');
readln(b);
p:=a*b;
o:=2*(a+b);
writeln('Povrsina je:',p:6:2,' Obim je:',o:6:2);
readln
end.
15. Dat je ugao u stepenima na dve decimale. Napisati
program koji za date vrednosti ugla izračunava ugao u
stepenima i minutama.
var
s:real;
step,min:integer;
begin
write('Unesite ugao u stepenima:');
readln(s);
step:=trunc(s);
min:=round((s-trunc(s))*60);
writeln(s:10:2,' stepeni je:',step,' stepeni ',Min,' minuta');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
7
2.Programi sa razgranatom strukturom
16. Napisati program kojim se odredjuje koji je od dva
uneta broja vedi i ispisuje poruku o tome.
var
broj1,broj2:integer;
begin
write('Unesite broj1:');
readln(broj1);
write('Unesite broj2:');
readln(broj2);
if broj1>broj2 then
writeln('Broj1 je veci od broja2')
else
writeln('Broj2 je veci od broja1');
readln
end.
17.Prethodni zadatak izmeniti tako da ukoliko su brojevi
jednaki program ispiše poruku o tome.
var
broj1,broj2:integer;
begin
write('Unesite broj1:');
readln(broj1);
write('Unesite broj2:');
readln(broj2);
if broj1>broj2 then
writeln('Broj1 je veci od broja2')
else if broj1=broj2 then
writeln('Brojevi su jednaki')
else writeln('Broj2 je veci od broja1');
readln
end.
18. Imamo da je C = 5 korisnik unosi vrednost A i B. Ako je A
vede od B vrednost C de se uvedati za 12. U suprotnom C de
ostati 5.
var
a,b,c:integer;
begin
c:=5;
writeln('Unesite a:');
readln(a);
writeln('Unesite b:');
readln(b);
if a>b then
c:=c+12;
writeln('C=',C:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
8
19. Napisati program kojim se promenljivoj Max dodeljuje
vedi od dva uneta broja.
var
a,b,max:integer;
begin
write('Unesite a i b:');
readln(a,b);
if a>b
then max:=a
else max:=b;
writeln('Max=',max);
readln
end.
20. Primenom min-max algoritma uraditi prethodni
zadatak.
var
a,b,max:integer;
begin
write('Unesite a i b:');
readln(a,b);
if a>b
then max:=a
else max:=b;
writeln('Max=',max);
readln
end.
21. Napisati program kojim se proverava da li je uneti broj
paran ili nije.
var
broj:integer;
begin
write('Unesite broj:');
readln(broj);
if broj mod 2=0 then
writeln('Broj je paran')
else
writeln('Broj je neparan');
readln
end.
22. Napisati program koji izračunava kv.koren unetog
broja.Ako je ulazni podatak nekonkretan ispisuje se
odogovarajuda poruka.
var
x:real;
begin
write('Unesite broj:');
readln(x);
if x>=0 then
writeln('Kvadratni koren iz x= ',x:0:2,' je ',sqrt(x):0:2)
else writeln('Ne postoji kvadratni koren negativnog broja');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
9
23 .Napisati program koji zavisno od učitane
vrednosti,izračunava vrednost funkcije ili daje poruku da je
funkcija nedefinisana
var
x:real;
begin
write('Unesite broj:');
readln(x);
if sqr(x)>=1
then writeln('y=',sqrt(sqr(x)-1):0:2)
else writeln('Nekonkretan ulazni podatak');
readln
end.
24. Napisati program koji za učitava dva realna broja A i B i
ispituje da li su istog znaka.
var
a,b:integer;
begin
write('Unesite A:');
readln(a);
write('Unesite B:');
readln(b);
if A*B>0 then
writeln('DA')
else
writeln('NE');
readln
end.
25 .Za tri učitana broja ispitati da li je jedan do njih
jednak sumi druga dva broja.
var
a,b,c:integer;
begin
writeln('Unesite A:');
readln(A);
writeln('Unesite B:');
readln(B);
writeln('Unesite C:');
readln(C);
if (A=B+C) or (B=A+C) or (C=A+B)
then writeln('DA')
else writeln('NE');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
10
26 .Napisti niz naredbi kojim se sumiraju
samo pozitivne vrednosti promenljivih
a,b,c.
var
a,b,c,suma:integer;
begin
suma:=0;
writeln('Unesite a:');
readln(a);
writeln('Unesite b:');
readln(b);
writeln('Unesite c:');
readln(c);
if a>0 then
suma:=suma+a;
if b>0 then
suma:=suma+b;
if c>0 then
suma:=suma+c;
writeln('Suma je:',suma);
readln
end.
27.Napisati program koji izračunava površinu kružnog poprečnog
preseka na osnovu spoljašnjeg i unutrašnjeg poluprečnika
(kontrolišudi tačnost unetih podataka).
var
r1,r2,p:real;
begin
write('Unesite spoljasnji poluprecnik:');
readln(r1);
write('Unesite unutrasnji poluprecnik:');
readln(r2);
if r1>r2 then
begin
p:=2*pi* (sqr (r1)-sqr(r2));
writeln('Povrsina kruznog prstena je:',P:0:2);
end
else
writeln('Greska! Spoljasnji poluprecnik mora biti veci od
unutrasnjeg!');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
11
28 .Napisati program koji na osnovu trajanja
telefonskog razgovora i cene u minutama
izračunava cenu telefonskog razgovora,ako je
vikendom popust od 10%.U programu treba
predvideti unos indikatora za dan razgovora 1-radni
dan,2-vikend.
var
trajanje,cenaPoMin,Cena:real;
Dan:integer;
begin
write('Unesite vreme trajanja razgovora:');
readln(trajanje);
write('Unesite cenu po minutama:');
readln(CenaPoMin);
write('Unesi:1-Radni dan,2-Vikend:');
readln(dan);
cena:=Trajanje*CenaPoMin;
if dan=2 then cena:=cena*0.90;
writeln('Cena razgovora je:',Cena:0:2,'din');
readln
end.
29.Napisati program koji izračunava iznos poreza za
unetu platu. Ako je bruto plata veda od iznosa
1000e porez je 20%,inače je porez 15%.
var
plata,porez:real;
begin
write('Unesite platu:');
readln(Plata);
if plata > 1000
then porez:=plata*0.2
else porez:=plata*0.15;
writeln('Porez je:',porez:0:2);
readln
end.
30.Napisati program koji na osnovu visine osobe odredjuje
težinu.Idealna težina osobe muškog pola je manja od visine za
100,a ženskog pola za 110.Predvideti unos identifikatora pola 1-
muski,2-ženski pol.
var
visina,idealnatezina:real;
pol:integer;
begin
writeln('Unesi visinu:');
readln(visina);
write('Pol(1-Muski,2-Zenski)->');
readln(pol);
if pol=1
then idealnatezina:=visina-100
else idealnatezina:=visina-110;
writeln('Idealna tezina je:',idealnatezina:0:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
12
31.Napisati program koji na osnovu unete visine,težine i indikatora pola osobe ispisuje odgovarajudu
poruku: “Vi imate idealnu težinu,treba da se poravite..kg,treba da smršate kg...
var
v,t,it:real; {idelna tezina}
p:integer;
begin
write('Unesite visinu:');
readln(v);
write('Unesite tezinu:');
readln(t);
write('Pol(1-muski,2-zenski)->');
readln(p);
if p=1
then it:=v-100
else it:=v-110;
if it=t
then writeln('Imate idealnu tezinu:')
else
if it>t
then writeln('Treba da se popravite:',it-t:0:2,'kg')
else writeln('Treba da smrsate:',t-it:0:2,'kg');
readln
end.
32.Napisati program kojim se izračunava ukupan otpor R koji daju otpornici R1 i R2 zavisno od tipa veze i
to: 1-redno,2-paralelno
var
r1,r2,r:real;
v:integer;
begin
write('Unesite R1:');
readln(r1);
write('Unesite R2:');
readln(r2);
writeln('Tip veze (1-redno,2-paralelno)->');
readln(v);
if v=1
then r:=r1+r2
else r:=r1*r2/(r1+r2);
writeln('Ukupni otpor je:',r:0:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
13
l
33.Napisati niz naredbi kojima se odredjuje koliko je vrednosti unetih promenljivih
a,b,c jednako nuli.
var
a,b,c,br:integer;
begin
write('Unesite a:');
readln(a);
write('Unesite b:');
readln(b);
write('Unesite c:');
readln(c);
br:=0;
if a=0 then br:=br+1;
if b=0 then br:=br+1;
if c=0 then br:=br+1;
writeln('Zbir promenljivih jednakih nuli:',br);
readln
end.
34 .Napisati program kojim se proverava da li kroz datu tačku (a,b) prolazi grafik
funkcije
var
a,b:integer;
begin
write('Unesite a i b:');
readln(a,b);
if b=5*a*a-7*a+2 then
writeln('Grafik prolazi kroz tacku')
else
writeln('Grafik ne prolazi kroz tacku');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
14
35. Napisati program koji od korisnika učitava godinu (broj izmedju 1538 i 10000) i utvrdjuje da li je ona prestupna.
Po gregorijanskom kalendaru prestupne godine odredjuju se na slededi način:
-ako je godina deljiva sa 400,prestupna je (npr.2000 godina je prestupna)
-ako godina nije deljiva sa 400,ali je deljiva sa 100,nije prestupna (npr.1900. godina nije prestupna)
-ako godina nije deljiva sa 100,ali je deljiva sa 4,prestupna je (npr.2004 godina je prestupna)
-ako godina nije deljiva nije 100 deljiva sa 4,nije prestupna (npr.2001. nije prestupna)
var
g:integer;
begin
readln(g);
if (g<1538) or (g>10000) then
writeln('Unesite broj izmedju 1538 i 10000')
else if g mod 400=0 then
writeln('Prestupna je')
else if g mod 100 = 0 then
writeln('Nije prestupna')
else if g mod 4 = 0 then
writeln('Prestupna je')
else
writeln('Nije prestupna');
readln
end.
36. Ako se molekul sumporne kiseline H2SO4 sastoji od dva automa vodonika,jednog atoma kiseonika,napisati
program koji odredjuje maksimalan boj molekula sumporne kiseline koji se može formirati od datih A atoma
vodonika,B atoma sumpora i C atoma kiseonika.
Traženi broj molekula je min (A div 2,B,C div 4) na cemu se bazira resenje
var
min,A,B,C:integer;
begin
write('Unesite broj molekula vodonika,sumpora i kiseonika:');
readln(a,b,c);
min:=A div 2;
if B<min then min:=B;
if C div 4<min then min:=C div 4;
writeln('Moze se napraviti', min,' molekula sumporne kiseline');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
15
37. Ako se od odečaka sa dužinama x,y,z može
konstruisti trougao,izračunati njegovu površinu po
formuli:
gde je
var
x,y,z,p,s:real;
R:boolean;
begin
write('Unesite x,y,z:');
readln(x,y,z);
writeln(' x=',x,' y=',y,' z=',z);
R:=(x+y>z) and (x+z>y) and (y+z>x);
if R
then
begin
p:=(x+y+z)/2;
s:=sqrt(p*(p-x)*(p-y)*(p-z));
writeln('Povrsina trougla je:',s:6:2);
readln
end
else writeln('Ne moze se konsturisati trougao');
readln
end.
38. Napisati program kojim se dati brojevi a,b i c
udvostrucuju,ako je a≥b≥c ,a u protivnom se zamenjuju
apsolutnim vrednostima.
var
a,b,c:integer;
begin
write('Unesite a,b,c:');
readln(a,b,c);
if (a>=b) and (b>=c)
then
begin
a:=2*a;b:=2*b;c:=2*c
end
else
a:=abs(a);b:=abs(b);c:=abs(c);
writeln('a=',a,' b=',b,' c=',c);
readln
end.
39.Napisati program kojim se rešava jednačina
ax+b=0
var
a,b,x:real;
begin
write('Unesite a:');
readln(a);
write('Unesite b:');
readln(b);
x:=-b/a;
writeln('Resenje jednacine je x=',x:8:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
16
40.Napisati program kojim se se izračunava y po
formuli:
var
x,y:real;
begin
write('Unesite argument:');
readln(x);
if x<0
then y:=-2*x+1
else if x<1
then y:=x
else y:=sqr(x);
writeln('y=',y:0:2);
readln
end.
41. Napisati program kojim se ispisuje da li su dati celi
brojevi A,B,C uredjeni u neopadajudem poretku
(A≤B≤C).Ispisti odgovarajudu poruku.
var
a,b,c:real;
begin
write('Unesite a,b,c:');
readln(a,b,c);
if (a<=b) and (b<=c)
then writeln('Brojevi su uredjeni u neopadajucem
poretku')
else writeln('Brojevi nisu uredjeni u nepodajucem
poretku');
readln
end.
42. Napisati program kojim se dva data realna broja
premeštaju tako da važi poredak A≤B
var
a,b,p:real;
begin
write('Unesite u jednoj liniji A,B:');
readln(a,b);
if a>b then
begin {obezbedjuje poredak a<=b}
p:=a;a:=b;b:=p;
end;
writeln(a:10:2,b:10:2);
readln
end.
43. Napisati program kojim se vrednosti tri broja premeštaju
tako da važi poredak A≤B≤C
var
a,b,c,p:real;
begin
write('Unesite a,b,c:'); readln(a,b,c);
if a>b then {obezbedjuje predak A<=B}
begin
p:=a;a:=b;b:=p
end;
if a>c then
begin
p:=a;a:=c;c:=p {obezbedjuje poredak A<=B,C}
end;
if b>c then {obezbedjuje poredak A<=B<=C}
begin
p:=b;b:=c;c:=p
end;
writeln(a:10:2,b:10:2,c:10:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
17
44. Napisati program koji za tri uneta broja A,B,C
odredjuje zbir dva najmanja.
var
a,b,c,p:real;
begin
write('Unesite a,b,c:');
readln(a,b,c);
if a>b
then
begin
p:=a;a:=b;b:=p;
end;
if a>c
then
begin
p:=a;a:=c;c:=p;
end;
if b>c
then
begin
p:=b;b:=c;c:=p;
end;
writeln(a+b:10:2);
readln
end.
45. Napisati program koji za dve različite promenljive A i B
ispituje da li je veda od njih deljiva sa manjom bez ostatka.
var
broj1,broj2:integer;
begin
write('Unesite broj1:');
readln(broj1);
write('Unesite broj2:');
readln(broj2);
if broj1>broj2 then
begin
if broj1 mod broj2 = 0 then
writeln('Broj1 je deljiv brojem2')
else
writeln('Broj1 nije deljiv brojem2')
end
else if broj2>broj1 then
begin
if broj2 mod broj1 = 0 then
writeln('Broj2 je deljiv brojem1')
else
writeln('Broj2 nije deljiv brojem1')
end;
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
18
46.Napisati naredbu uslovnog prelaska kojom se
vrednosti promenljive f izračunavaju po formuli.
var
a,b,f:integer;
begin
write('Unesite a:');
readln(a);
write('Unesite b:');
readln(b);
if a mod 2 <> 0 then
begin
f:=a+b;
end
else if a mod 2 = 0 then
begin
f:=a*b;
end;
writeln(f);
readln
end
47. Upotrebom složene forme uprostiti slededi segment
programa.
If a>b then c:=1;
If a>c then d:=2;
If a<=b then c:=3;
If a<=b then d:=4;
var
a,b,c,d:integer;
begin
write('a:');
readln(a);
write('b:');
readln(b);
if a>b then
begin
c:=1;b:=2;
end
else if a<=b then
begin
c:=3;
d:=4;
end;
write('a=',a,' b=',b,'c=',c,' d=',d);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
19
47. Upotrebom složene forme uprostiti slededi segment
programa.
If a>b then c:=1;
If a>c then d:=2;
If a<=b then c:=3;
If a<=b then d:=4;
var
a,b,c,d:integer;
begin
write('a:');
readln(a);
write('b:');
readln(b);
if a>b then
begin
c:=1;b:=2;
end
else if a<=b then
begin
c:=3;
d:=4;
end;
write('a=',a,' b=',b,'c=',c,' d=',d);
readln
end.
48.Napisati naredbu uslovnog prelaska kojom se za
dato x po formuli izračunava y
var
x,y:integer;
begin
write('Unesite x:');
readln(x);
if x<0 then y:=-5
else if x<1 then y:=x+2
else if x<5
then y:=3*x-1
else y:=2*x;
writeln(y);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
20
50. Napisati naredbu uslovnog prelaska kojom se za
dato x izračunava y po formuli:
var
x,y:integer;
begin
write('Unesite x:');
readln(x);
if x<0 then y:=-1
else if x=0
then y:=0
else y:=1;
writeln(y);
readln
end.
51. Napisati naredbu uslovnog prelaska kojim se za
dato x izračunava y po forumli:
var
x,y,z:integer;
begin
write('Unestite x,y:'); readln(x,y);
if y>0 then
if sqr(x)<sqr(y)
then z:=sqr(y)
else z:=sqr(x)
else
if x<y
then z:=x
else z:=y;
writeln(z);
readln
end.
51. Napisati naredbu uslovnog prelaska koijm se za dato
x izračuava y po forumli:
var
x,y,z:real;
begin
write('Unesite x i y:');
readln(x,y);
if x<y
then z:=(x+0.5)/(1+sqr(y))
else z:=(y+0.5)/(1+sqr(x));
writeln('z=',z:6:2);
readln
end.
53. Napisati program koji ispituje u kojem se kvadrantu
nalazi trougao koga obrazuju prava odredjena
jednačinom y = ax+b i koordinate ose.
var
a,b:real;
begin
write('Unesite koeficiente a i b:');
readln(a,b);
if b>0 then
if a<0
then writeln('U prvom kvadrantu')
else writeln('U drugom kvadrantu')
else
if a<0
then writeln('U trecem kvadrantu')
else writeln('U cetvrtom kvadrantu');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
21
2.1 Naredbe višestrukog grananja
54. Naredbu uslovnog prelaska kojom se izračunava max
dva uneta broja zameniti ekvivalentnom case
naredbom.
var
a,b,max:integer;
begin
write('Unesite a,b:');
readln(a,b);
case a>b of
true:max:=a;
false:max:=b;
end;
writeln('Najveci je:',max);
readln;
end.
55. Napisati case naredbu kojom se na osnovu brojnih
ocena 5,4,3,2,1 ispisuju opisne ocene
odličan,vr.dobar,dobar....
var
ocena:integer;
begin
write('Unesite ocenu:');
readln(ocena);
case ocena of
5:writeln('odlican');
4:writeln('vrlo dobar');
3:writeln('dobar');
2:writeln('dovoljan');
1:writeln('nedovoljan');
end;
readln
end.
56. Napisati program koji za dati redni broj dana u
nedelji štampa ime dana.
var
d:integer;
begin
write('Unesite broj rednog dana u nedelji:');
readln(d);
write('To je:');
case d of
0:writeln('nedelja');
1:writeln('ponedeljak');
2:writeln('utorak');
3:writeln('sreda');
4:writeln('cetvrtak');
5:writeln('petak');
6:writeln('subota');
end;
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
22
57. Napisati program koji ispisuje mogude vrednosti
koordinata x i y zavisno od broja kvadranta koji se
unosi.
var
broj:integer;
begin
readln(broj);
case broj of
1:writeln('x i y su veci od nule');
2:writeln('x je manje od nule,y je vece od nule');
3:writeln('x i y su manji od nule');
4:writeln('x je vece od nule,y je manje od nule');
end;
readln;
end
58. Napisati program koji za dati redni mesec ispisuje
njegov broj dana.U slučaju meseca februrar pitati
korisnika da li je godina prestupna.
var
mesec:integer;
prestupna:char;
begin
write('Unesite broj meseca 1 i 12:');
readln(mesec);
if (mesec<1) and (mesec>12)
then writeln('Broj meseca je nekonkretan')
else
case mesec of
1,3,5,7,8,10,12:writeln('31 dan');
4,6,9,11:writeln('30 dana');
2:begin
write('Da li je godina prestupna(D/N)?');
readln(prestupna);
if (prestupna='D') or (prestupna='d')
then writeln('29 dana')
else writeln('28 dana');
end;
end;
readln;
end.
59. Napisati program koji zavisno od vrednosti indikatora N
izračunava površinu gemetrijskih figura: 1-pravougaonik ,
2 – trougao, 3-trapez, 4 – krug. Nakon izbora gemetrijske
figure unose se odgovarajudi podaci.
var
a,b,h,r,s:real;
n:integer;
begin
write('Unesite tip:(1-pravougaonik,2-trougao,3-trapez,4-
krug):');
readln(n);
case n of
1:begin
write('Unesite duzine stranice pravougaonika:');
readln(a,b);
s:=a*b;
end;
2:begin
write('Unesite osnovicu i visinu trougla:');
readln(a,h);
s:=a*h/2;
end;
3:begin
write('Unesite osnovice i visinu trapeza:');
readln(a,b,h);
s:=(a+b)*h/2;
end;
4:begin
write('Unesite poluprecnik kruga:');
readln(r);
s:=sqr(r)*pi;
end;
end;
writeln('Povrsina je:',s:0:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
23
60. Ako se sa ulaza učitavaju tri prirodna broja k1,k2,k3,
koji označavaju redni broj dana u godini, ispitati da li
označavaju isti dan u nedelji.Na primer isti dan
označavaju 2,16 i 30 ili 344,351 i 358.
var
k1,k2,k3,n1,n2,n3:integer;
begin
write('Unesite tri dana u nedelji:');
readln(k1,k2,k3);
n1:=k1 mod 7;
n2:=k2 mod 7;
n3:=k3 mod 7;
if (n1=n2) and (n2=n3)
then writeln('Oznacavaju isti dan u nedelji')
else writeln('Ne oznacavaju isti dan u nedelji');
readln
end.
61. Napisati program kojim se za učitani ugao u
stepenima koji može biti vedi od 360˚ odredjuje kvadrant
kome pripada.
var
u:integer;
begin
write('Unesite ugao u stepenima:');
readln(u);
u:=u mod 360;
case u div 90 of
0:writeln('Prvi kvadrant');
1:writeln('Drugi kvadrant');
2:writeln('Treca kvadrant');
3:writeln('Cetvrti kvadrant');
end;
readln
end.
62. Napisati program kojim se učitava znak za operaciju
(+,-,*,/) i dva realna operanda, a zatim štapa rezultat.
var
broj1,broj2,rezultat:real;
operator:char;
def:boolean;
begin
write('Unesite broj1:');
readln(broj1);
write('Unesite operaciju:');
readln(operator);
write('Unesite broj1:');
readln(broj2);
def:=true;
case operator of
'+':rezultat:=broj1+broj2;
'-':rezultat:=broj1-broj2;
'*':rezultat:=broj1*broj2;
'/':if broj2 = 0
then begin
def:=false;
writeln('Nedefinisano je deljenje sa nulom')
end
else
rezultat:=broj1/broj2;
end;
if def then writeln('Rezultat=',rezultat:10:3);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
24
63. Napisati program koji izračunava realna rešenja kvadratne
jednačine ax2+bx+c = 9 (a≠0)
var
a,b,c,x1,x2,D:real;
begin
write('Unesite koeficiente jednacine:');
readln(a,b,c);
D:=b*b-4*a*c;
if D<0
then writeln('Nema realnih resenja')
else
if D=0
then writeln('Jednacina ima jedno resenje:',-b/(2*a):10:2)
else
begin
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
writeln('Jednacina ima dva resenja:',x1:10:2,x2:10:2);
end;
readln;
end.
Pripremni zadaci za prijemni ispit iz programiranja
25
3. Iteracija - naredba ciklusa sa parametrom For
64. Napisati program kojim se ispisuju velika slova
latiničnog alfabeta i njihovi redni brojevi.
var
slovo:char;
begin
for slovo:='A' to 'Z' do
writeln(slovo,' ',ord(slovo));
readln;
end.
65. Napisati program kojim se izračunava vrednost
logičke funkcije :
F = not a and (y>0) or (or (y>z)
Za vrednosti prom a:true i false ,y i z su dati
var
F,a:boolean;
z,y:integer;
begin
readln(y,z);
for a:=true downto false do
begin
F:=not a and (y>0) or (y>z);
writeln('a=',a,' F=',F);
readln
end;
readln
end.
66. Za vrednost od 1 od n unetog broja napisati i
program za učitavanje,sumiranje i štampanje njihove
sume.
var
a,s:real;
i,n:integer;
begin
write('Unesite n:');
readln(n);
s:=0;
for i:=1 to n do
begin
write('Unesite broj',i,':');
readln(a);
s:=s+a;
end;
writeln(s);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
26
67. Sa tastature se učitava temp za prvih N dana u godini. Napisati program koji obezbedjuje max temp i redni
broj dana kada je temp bila maksimalna.
var
T,MaxT,N,Dan,MaxTDan:integer;
begin
write('Unesi broj dana za koje je merena temp:');
readln(n);
write('Unesite temperaturu na dan1:');
readln(maxT);
MaxTDan:=1;
for Dan:=2 to n do
begin
write('Unesite temp na dan',Dan,':');
readln(T);
if MaxT<T
then
begin
MaxT:=T;
MaxTDan:=Dan;
end
end;
writeln('Maks temp od: ',MaxT,' stepeni bila je na dan: ',MaxTDan);
readln;
end.
Pripremni zadaci za prijemni ispit iz programiranja
27
68. Preduzede plada honorarno zaposlene sa C dinara po satu.Napisati program koji za n
radnika učitava ime kao podatak tipa string (ne duži od 20 znakova) broj sati provedenih na
radu i za svakog radnika ispisuje njegovo ime,bruto zaradu,iznos poreza (16% bruto
zarade),iznos doprinosa (26% bruto zarade) i neto zaradu (bruto zarada umanjena za porez
i doprinos).
var
cenaSata,Porez,Doprinos,BrutoZarada,NetoZarada:integer;
n,i,brojsati:integer;
ImeRadnika:string[20];
begin
write('Unesite broj radnika:');
readln(n);
write('Unesite cenu za sat rada:');
readln(CenaSata);
for i:=1 to n do
begin
write('Unesite ime radnika:');
readln(ImeRadnika);
write('Koliko je sati radio:');
readln(BrojSati);
BrutoZarada:=CenaSata*BrojSati;
Porez:=round(BrutoZarada*0.16);
Doprinos:=round(BrutoZarada*0.26);
NetoZarada:=BrutoZarada-porez-doprinos;
writeln('Ime':20,'BrutoZarada':13,'Porez':12,'Doprinos':12,'NetoZarada':12);
writeln(ImeRadnika:20,BrutoZarada:13,Porez:12,Doprinos:12,NetoZarada:12);
end;
readln;
end.
Pripremni zadaci za prijemni ispit iz programiranja
28
69. Napisati program kojim se za dato n
izračunava faktorijel prirodnog broja n . Faktorijel
je n!=1*2*3*....*n
var
fakt,i,n:integer;
begin
write('Unesite prirodan broj:');
readln(n);
fakt:=1;
for i:=2 to n do
fakt:=fakt*i;
writeln(fakt);
readln
end.
70.Napisati program kojim se izračunava suma
faktorijela s=1!+2!+3!...+n!
var
fakt,n,i,s:integer;
begin
write('Unesite broj:');
readln(n);
s:=0;
fakt:=1;
for i:=1 to n do
begin
fakt:=fakt*i;
s:=s+fakt;
end;
writeln(fakt,' ',s);
readln;
end.
71. Učitanom trocifrenom broju razdvojiti sve cifre.
Naprimer za : 451 ...program treba da ispiše 4 5 1
var
a,b,c,m:integer;
begin
writeln('Unesite m:');
readln(m);
begin
a:=m div 100; {izdvajanje leve cifre}
b:=m mod 100 div 10; {srednje}
c:=m mod 10; {desne cifre}
end;
writeln(a,' ',b,' ',c);
readln
end.
72. Sa tastature se unose 10 brojeva.Napisati program koji
računa njihov zbir i proizvod.
var
a,zbir,proizvod:real;
i:integer;
begin
zbir:=0;proizvod:=1;
for i:=1 to 10 do
begin
write('Unesi ',i,'-broj:');
readln(a);
zbir:=zbir+a;
proizvod:=proizvod*a;
end;
writeln('Zbir brojeva je:',Zbir:5:2,' Proizvod je:',proizvod:5:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
29
73. Napisati program kojim se izračunava zbir brojeva od
1 do 100 čija je zadnja cifra 9.
var
s,i:integer;
begin
s:=0;
for i:=1 to 100 do
if((i mod 7=0) and (i mod 3=0))
then
s:=s+1;
writeln('Trazeni zbir je:',s:5);
readln
end.
74. Napisati program kojim se odredjuju i ispituju svi
savršeni brojevi od 2 do m.Broj je savršen ako je jednak
sumi svojih delitelja isključujudi njega samog.Naprimer 28
je savršen broj,jer je:
28=1+2+4+7+14
var
n,m,i,suma:integer;
begin
write('Unesite broj:');
readln(m);
for n:=2 to m do
begin
suma:=1;
for i:=2 to n div 2 do
if n mod i = 0 then
suma:=suma+i;
if suma=n then writeln(n);
end;
readln
end.
76. Napisati program za izračunavanje i štampanje
realne funkcije
ako se x menja od xp do xk sa korakom h.
var
xp,xk,h,x,y:real;
n,i:integer;
begin
write('Unesite xp,xk,h:');readln(xp,xk,h);
n:=trunc((xk-xp)/h)+1;
x:=xp;
for i:=1 to n do
begin
y:=(x*x-2.0*x+2.0)/(sqr(x)+1.0);
writeln(x:10:2,y:10:2);
x:=x+h;
end;
readln
end.
75. Napisati program koji proverava da li je uneti broj
savršen ili nije i ispisuje poruku o tome
var
n,i,suma,a:integer;
begin
write('Unesite broj:');
readln(n);
suma:=0;
for i:=1 to n-1 do
if n mod i =0 then
suma:=suma+i;
if n=suma then
writeln('Broj je savrsen')
else
writeln('Broj nije savrsen');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
30
77. Napisati program koji ispisuje sve parne brojeve od 1 do
unetog n broja.
var
broj,n:integer;
begin
writeln('Unesite n:');
readln(n);
for broj:=1 to n
do
if broj mod 2 = 0 then
writeln('Parni brojevi su:',broj);
readln
end.
78 .Napisati program kojim se na ekran n puta ispisuje naziv
ekipe koju unesete i to:
a) po jedan naziv u svakom redu
b)dijagonalno po jedan naziv u svakom redu
Rešenje pod a)
var
n,i:integer;
ekipa:string;
begin
write('Unesite ime ekipe:');
readln(ekipa);
write('Unesite broj n:');
readln(n);
for i:=1 to n do
writeln(ekipa);
readln
end.
Rešenje pod b)
var
n,i:integer;
ekipa:string;
begin
write('Unesite ime ekipe:');
readln(ekipa);
write('Unesite broj n:');
readln(n);
for i:=1 to n do
writeln(' ',i-1,ekipa);
readln
end.
79. Napisati program kojim se ispisuje tabela
vrednosti funkcije
var
b,a,x:integer;
begin
write('Unesite A i B:');
readln(a,b);
writeln('X':10,'Y':10);
writeln('--------------');
for x:=a to b do
writeln(x:10,sqr(x)-1:10);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
31
80. Napisati program kojim se kreira tabela prevodjenja iz
skale Celzijusa u skalu Farenhajta za vrednosti C1 do C2
stepeni sa korakom 1C (1F=1.8*C+32)
var
c,c1,c2:integer;
begin
write('Unesite procetak i kraj intervala:');
readln(c1,c2);
writeln('Celzijusi':10,'Farenhajti':15);
writeln('-----------------------------');
for c:=c1 to c2 do
writeln(c:10,1.8*c+32:15:2);
readln
end.
81. Napisati program kojim se ispisuje tabela vrednosti
funkcije koja uzima realne vrednosti na
zatvorenom intervalu od a do b sa korakom h.
var
a,b,h,x:real;
n,i:integer;
begin
write('Unesite pocetak i kraj argumenta:');
readln(a,b);
write('Unesite korak (prirastaj) argumenta:');
readln(h);
n:=trunc((b-a)/h)+1;
x:=a;
writeln('X':10,'Y':10);
writeln('------------');
for i:=1 to n do
begin
writeln(x:10:2,2*sqr(x)+3:10:2);
x:=x+h;
end;
readln;
end.
82. Napisti program kojim se tabulira funkcija
f(x)=(3 - sqrt(4 -x) /+(2- x) na intervalu - 5 do 5 sa
korakom - 1 uz kontrolu definisanosti funkcije.
var
x:integer;
begin
writeln('X':10,'Y':15);
writeln('--------------');
for x:=-5 to 5 do
if (4-x<0) or (2-x=0)
then writeln(x:10,'Nema resenja':15)
else writeln(x:10,(3-sqrt(4-x))/(2-x):15:2);
readln
end.
83. Napisti program kojim se ispisuje tabela celih
brojeva 1 do učitanog broja N i njihovih
kavadata,kubov i korena.
var
x,n:integer;
begin
write('Unesite n:');
readln(n);
writeln('x':10,'x^2':10,'x^3':10,'sqrt(x)':10);
writeln('---------------------------------');
for x:=1 to n do
writeln(x:10,sqr(x):10,x*x*x:10,sqrt(x):10:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
32
84.N predavača u centru za talente drži predavanje po ceni
časa sa C.Napisati program kojim se za svakog predavača
učitava koliko je održao časova u toku meseca i ispisuje
njegova zarada.Odrediti i ukupan iznos za isplatu.
var
cena,zarada,svega:real;
n,i,brcasova:integer;
begin
write('Unesite broj predavaca:');
readln(n);
write('Unesite cenu po casu predavanja:');
readln(cena);
svega:=0;
writeln('Unesite za svakog predavaca broj odrzanih
casova:');
for i:=1 to n do
begin
write('Unesite broj odrazanih casova predavaca ',i,'.je:');
readln(brcasova);
zarada:=cena*brcasova;
writeln('Zarada predavaca:',i,'.je:',zarada:10:2);
svega:=svega+zarada;
end;
writeln('Ukupan iznos za isplatu:',svega:10:2);
readln;
end.
85.Napisati program kojim se N učitava ocena
učenika i izračunava njegova prosečna ocena.
var
n,i,x:integer;
s:real;
begin
write('Unesite broj predmeta:');
readln(n);
s:=0;
for i:=1 to n do
begin
write('Unesite iz predmeta:',i,'.');
readln(x);
s:=s+x;
end;
writeln('Prosecna ocena je:',s/n:0:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
33
86.Sportista je planirao da u toku N dana priprema prvi dan pretriči A kilometara,a
slededeg 10% više od norme prethodnog dana.Napraviti tabelu iz koje se vidi koliko
sportista treba da pretriči svakog dana priprema kao i koliko sportista treba da pretrči
svakog dana priprema kao i koliko de ukupno pretrčati u toku priprema.
var
n,i:integer; {trajanje prirpema - dana} {a - norma 1 dan}
s,a:real; {s- ukupno pretrcano}
begin
write('Unesite trajanje priprema danima:');
readln(n);
write('Unesite normu za prvi dan priprema:');
readln(a);
s:=a;
writeln('DAN':10,'DNEVNA NORMA':14);
writeln('------------------------');
for i:=1 to n do
begin
writeln(i:9,'.',a:12:2,' km');
s:=s+a;
a:=a*1.1;
end;
writeln('---------------------');
writeln('U toku priprema atleticar ce pretrcati:',s:0:2,'km');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
34
87. Sportista je planirao da u toku N dana priprema
prvog dana pretrči A kilometara na svaki:
a) tredi dan b) m ti dan
Rešenje pod a)
var
n,i,k:integer;
s,a:real;
begin
write('Unesite trajanje priprema u danima:');
readln(n);
write('Unesite normu za prvi dan priprema:');
readln(a);
a:=a/1.1; {U prvom prolazu kroz ciklus koriguje se na a}
s:=0;
writeln('DAN':10,'DNEVNA NORMA':14);
writeln('-------------------------');
k:=1;
for i:=1 to n do
begin
if i mod 2 =1 then a:=a*1.1;
s:=s+a;
writeln(i:9,'.',a:12:2,' km');
end;
writeln('----------------------');
writeln('U toku priprema altleticar ce protrcati:',s:0:2,'
km');
readln
end.
Rešenje pod b)
var
n,i,m:integer;
s,a:real;
begin
write('Unesite trajanje priprema u danima:');
readln(n);
write('Unesite normu za prvi dan priprema:');
readln(a);
writeln('Unesite dan za koji ce vise pre vise pretrcati:');
readln(m);
a:=a/1.1;
s:=0;
writeln('DAN':10,'DNEVNA NORMA':14);
writeln('------------------------');
for i:=1 to n do
begin
if i mod (m-1) = 1 then a:=a*1.1;
s:=s+a;
writeln(i:9,'.',a:12:2,' km');
end;
writeln('----------------------');
writeln('U toku priprema atleticar ce pretrcati:',s:0:2,'
km');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
35
88.Napisati program kojim se izražava zbir prvih N
a) prirodnih brojeva b) parnih prirodnih brojeva
Rešenje pod a)
var
i,n,s:integer;
begin
write('Unesite neki broj:');
readln(n);
s:=0;
for i:=1 to n do
begin
s:=s+i;
end;
writeln(s);
readln
end.
Rešenje pod b)
var
i,n,s:integer;
begin
write('Unesite broj:');
readln(n);
s:=0;
for i:=1 to n do
if i mod 2 = 0 then
s:=s+1;
write(s);
readln
end.
89.Napisati program koji računa zbir niza koji je
definisan kao:
var
zbir:real;
i,n,pred:integer;
begin
write('Unesite zadati broj n:');
readln(n);
pred:=-1;
zbir:=0;
for i:=1 to n do
begin
zbir:=zbir+(pred)*i;
pred:=-pred;
end;
writeln('Trazeni zbir niza je:',zbir:8:2);
readln
end.
90 a).Napisati program za proveru tačnosti
matematičkih formula za izračunavanje sume.
var
n,i,s,r:integer;
begin
write('Unesite n:');
readln(n);
s:=0;
for i:=1 to n do
s:=s+2*i-1;
r:=n*n;
writeln('s=',s,'r=',r);
if s=r
then writeln('Vazi jednakost')
else writeln('Ne vazi jednakost');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
36
90 .b) Napisati program za proveru tačnosti
matematičkih formula za izračunavanje sume.
var
n,i,s,r:integer;
begin
write('Unesite n:');
readln(n);
s:=0;
for i:=1 to n do
s:=s+sqr(2*i-1);
r:=n*(4*sqr(n)-1) div 3;
writeln('s=',s,'r=',r);
if s=r
then writeln('Vazi jednakost')
else writeln('Ne vazi jednakost');
readln
end.
91.Napisati program kojim se odredjuje zbir prvih N
članova aritmetičke progresije na osnovu vrednosti
prvog člana A i razlike progresije D.
var
n,a,d,i,s:integer;
begin
write('Unesite prvi clan aritmeticke progresije:');
readln(a);
write('Unesite razliku progresije:');
readln(d);
write('Unesite broj clanova sume:');
readln(n);
s:=0;
for i:=1 to n do
begin
s:=s+a;
a:=a+d;
end;
writeln('s=',s);
readln
end.
92 a).Napisati program kojim se izračunava zbir
prvih n članova reda:
var
n,i:integer;
s:real;
begin
write('Unesite broj clanova:');
readln(n);
s:=0;
for i:=1 to n do
s:=s+1/i;
writeln('s=',s:10:2);
readln
end.
92 b).Napisati program koji se izračunava zbir prvih
n članova reda.
var
n,i:integer;
s:real;
begin
write('Unesite broj clanova sume:');
readln(n);
s:=0;
for i:=1 to n do
s:=s+1/(2*i-1);
writeln('s=',s:10:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
37
92. c) Napisati program kojim se izračunava zbir prvih
n članova reda.
var
n,i,z:integer;
s:real;
begin
write('Unesite broj clanova sume:');
readln(n);
s:=0;
z:=1;
for i:=1 to n do
begin
s:=s+z/(2*i-1);
z:=-z;
end;
writeln('s=',s:10:2);
readln
end.
93. Napisti program kojim se ispisuje tabela
a) stepena dvojke od nultog stepena o n-tog stepena
b) faktorijela od 1! do n!
a)
var
n,i:integer;
p:longint;
Begin
write('Unesite n:');
readln(n);
p:=1;
writeln('N':10,'2^N':10);
writeln('---------------------');
for i:=1 to n do
begin
writeln(i:10,p:10);
p:=p*2;
end;
readln;
end.
93. b)
var
n,i:integer;
p:longint;
begin
write('Unesite n:');
readln(n);
p:=1;
writeln('N':10,'N!':15);
writeln('--------------');
for i:=1 to n do
begin
p:=p*i;
writeln(i:10,p:15);
end;
readln;
end.
94.Napisati program kojim se izračunava zbir s:
var
n,i:integer;
p,s:longint;
begin
write('Unesite n:');
readln(n);
p:=1;
s:=0;
for i:=1 to n do
begin
p:=p*2;
s:=s+p;
end;
writeln('s=',s);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
38
95. a) Napisati program kojim se za realno x izračunava
var
n,i:integer;
p,s,x:real;
begin
write('Unesite n:');
readln(n);
write('Unesite x:');
readln(x);
p:=1; s:=0;
for i:=1 to n do
begin
p:=p*x;
s:=s+p;
end;
writeln('s=',s:0:2);
readln
end.
c)
var
n,i:integer;
p,s,x:real;
begin
write('Unesite n:');
readln(n);
write('Unesite x:');
readln(x);
p:=1; s:=0;
for i:=1 to n do
begin
p:=p*x;
s:=s+i*p;
end;
writeln('s=',s:0:2);
readln
end.
b)
var
n,i:integer;
p,s,x:real;
begin
write('Unesite n:');
readln(n);
write('Unesite x:');
readln(x);
p:=1;
s:=0;
for i:=1 to n do
begin
p:=p*x;
s:=s+1/p;
end;
writeln('s=',s:0:2);
readln
end.
96. a) Napisati program kojim se izračunava:
.....
var
i,n,q:integer;
p:real;
begin
write('Unesite n:');
readln(n);
q:=1; p:=1;
for i:=2 to n do
begin
q:=q*i;
p:=p*(1+1/q);
end;
writeln('p=',p:0:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
39
96 b) Napisati program kojim se izračunava:
.....
var
i,n:integer;
p:real;
begin
write('Unesite n:');
readln(n);
p:=1;
for i:=2 to n+1 do
p:=p*(1-1/i);
writeln('p=',p:0:2);
readln
end.
97. Napisati program kojim se izračunava:
var
s,fakt,i,n:integer;
begin
write('Unesite n:');
readln(n);
s:=0;
fakt:=1;
for i:=1 to n do
begin
fakt:=fakt*i;
s:=s+fakt;
end;
writeln(s);
readln
end.
98 .Napisati program kojim se za dati prirodan broj n
izračunava
var
i,n,fakt:integer;
s,q:real;
begin
write('Unesite n:');
readln(n);
s:=0; q:=0; fakt:=1;
for i:=1 to n do
begin
fakt:=fakt*i;
q:=q+1/(i+1);
s:=s+fakt/q;
end;
writeln('s=',s:10:2);
readln
end.
99 .Napisati program kojim se za dati prirodan broj n
izračunava
var
i,n,s,z:integer;
begin
write('Unesite n:');
readln(n);
s:=0; z:=-1;
for i:=1 to n do
begin
z:=-z*3*i*(3*i-1)*(3*i-2);
s:=s+z;
end;
writeln('s=',s:10);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
40
100. Dat je slededi niz
Napisati program koji računa zbir ako se sa tastature
unose n i broj x:
uses
SysUtils,Math;
var
zbir,pro,x:real;
n,i:integer;
begin
write('Unesite zadati broj n:');
readln(n);
write('Unesite broj x:');
readln(x);
zbir:=0;
pro:=1;
for i:=1 to n do
begin
pro:=pro*sin(x*pi/180);
zbir:=zbir+pro;
end;
writeln('Trazeni zbir niza je:',zbir:8:5);
readln
end.
101.Napisati program kojim se,ako su dati prirodan broj n
i realan broj x izračunava.
uses
SysUtils,Math;
var
i,n:integer;
s,p,x:real;
begin
write('Ucitaj n:');
readln(n);
write('Ucitaj x:');
readln(x);
s:=0;
p:=1;
for i:=1 to n do
begin
p:=p*x;
s:=s+cos(p);
end;
writeln('s=',s:10:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
41
102.Napisati program kojim se,ako su dati prirodan broj n i
realan broj x izračunava.
var
i,n:integer;
s,p,x:real;
begin
write('Ucitaj n:');
readln(n);
write('Ucitaj x:');
readln(x);
s:=0; p:=x;
for i:=1 to n do
begin
p:=sin(p);
s:=s+p;
end;
writeln('s=',s:10:4);
readln
end.
103. Napisati program kojim se izračunava proizvod prvih n
faktora izraza:
var
i,n:integer;
p:real;
begin
write('Unesite n:');
readln(n);
p:=1;
for i:=1 to n do
p:=p*(2*i-1)/(2*i);
writeln('p=',p:0:2);
readln
end.
104. U banku je ulagač položio S dinara sa
mesečnom kamatom P procenta,koja se obračunava
na iznos koji je obeležio prethodni mesec.Koliko
novca de imati ulagač nakon K meseci ?
var
i,k:integer;
p,s:real;
begin
write('Unesite iznos uloga:');
readln(s);
write('Unesite procenat za obracun kamate:');
readln(p);
write('Unesite trajanje stednje u mesecima:');
readln(k);
for i:=1 to k do
s:=s*(1+p/100);
writeln('Nakon ',k,' mesecni iznos uloga je:',s:0:2);
readln
end.
105. Napisati niz naredi kojim se izračunava zbir
kvadrata prirodnih brojeva od 15 do 25.
var
s:real;
i:integer;
begin
s:=0;
for i:=16 to 25 do
begin
s:=s+i*i;
end;
writeln('Suma:',s:5:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
42
106. Napisati niz naredbi kojim se za date k i n (k<n),
izračunava suma:
var
s:real;
i,n,k:integer;
begin
s:=10;
write('Unesite k:');
readln(k);
write('Unesite n:');
readln(n);
for i:=1 to n do
begin
s:=s+1/sqr(i);
end;
writeln(s:4:2);
readln
end.
107. Napisati program koji na osnovu unetog meseca i
dana u mesecu i godine koja nije prestupna odredjuje
redni broj odgovarajudeg dana u godini (od 1 do 365).
var
dan,mesec,d,m:integer;
begin
write('Unesite dan i mesec:');
readln(dan,mesec);
d:=dan;
for m:=1 to mesec-1 do
case m of
1,3,5,7,8,10,12:d:=d+31;
4,6,9,11: d:=d+30;
2: d:=d+28;
end;
writeln('Redni broj dana je:',d);
readln
end.
108 .Približna vrednost broja π može se odrediti
pomodu Georgijeve formule :π ≈ 4Pk gde je:
var
pi,p:real;
k,i,znak:integer;
begin
write('Unsite k:');
readln(k);
{*predpostavimo da je k vece od jedan*}
p:=0.0;
znak:=1;
for i:=1 to k do
begin
pi:=pi+znak/(2*i-1);
znak:=-znak;
end;
pi:=4*pi;
writeln('pi=',pi:10:8);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
43
109.Napisati program koji od korisnika učitava realan
broj x i ceo broj n≥2 i potom računa i štampa vrednost.
var
x,stepen,brojilac:real;
i,n,imenilac:integer;
begin
write('Unesite x:');
readln(x);
write('Unesite n:');
readln(n);
imenilac:=n*(n+1) div 2;
brojilac:=1;stepen:=1;
for i:=2 to n do
begin
stepen:=stepen*x;
brojilac:=brojilac+i*stepen;
end;
writeln(brojilac/imenilac:10:2);
readln;
end.
110.Napisati program koji od korisnika učitava ceo
broj n ≥ 3, a potom n realnih brojeva i
utvrdjuje i štampa najvedi od tih brojeva kao i koliko
se on puta pojavio.
Npr za n=5 1,13 ; 2,56 ; 2.56; 3 ; 7,2; ispisuje da je
najvedi 7,2 i da se pojavio jednom.
var
n,i,br:integer;
a,max:real;
begin
write('Unesite n>=3:');
readln(n);
if n<3 then
writeln('Greska')
else
write('Unesite broj1:');
readln(a);
max:=a; br:=1;
for i:=2 to n do
begin
write('Unesite broj',i,':');
readln(a);
if a>max then
begin
max:=a;
br:=1;
end
else if a = max then
br:=br+1;
end;
writeln('Max je:',max:6:2);
writeln('Pojavljuje se ',br,' puta');
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
44
4.Iteracija – Naredba sa postuslovom – While
111. Napisati program koji učitani broj n transformiše
tako da mu se uklanjaju nule sa desne strane.
var
n:integer;
begin
write('Unesite broj:');
readln(n);
while n mod 10 = 0 do
n:=n div 10;
writeln('Broj je transformisan u:',n);
readln
end.
112. Napisati program koji izracunava zbir članova
aritmetičke progresije koji nisu vedi od N,ako je prvi
član 1,a razlikuju se za 3.
var
s,n,i:integer;
begin
write('Unesite n:');
readln(n);
s:=0;i:=1;
while i<=n do
begin
s:=s+i;
i:=i+3;
end;
writeln('s=',s);
readln
end.
114.Napisati program za izračunavanje suma s
kvadrata parnih i kubova neparnih prirodnih brojeva
od n do m.
var
n,m,i,s:integer;
begin
write('Unesite n,m:');
readln(n,m);
s:=0;i:=n;
while i<=m do
begin
if odd(i) {'Odd checks the parity of its argument i}
then s:=s+i*i*i
else s:=s+i*i;
i:=i+1;
end;
writeln('Suma =',s);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
45
115. Napisti program kojim se izračunava srednja
vrednost niza realnih brojeva različitih od nule,čija
dužina nije poznata.
const
stopcode=0;
var
suma,broj:real;
brojac:integer;
begin
suma:=0; brojac:=0;
writeln('Unesite niz koji se zavrsava
sa',stopcode:2);
readln(broj);
while broj <> stopcode do
begin
suma:=suma+broj;
brojac:=brojac+1;
readln(broj);
end;
writeln('Srednja vrednost=',suma/brojac:10:2);
readln
end.
116. Napisati program koji proverava da li je uneti
broj n prost.Broj je prost ako je deljiv samo sa jedan
i samim sobom.
var
n,i,k:integer;
begin
write('Input n:');
readln(n);
i:=2;
k:=round(sqrt(n));
while (i<=k) and (n mod i<>0) do
i:=i+1+ord(i<>2);
if i>k
then writeln(n,' je prost broj')
else writeln(n,' nije prost broj')
readln;
end.
117.Napisati program koji m se dati prirodni broj rastavlja
na proste faktore.Na primer,za 28 ispisade 2 2 7.
var
broj,faktor:integer;
begin
write('Unesite broj:');
readln(broj);
faktor:=2;
while faktor <= broj do
if broj mod faktor = 0
then
begin
write(faktor,''); {*ispisi faktor*}
broj:=broj div faktor {*iz broja skloni faktor*}
end
else
faktor:=faktor +1;
readln
end.
118.Napisati program koji štampa trocifrene proste
brojeve.
var
i,n,koren:integer;
begin
n:=101;
while n<=997 do
begin
koren:=round(sqrt(n)); {*gornja granica za delitelje*}
i:=3; {*kanditad za delitelja*}
while (i<=koren) and ( n mod i<>0 ) do
i:=i+2;
if i>koren then writeln(n:8); {*broj je prost*}
n:=n+2;
readln;
end
end.
Pripremni zadaci za prijemni ispit iz programiranja
46
119. Napisati program kojim se odredjuje n-ti član Fibionačijevog niza
...
var
fpp,fp,fn,n,i:integer;
begin
write('Unesite n:');
readln(n);
fpp:=1; {*prvi element niza*}
fp:=1; {*drugi element niza*}
i:=3; {*dodela pocetne vrednosti brojacu*}
while i<=n do
begin
fn:=fp+fpp;{*novi element je jednak zbiru dva prethodna*}
fpp:=fp;{*kopiranje vrednosti promenljivih kao priprema*}
fp:=fn;{*za racunanje sledeceg elementa*}
i:=i+1;
end;
writeln(n,'-ti elemenat je:',fn);
readln
end.
120. Napisati program koji za dati broj n ispituje da li je stepen broja 3.
var
n:integer;
begin
write('Unesite n:');
readln(n);
while n mod 3 = 0 do
n:=n div 3;
if n=1
then writeln('Broj je stepen broja 3')
else writeln('Broj nije stepen broja 3');
readln
end.
121. Napisati program koji štampa
stepene dvojke ne vede od n.
var
n,y:integer;
begin
write('Unesite n:');
readln(n);
y:=1;
while y<=n do
begin
writeln(y);
y:=y*2;
end;
readln;
end.
122. Odrediti stepen i vrednost prvog
stepena dvojke koji je vedi od zadate
vrednosti n.
var
n,y,i:integer;
begin
write('Unesite n:');
readln(n);
y:=1;
i:=0;
while y<=n do
begin
y:=y*2;
i:=i+1; {tekuci stepen dvojke je:i}
end;
writeln('To je:',i,'-ti stepen dvojke ',y);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
47
123. Ispisati tablicu vrednosti funkcije x3 za vrednosti x ne
vedi od n počev od 2, sa korakom 2.
var
n,x,y:longint;
begin
write('Unesite n:');
readln(n);
x:=2;
writeln('X':10,'X^3':10);
writeln('---------------------');
while x<=n do
begin
writeln(x:10,x*x*x:10);
x:=x+2;
end;
readln
end.
124. Odrediti zbir neparnih prirodnih brojeva na intervalu
od 1 do n.
var
n,i,s:longint;
begin
write('Unesite n:');
readln(n);
i:=1;s:=0;
while i<=n do
begin
s:=s+i;
i:=i+2;
end;
writeln('S=',s);
readln
end.
125. Odrediti najmanji broj uzastopnih parnih
brojeva počev od 2 čije je suma vede od n.
var
n,k,a,s:integer;
begin
write('Unesite n:');
readln(n);
s:=0; k:=0; a:=0;
while s<=n do
begin
a:=a+2;
s:=s+a;
k:=k+1;
end;
writeln('Najmanji broj parnih je k=',k);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
48
126. Napisati program kojim se odredjuje koliko je
potrebno uzeti članova aritmetičke progresije:
a,a+d,a+2d...sa zadatim prvim članom a i razlikom
progresije d,da bi njihova suma postala veda od zadatog
broja n.
var
a,d,k,s,n:integer;
begin
write('Unesite n:');
readln(n);
write('Unesite prvi clan progresije:');
readln(a);
write('Unesite razliku progresije:');
readln(d);
s:=0; k:=0;
while s<=n do
begin
s:=s+a;
k:=k+1;
a:=a+d;
end;
writeln('Potrebno je uzeti k=',k,' clanova progresije');
readln
end.
127. Napisati program koji se za dati prirodan broj n
odredjuje:
a) k-kao broj cifara u dekadnom zapisu broja
b) suma cifara broja n
c) da li je n palindrom
a)Rešenje
var
n,k:integer;
begin
write('Unesite n:');
readln(n);
k:=0;
while n>0 do
begin
n:=n div 10;
k:=k+1;
end;
writeln('Broj cifara je:',k);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
49
b) Rešenje
var
n,s:integer;
begin
write('Unesite n:');
readln(n);
while n>0 do
begin
s:=s+n mod 10;
n:=n div 10;
end;
writeln('Suma cifara je:',s-1);
readln
end.
c) Rešenje
var
n,s,m:integer;
begin
write('Unesite n:');
readln(n);
m:=n;
s:=0;
while m>0 do
begin
s:=s*10+m mod 10;
m:=m div 10;
end;
if s=n
then writeln('Broj je palindrom')
else writeln('Broj nije palindrom');
readln
end.
128. Napisati program kojim se odredjuje najvedi zajednički
delilac prirodnih brojeva m i n.
var
m,n,r:integer;
begin
write('Unesite m:');
readln(m);
write('Unesite n:');
readln(n);
while m mod n <> 0 do
begin
r:= m mod n;
m:=n;
n:=r;
end;
writeln('Najveci zajednicki delilac je:',n);
readln
end.
129. Napisati progra kojim se za niz celih pozitivnih brojeva čija
pozitivnih brojeva čija dužina nije ograničena i kome se kraj unosa
označava nulom a) određuje maksimalnu vrednost u nizu
b) koliko je elemenata u najdužoj seriji jednakih
c) koliko je elemenata u najdužoj rastudoj seriji elemenata koji se medjusobno razlikuju za 1
a)Rešenje
var
max,a:integer;
begin
max:=0;
writeln('Unesite niz brojeva.Za kraj unesite nulu.');
write('>');
readln(a);
while a<>0 do
begin
if a>max then max:=a;
write('>');
readln(a);
end;
writeln('Maksimum je:',Max);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
50
b) Rešenje
var
max,k,a,b:integer;
begin
write('Unesite niz brojeva.Za kraj unesite nulu.');
write('>');
readln(a);
write('>');
readln(b);
max:=1;
k:=1;
while b <> 0 do
begin
if a=b
then
begin
k:=k+1;
if k>Max then max:=k;
end
else k:=1;
a:=b;
write('>');
readln(b);
end;
writeln('Maksimalna serija jednakih ima:',max,'
elemenata.');
readln;
end.
c) Rešenje
var
max,k,a,b:integer;
begin
write('Unesite niz brojeva.Za kraj unesite nulu.');
write('>');
readln(a);
write('>');
readln(b);
max:=1;
k:=1;
while b <> 0 do
begin
if b-a=1
then
begin
k:=k+1;
if k>Max then max:=k;
end
else k:=1;
a:=b;
write('>');
readln(b);
end;
writeln('Maksimalna serija jednakih ima:',max,'
elemenata.');
readln;
end.
Pripremni zadaci za prijemni ispit iz programiranja
51
130. Napisati program kojim se za dati prirodni broj n
izračunava suma:
var
i,n:integer;
s:real;
begin
write('Unesite n:');
readln(n);
s:=0;
i:=1;
while i<=n do
begin
s:=s+1/sqr(2*i+1);
i:=i+1;
end;
writeln('Suma=',s:10:2);
readln
end.
131. Napisati niz naredbi kojim se izračunava suma parnih
brojeva od -10 do +100
var
s,i:integer;
begin
s:=0; i:=-10;
while i<=100 do
begin
s:=s+i;
i:=i+2;
end;
writeln('Suma brojeva je:',s);
readln
end.
132. Napisati program kojim se izrčunava
suma prvih n (n>2) član Fibionačevog niza
var
fpp,fp,fn,n,i,s:integer;
begin
write('Unesite n:');
readln(n);
fpp:=1;
fp:=1;
i:=3;
s:=2; {*pocetna vrednost sume*}
while i<=n do
begin
fn:=fp+fpp;
s:=s+fn;
fpp:=fp;
fp:=fn;
i:=i+1;
end;
writeln('Suma=',s);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
52
133. Napisati program za izračunavanje n-tog
stepena celog broja a.
var
a,n,i,stepen:integer;
begin
write('Unesite a izlozilac:');
readln(a);
write('Unesite n-ti stepen:');
readln(n);
stepen:=1;
i:=1; {*Promenljiva koja odbrojava ponavljanje
ciklusa*}
while i<=n do
begin
stepen:=stepen*a;
i:=i+1;
end;
writeln('Stepen=',stepen);
readln
end.
134. Napisati program kojim se u standardnoj ulaznoj (input)
tekstualnoj datoteci odredjuje broj praznina,tačaka i
interpukcijskih znakova tipa: zarez,dvotačka,tačka-zarez,ako se
u datoteci nalaze samo nabrojani znaci.
var
znak:char;
praznina,tacka,znakint:integer;
begin
praznina:=0;
tacka:=0;
znakint:=0;
while not eof do {*dok se ne dostigne kraj fajla*}
begin
while not eoln do {*dok se ne dostigne kraj linije*}
begin
read(znak); {*citanje tekuceg znaka*}
case znak of
' ':praznina:=praznina+1;
'.':tacka:=tacka+1;
',',':',';':znakint:=znakint+1;
end; {*case}
end; {*eoln*}
writeln('Praznine=',praznina);
writeln('Tacke=',tacka);
writeln('Broj znakova (zarez,dve tacke,tack zarez:)',znakint);
readln;
end;
end.
Pripremni zadaci za prijemni ispit iz programiranja
53
5. Iteracija – Petlja sa postuslovom Repeat
135. Napisati program kojim se štampaju svi
stepeni dvojke,ne vedi od unete vrednosti
promenljive granica,koja je veda od 2.
var
stepen,granica:integer;
begin
write('Unesite granicu:');
readln(granica);
stepen:=2;
repeat
writeln(stepen);
stepen:=stepen*2;
until stepen>granica ;
readln;
end.
136. Približna vrednost broja π može se odrediti pomodu
Georgijeve formule :π ≈ 4Pk gde je:
var
clan,suma,eps:real;
znak,i:integer;
begin
write('Unesite eps:');
readln(eps);
znak:=-1; {*promenljiva kontrolose promenu znaka clana
sume*}
clan:=1.0; {*prvi clan suma*}
suma:=1.0; {*sumu uzima vrednost prvog clana*}
i:=1;
repeat
clan:=znak/(2*i+1); {*tekuci clan sume*}
suma:=suma+clan; {*uvecavanjem sume za tekuci clan*}
znak:=-znak;
i:=i+1;
until abs(clan)<eps;
writeln('Broj pi je jednak:',4*suma:4:10);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
54
137. Napisati program kojim se od datog prirodnog broja n
formira broj sa istim ciframa,ali u inverznom poretku.
var
n,inverz:integer;
begin
write('Unesite n:');
readln(n);
inverz:=0; {*pocetna vrednost promenljive u formiranju*}
repeat
inverz:=inverz*10+n mod 10; {*dopisivanje cifre*}
n:=n div 10 {*odbacivanje dopisane cifre*}
until n=0; {*dok se ulazni broj ne transformise do nule*}
writeln('Inverzan broj je ',inverz);
readln
end.
138. Napisati program koji, korišdenjem repeat
naredbe,odredjuje najmanji broj parnih brojeva od 2 čija je
suma veda od R.
var
s,a,k,r:integer;
begin
write('Unesite R:');
readln(r);
s:=0;
a:=0;
k:=0;
repeat
a:=a+2;
s:=s+a;
k:=k+1;
until s>r;
write('K=',k);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
55
6.Struktuirani tip podatka – Niz
139. Napisati program kojim se izračunava srednja
vrednost niza x od n elemenata.
var
x:array[1..50] of real;
i,n:integer;
suma:real;
begin
write('Unesite broj elemenata niza,ne veci od 50:');
readln(n);
suma:=0; {*suma se inicijalizuje nulom*}
for i:=1 to n do
begin
write('Unesi x[',i,']=');
readln(x[i]); {*Ucitava element niza*}
suma:=suma+x[i];
{*Suma se uvecava za ucitani clan niza*}
end;
writeln('Srednja vrednost niza je:',suma/n:10:2);
readln;
end.
140. Napisati program kojim se izračunava maksimalna
vrednost niza x od n elemenata (n≤50).
var
x:array[1..50] of real;
MaxX:real;
i,n:integer;
begin
write('Unesite broj elemenata niza,ne veci od 50:');
readln(n);
writeln('Unesite elemente niza->');
for i:=1 to n do
begin
write('Unesi x[',i,']=');
readln(x[i]);
end;
MaxX:=x[1]; {*MaxX dobija tekuci maximum*}
for i:=2 to n do
if MaxX<x[i]
then MaxX:=x[i]; {*korekcija maksimuma vecim clanom
niza*}
writeln('Maximum niza je:',MaxX:10:2);
readln
end.
Pripremni zadaci za prijemni ispit iz programiranja
56
141. Napisati program koji od korisnika učitava ceo broj
n,1 ≤ n ≤ 5000 , potom n realnih brojeva i odredjuje
koliko njih je strogo vede od proseka svih učitanih
realnih brojeva.
var
n,i,k:integer;
suma,prosek:real;
a:array[1..5000] of real;
begin
write('Unesite n:');
readln(n);
if (n<1) or (n>5000) then
writeln('n mora biti izmedju 1 i 5000')
else begin
(*ucitavamo*)
writeln('Unesite ',n,' brojeva:');
for i:=1 to n do readln(a[i]);
(*racunamo prosek*)
suma:=0.0;
for i:=1 to n do suma:=suma+a[i];
prosek:=suma/n;
(*brojimo one koji su strogo veci od proseka*)
k:=0;
for i:=1 to n do
if a[i] > prosek then k:=k+1;
writeln('Ima ih:',k);
readln;
end
end.
142. Dat je prirodan broj N.Napisati proceduru koja de
generisati i odštampati niz cifara broja N, počev od
cifre najmanje težine.
(Primer:N=2345,NIZC=[2,3,4,5]
var
n:longint;
k,i:integer;
c:array [1..10] of integer;
(*longint moze imati najvise 10 cifara*)
begin
write('Unesite n:');
readln(n);
if n<1 then
writeln('n mora biti pozitivan')
else begin
k:=0;
while n>0 do begin
k:=k+1;
c[k]:=n mod 10;
n:=n div 10;
end;
write('[',c[k]);
for i:= k-1 downto 1 do write(',',c[i]);
writeln(']');
readln
end
end.
Pripremni zadaci za prijemni ispit iz programiranja
57
7. Ostali zadaci
143. Napisati program koji od korisnika učitava
prirodne brojeve n i k i potom računa zbir k-tih stepena
prvih n prirodnih brojeva tj:
var
n,k,s,i,j,p:integer;
begin
writeln('Unesite n i k:');
readln(n,k);
s:=0;
for i:=1 to n do
begin
p:=1;
for j:=1 to k do
p:=p*i;
s:=s+p;
end;
write(s);
readln
end.
144. Niz Fibionačevih brojeva je definisan ovako:
F1=1, F2=1, Fn=Fn-1+Fn-2 n≥3
var
n,i,znak:integer;
sum,f1,f2,f3:real;
begin
write('Unesite n:');
readln(n);
if n=1 then
sum:=1
else if n=2 then
sum:=0
else begin
sum:=0;
znak:=1;
f2:=1;
f3:=1;
for i:=3 to n do
begin
f1:=f2;
f2:=f3;
f3:=f1+f2;
sum:=sum+znak/f3;
znak:=-znak;
end
end;
writeln('Zbir je:',sum:10:2);
readln;
end.
Pripremni zadaci za prijemni ispit iz programiranja
58
145. Napisati program koji od korisnika učitava prirodan
broj n, 2≤n≤50, realan broj x i potom računa i štampa
vrednost izraza:
var
n,i,znak:integer;
suma,x,stepen:real;
begin
write('Unesite x:');
readln(x);
write('Unesite n:');
readln(n);
if (n<2) or (n>50) then
write('n mora biti izmedju 2 i 50')
else begin
znak:=1;
stepen:=1.0;
suma:=0.0;
for i:=2 to n do
begin
znak:=-znak;
stepen:=stepen*x;
suma:=suma+znak*stepen/(sqr(i)-1);
end;
writeln('Sume je:',suma:5:2);
readln
end;
end.
Pripremni zadaci za prijemni ispit iz programiranja
59
8. Literatura
Metodička zbirka zadataka iz programiranja – Milan Čabarkapa,Nevenka Spalevid , CET
Osnove programiranja u Pascalu –Milan Čabarkapa,Krug
Računarstvo i infromatika za 3. razred gimnazije – Milan Čabarkapa, Krug
Računarstvo i informatika za I razred gimnazije – Nedeljko Parezanovid – Zavod za udzbenike i
nasta.sredstva
Računarstvo i informatika za IV razred gimnazije – Miodrag Stojanovid – Zavod za uzbenike i nast.sredstva