59
UNIVERZITET U NOVOM SADU PRIRODNO-MATEMATIČKI FAKULTET DEPARTMAN ZA MATEMATIKU I INFORMATIKU Pripremni zadaci za prijemni ispit iz Programiranja -Pascal- morgensterncyber Нови Сад

69747097 Reseni Zadaci Iz Programskog Jezika Pascal

Embed Size (px)

Citation preview

Page 1: 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

Нови Сад

Page 2: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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 !!! ****

Page 3: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 4: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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

Page 5: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 6: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 7: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 8: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 9: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 10: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 11: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 12: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 13: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 14: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 15: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 16: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 17: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 18: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 19: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 20: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 21: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 22: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 23: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 24: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 25: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 26: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 27: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 28: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 29: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 30: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 31: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 32: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 33: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 34: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 35: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 36: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 37: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 38: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 39: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 40: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 41: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 42: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 43: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 44: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 45: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 46: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 47: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 48: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 49: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 50: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 51: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 52: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 53: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 54: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 55: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 56: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 57: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 58: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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.

Page 59: 69747097 Reseni Zadaci Iz Programskog Jezika Pascal

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