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

Reseni Zadaci Iz Programskog Jezika - Pascal

Embed Size (px)

DESCRIPTION

zadaci

Citation preview

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