You are on page 1of 59

UNIVERZITET U NOVOM SADU PRIRODNO-MATEMATIKI FAKULTET DEPARTMAN ZA MATEMATIKU I INFORMATIKU

Pripremni zadaci za prijemni ispit iz Programiranja -Pascal-

morgensterncyber

Pripremni zadaci za prijemni ispit iz programiranja

Kome je ova knjiga namenjena?


Ova knjiga odnosno zbirka zadataka je prvenstveno namenjena bududim studentima koji nameravaju da upiu Prirodno-matematiki fakultet Novom Sadu i to sledede smerove: - Informatika - Matematika - Primenjena matematika U zbirci se nalazi 145 detaljno uradjenih zadataka. Ovu zbriku moe koristiti svako ko je zainteresovan za uenje osnova programiranja u pascalu. Svi programi u zbirka testirani su u Turbo Pascalu 7 i Delphi 7. Ova zbirka ne sadri teorijske osnove programiranja! Zbirku je sastavio srednjokolac tako da su mogude greke kao da neka reanja zadataka nisu ba najbolja!

**** Iza ove zbirke ne stoji Prirodno-matematiki fakultet !!! ****

Pripremni zadaci za prijemni ispit iz programiranja

1.Programi sa prostom linijskom strukturom

1. Napisati program koji na ekran ispisuje poruku Hello World.

4. Napisati program koji odredjuje koliko se puta prvi uneti broj sadri 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 duine u cm pretvara u ine. 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.

Begin writeln('Hello World'); readln end. 2. Napisati program koji izraunava 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 izraunava zapreminu na osnovu unete duine,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 3 end.

Pripremni zadaci za prijemni ispit iz programiranja 6. Napisati program koji unetu veliinu 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 rauna potronja 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. 9. Napisati program koji prevodi teinu 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 izraunava 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

8. Napisati program kojim se rauna hipotenuza i povrina 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.

Pripremni zadaci za prijemni ispit iz programiranja 11. Napisati program koji pomae kasirki da obrauna kusur,tako to od nje trai da unese jedininu 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 rauna potrebno vreme za download unete veliine fajla,pri unetoj brzini. Program treba da ispie 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 rauna ukupan broj poena uenika,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 ispie Greka u unosu) kao i broj poena na prijemnom ( koji ne sme biti manji od 0 niti vedi od 60). var Prva,Druga,Treca,Cetvrta,Skola,Prijemni,Bodovi:real; begin write('Unesite uspeh u I godini:'); readln(Prva); write('Unesite uspeh u II godini:'); readln(Druga); write('Unesite uspeh u III godini:'); readln(Treca); write('Unesite uspeh u IV godini:'); readln(Cetvrta); write('Unesite broj osvojenih poena na prijemnom:'); readln(Prijemni); skola:=(prva+druga+treca+cetvrta)*2; Bodovi:=Skola+Prijemni; if (Prva>=2) and (prva<=5) and (druga>=2) and (druga<=5) and (treca>=2) and (treca<=5) and (cetvrta>=2) and (cetvrta<=5) and (prijemni<=60) and (prijemni>=0) then writeln('Ukupan broj bodova je ',bodovi:5:2) else writeln('Pogresili ste negde u unosu podataka!'); readln end.

Pripremni zadaci za prijemni ispit iz programiranja 14. Napisati program koji izraunava obim i povrinu kvadrata i program koji izraunava povrinu i obim pravougaonika. a)Povrina 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) Povrina 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 izraunava ugao u stepenima i minutama. var s:real; step,min:integer; begin write('Unesite ugao u stepenima:'); readln(s); step:=trunc(s); min:=round((s-trunc(s))*60); writeln(s:10:2,' stepeni je:',step,' stepeni ',Min,' minuta'); readln end.

Pripremni zadaci za prijemni ispit iz programiranja

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 ispie poruku o tome. var broj1,broj2:integer; begin write('Unesite broj1:'); readln(broj1); write('Unesite broj2:'); readln(broj2); if broj1>broj2 then writeln('Broj1 je veci od broja2') else if broj1=broj2 then writeln('Brojevi su jednaki') else writeln('Broj2 je veci od broja1'); readln end. 18. Imamo da je C = 5 korisnik unosi vrednost A i B. Ako je A vede od B vrednost C de se uvedati za 12. U suprotnom C de ostati 5. var a,b,c:integer; begin c:=5; writeln('Unesite a:'); readln(a); writeln('Unesite b:'); readln(b); if a>b then c:=c+12; writeln('C=',C:2); readln end.

Pripremni zadaci za prijemni ispit iz programiranja

19. Napisati program kojim se promenljivoj Max dodeljuje Napisati program kojim se proverava da li je uneti broj 21. vedi od dva uneta broja. paran ili nije. var var broj:integer; a,b,max:integer; begin begin write('Unesite broj:'); write('Unesite a i b:'); readln(broj); readln(a,b); if broj mod 2=0 then if a>b writeln('Broj je paran') then max:=a else else max:=b; writeln('Broj je neparan'); writeln('Max=',max); readln readln end. 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.

22. Napisati program koji izraunava kv.koren unetog broja.Ako je ulazni podatak nekonkretan ispisuje se odogovarajuda poruka. var x:real; begin write('Unesite broj:'); readln(x); if x>=0 then writeln('Kvadratni koren iz x= ',x:0:2,' je ',sqrt(x):0:2) else writeln('Ne postoji kvadratni koren negativnog broja'); readln end.

Pripremni zadaci za prijemni ispit iz programiranja

23 .Napisati program koji zavisno od uitane vrednosti,izraunava 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 uitava 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 uitana broja ispitati da li je jedan do njih jednak sumi druga dva broja. var a,b,c:integer; begin writeln('Unesite A:'); readln(A); writeln('Unesite B:'); readln(B); writeln('Unesite C:'); readln(C); if (A=B+C) or (B=A+C) or (C=A+B) then writeln('DA') else writeln('NE'); readln end.

Pripremni zadaci za prijemni ispit iz programiranja

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 izraunava povrinu krunog poprenog preseka na osnovu spoljanjeg i unutranjeg poluprenika (kontroliudi tanost 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.

10

Pripremni zadaci za prijemni ispit iz programiranja

28 .Napisati program koji na osnovu trajanja telefonskog razgovora i cene u minutama izraunava 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 izraunava iznos poreza za unetu platu. Ako je bruto plata veda od iznosa 1000e porez je 20%,inae 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 teinu.Idealna teina osobe mukog pola je manja od visine za 100,a enskog pola za 110.Predvideti unos identifikatora pola 1muski,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.

11

Pripremni zadaci za prijemni ispit iz programiranja

31.Napisati program koji na osnovu unete visine,teine i indikatora pola osobe ispisuje odgovarajudu poruku: Vi imate idealnu teinu,treba da se poravite..kg,treba da smrate 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 izraunava 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.

12

Pripremni zadaci za prijemni ispit iz programiranja

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 taku (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.

13

Pripremni zadaci za prijemni ispit iz programiranja

35. Napisati program koji od korisnika uitava godinu (broj izmedju 1538 i 10000) i utvrdjuje da li je ona prestupna. Po gregorijanskom kalendaru prestupne godine odredjuju se na slededi nain: -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 moe formirati od datih A atoma vodonika,B atoma sumpora i C atoma kiseonika. Traeni 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. 14

Pripremni zadaci za prijemni ispit iz programiranja 37. Ako se od odeaka sa duinama x,y,z moe konstruisti trougao,izraunati njegovu povrinu po formuli: 38. Napisati program kojim se dati brojevi a,b i c udvostrucuju,ako je abc ,a u protivnom se zamenjuju apsolutnim vrednostima.

gde je

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.

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. 39.Napisati program kojim se reava jednaina 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.

15

Pripremni zadaci za prijemni ispit iz programiranja

40.Napisati program kojim se se izraunava y po formuli:

42. Napisati program kojim se dva data realna broja premetaju tako da vai poredak AB 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.

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 (ABC).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.

43. Napisati program kojim se vrednosti tri broja premetaju tako da vai poredak ABC 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. 16

Pripremni zadaci za prijemni ispit iz programiranja

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 razliite 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.

17

Pripremni zadaci za prijemni ispit iz programiranja

46.Napisati naredbu uslovnog prelaska kojom se vrednosti promenljive f izraunavaju po formuli.

47. Upotrebom sloene 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.

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

18

Pripremni zadaci za prijemni ispit iz programiranja

47. Upotrebom sloene 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 izraunava 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.

19

Pripremni zadaci za prijemni ispit iz programiranja 50. Napisati naredbu uslovnog prelaska kojom se za dato x izraunava y po formuli: 51. Napisati naredbu uslovnog prelaska koijm se za dato x izrauava y po forumli:

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 izraunava 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 jednainom 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.

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.

20

Pripremni zadaci za prijemni ispit iz programiranja

2.1 Naredbe viestrukog grananja


54. Naredbu uslovnog prelaska kojom se izraunava 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 odlian,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.

21

Pripremni zadaci za prijemni ispit iz programiranja 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 sluaju 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 izraunava povrinu 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,4krug):'); 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.

22

Pripremni zadaci za prijemni ispit iz programiranja

60. Ako se sa ulaza uitavaju tri prirodna broja k1,k2,k3, koji oznaavaju redni broj dana u godini, ispitati da li oznaavaju isti dan u nedelji.Na primer isti dan oznaavaju 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 uitani ugao u stepenima koji moe 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 uitava 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.

23

Pripremni zadaci za prijemni ispit iz programiranja 63. Napisati program koji izraunava realna reenja kvadratne jednaine ax2+bx+c = 9 (a0) 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.

24

Pripremni zadaci za prijemni ispit iz programiranja

3. Iteracija - naredba ciklusa sa parametrom For

64. Napisati program kojim se ispisuju velika slova latininog alfabeta i njihovi redni brojevi. var slovo:char; begin for slovo:='A' to 'Z' do writeln(slovo,' ',ord(slovo)); readln; end.

66. Za vrednost od 1 od n unetog broja napisati i program za uitavanje,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.

65. Napisati program kojim se izraunava vrednost logike 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.

25

Pripremni zadaci za prijemni ispit iz programiranja 67. Sa tastature se uitava 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.

26

Pripremni zadaci za prijemni ispit iz programiranja 68. Preduzede plada honorarno zaposlene sa C dinara po satu.Napisati program koji za n radnika uitava ime kao podatak tipa string (ne dui 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.

27

Pripremni zadaci za prijemni ispit iz programiranja

69. Napisati program kojim se za dato n izraunava 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.

71. Uitanom trocifrenom broju razdvojiti sve cifre. Naprimer za : 451 ...program treba da ispie 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.

70.Napisati program kojim se izraunava 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. 72. Sa tastature se unose 10 brojeva.Napisati program koji rauna 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.

28

Pripremni zadaci za prijemni ispit iz programiranja 73. Napisati program kojim se izraunava 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. 75. Napisati program koji proverava da li je uneti broj savren 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. 76. Napisati program za izraunavanje i tampanje realne funkcije

74. Napisati program kojim se odredjuju i ispituju svi savreni brojevi od 2 do m.Broj je savren ako je jednak sumi svojih delitelja iskljuujudi njega samog.Naprimer 28 je savren 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.

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. 29

Pripremni zadaci za prijemni ispit iz programiranja

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.

Reenje 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 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 Reenje 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. 30 var b,a,x:integer; begin write('Unesite A i B:'); readln(a,b); writeln('X':10,'Y':10); writeln('--------------'); for x:=a to b do writeln(x:10,sqr(x)-1:10); readln end.

Pripremni zadaci za prijemni ispit iz programiranja

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.

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 uitanog 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.

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. 31

Pripremni zadaci za prijemni ispit iz programiranja 84.N predavaa u centru za talente dri predavanje po ceni asa sa C.Napisati program kojim se za svakog predavaa uitava koliko je odrao 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 uitava ocena uenika i izraunava njegova prosena 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.

32

Pripremni zadaci za prijemni ispit iz programiranja

86.Sportista je planirao da u toku N dana priprema prvi dan pretrii A kilometara,a slededeg 10% vie od norme prethodnog dana.Napraviti tabelu iz koje se vidi koliko sportista treba da pretrii svakog dana priprema kao i koliko sportista treba da pretri svakog dana priprema kao i koliko de ukupno pretrati 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.

33

Pripremni zadaci za prijemni ispit iz programiranja 87. Sportista je planirao da u toku N dana priprema prvog dana pretri A kilometara na svaki: a) tredi dan b) m ti dan Reenje 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. Reenje 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.

34

Pripremni zadaci za prijemni ispit iz programiranja 88.Napisati program kojim se izraava zbir prvih N a) prirodnih brojeva b) parnih prirodnih brojeva Reenje 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. Reenje pod b) 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 tanosti matematikih formula za izraunavanje sume. 89.Napisati program koji rauna zbir niza koji je definisan kao:

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. 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.

35

Pripremni zadaci za prijemni ispit iz programiranja 90 .b) Napisati program za proveru tanosti matematikih formula za izraunavanje sume. 92 a).Napisati program kojim se izraunava zbir prvih n lanova reda:

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 aritmetike 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.

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 izraunava 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.

36

Pripremni zadaci za prijemni ispit iz programiranja 92. c) Napisati program kojim se izraunava zbir prvih n lanova reda. 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 izraunava zbir s:

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.

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.

37

Pripremni zadaci za prijemni ispit iz programiranja 95. a) Napisati program kojim se za realno x izraunava 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 izraunava:

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.

.....
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.

38

Pripremni zadaci za prijemni ispit iz programiranja 96 b) Napisati program kojim se izraunava: 98 .Napisati program kojim se za dati prirodan broj n izraunava

.....
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 izraunava: 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 izraunava

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.

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. 39

Pripremni zadaci za prijemni ispit iz programiranja 100. Dat je slededi niz 101.Napisati program kojim se,ako su dati prirodan broj n i realan broj x izraunava.

Napisati program koji rauna 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.

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.

40

Pripremni zadaci za prijemni ispit iz programiranja 102.Napisati program kojim se,ako su dati prirodan broj n i realan broj x izraunava. 104. U banku je ulaga poloio S dinara sa mesenom kamatom P procenta,koja se obraunava na iznos koji je obeleio 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 izraunava 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.

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 izraunava 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. 41

Pripremni zadaci za prijemni ispit iz programiranja 106. Napisati niz naredbi kojim se za date k i n (k<n), izraunava suma: 108 .Priblina vrednost broja moe se odrediti pomodu Georgijeve formule : 4Pk gde je:

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.

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.

42

Pripremni zadaci za prijemni ispit iz programiranja 109.Napisati program koji od korisnika uitava realan broj x i ceo broj n2 i potom rauna i tampa vrednost. 110.Napisati program koji od korisnika uitava 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.

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.

43

Pripremni zadaci za prijemni ispit iz programiranja

4.Iteracija Naredba sa postuslovom While


111. Napisati program koji uitani broj n transformie 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 aritmetike 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 izraunavanje 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.

44

Pripremni zadaci za prijemni ispit iz programiranja 115. Napisti program kojim se izraunava srednja vrednost niza realnih brojeva razliitih od nule,ija duina 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. 45

Pripremni zadaci za prijemni ispit iz programiranja 119. Napisati program kojim se odredjuje n-ti lan Fibionaijevog 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. 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. 121. Napisati program koji tampa stepene dvojke ne vede od n.

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.

46

Pripremni zadaci za prijemni ispit iz programiranja 123. Ispisati tablicu vrednosti funkcije x3 za vrednosti x ne vedi od n poev 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 poev 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.

47

Pripremni zadaci za prijemni ispit iz programiranja 126. Napisati program kojim se odredjuje koliko je potrebno uzeti lanova aritmetike 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)Reenje 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.

48

Pripremni zadaci za prijemni ispit iz programiranja b) Reenje 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. 128. Napisati program kojim se odredjuje najvedi zajedniki 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 duina nije ograniena i kome se kraj unosa oznaava nulom a) odreuje maksimalnu vrednost u nizu b) koliko je elemenata u najduoj seriji jednakih c) koliko je elemenata u najduoj rastudoj seriji elemenata koji se medjusobno razlikuju za 1

c) Reenje 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.

a)Reenje 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. 49

Pripremni zadaci za prijemni ispit iz programiranja b) Reenje 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) Reenje 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.

50

Pripremni zadaci za prijemni ispit iz programiranja 130. Napisati program kojim se za dati prirodni broj n izraunava suma: 132. Napisati program kojim se izrunava suma prvih n (n>2) lan Fibionaevog niza var fpp,fp,fn,n,i,s:integer; 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 izraunava 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. 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.

51

Pripremni zadaci za prijemni ispit iz programiranja 133. Napisati program za izraunavanje 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,taaka i interpukcijskih znakova tipa: zarez,dvotaka,taka-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.

52

Pripremni zadaci za prijemni ispit iz programiranja

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. 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. 136. Priblina vrednost broja moe se odrediti pomodu Georgijeve formule : 4Pk gde je:

53

Pripremni zadaci za prijemni ispit iz programiranja 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, koridenjem 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.

54

Pripremni zadaci za prijemni ispit iz programiranja

6.Struktuirani tip podatka Niz


139. Napisati program kojim se izraunava 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 izraunava maksimalna vrednost niza x od n elemenata (n50). 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.

55

Pripremni zadaci za prijemni ispit iz programiranja 141. Napisati program koji od korisnika uitava ceo broj n,1 n 5000 , potom n realnih brojeva i odredjuje koliko njih je strogo vede od proseka svih uitanih 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 odtampati niz cifara broja N, poev od cifre najmanje teine. (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.

56

Pripremni zadaci za prijemni ispit iz programiranja

7. Ostali zadaci
143. Napisati program koji od korisnika uitava prirodne brojeve n i k i potom rauna zbir k-tih stepena prvih n prirodnih brojeva tj: 144. Niz Fibionaevih brojeva je definisan ovako: F1=1, F2=1, Fn=Fn-1+Fn-2 n3

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.

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.

57

Pripremni zadaci za prijemni ispit iz programiranja 145. Napisati program koji od korisnika uitava prirodan broj n, 2n50, realan broj x i potom rauna 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.

58

Pripremni zadaci za prijemni ispit iz programiranja

8. Literatura

Metodika zbirka zadataka iz programiranja Milan abarkapa,Nevenka Spalevid , CET Osnove programiranja u Pascalu Milan abarkapa,Krug Raunarstvo i infromatika za 3. razred gimnazije Milan abarkapa, Krug Raunarstvo i informatika za I razred gimnazije Nedeljko Parezanovid Zavod za udzbenike i nasta.sredstva Raunarstvo i informatika za IV razred gimnazije Miodrag Stojanovid Zavod za uzbenike i nast.sredstva

59

You might also like