Reseni zadaci iz programskog jezika - Pascal

Embed Size (px)

DESCRIPTION

Rešeni zadaci iz programskog jezika Pascal oko 150 kompletno rešenih zadataka !Napomena: Zadaci možda imaju greške a rešenja možda i nisu baš najbolja.

Citation preview

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

2

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.

4

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=2) and (druga=2) and (treca=2) and (cetvrtabroj2 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.

7

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.

8

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.

9

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.

l

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 (g10000) 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=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 ab then c:=1; If a>c then d:=2; If ac then d:=2; If a'); readln(a); while a0 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