8/7/2019 Zbirka Zadataka Sa Resenjima[1]
1/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:
Neka je data jednaina bax + =0. Promenljive a i b se unose sa tastature.Napii program koji za svaku vrednost a i b daje reenja jednaine. Rezultatprikai u formatu od 8 mesta sa 2 decimale.Reenje:Reenje je jednaine x=-b/a pa e program izgledati kao:
program prog;
Uses CRT;
var
a,b,x : real;
begin
ClrScr;
Write('Unesi parametar a : ');
ReadLN(a);
Write('Unesi parametar b : ');
ReadLn(b);
x := -b/a;
WriteLn('Resenje jednacine je x=',x:8:2);
ReadLn
End.
Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava zbir samo negativnih brojeva. Rezultat prikai u formatu od 5 mesta.
Reenje:
Program izgleda ovako:
program prog;
Uses CRT;
var
n1,n2,n3,s : integer;
begin
ClrScr;
Write('Unesi n1 : ');
ReadLn(n1);
Write('Unesi n2 : ');
ReadLn(n2);Write('Unesi n3 : ');
ReadLn(n3);
s := 0;
if n1 < 0 then s := s+n1;
if n2 < 0 then s := s+n2;
if n3 < 0 then s := s+n3;
WriteLn('Zbir brojeva je s=',s:5);
ReadLn
End.
1
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
2/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava ukupan broj negativnih brojeva. Rezultat prikai u formatu od 5 celihmesta.
Reenje:
Program izgleda ovako:
program prog;
Uses CRT;
var
n1,n2,n3,s : integer;
begin
ClrScr;
Write('Unesi n1 : ');
ReadLn(n1);
Write('Unesi n2 : ');
ReadLn(n2);Write('Unesi n3 : ');
ReadLn(n3);
s := 0;
if n1 < 0 then s := s+1;
if n2 < 0 then s := s+1;
if n3 < 0 then s := s+1;
WriteLn('Ukupa broj negativnih brojeva je :',s:5);
ReadLn
End.
Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava zbir brojeva koji se nalaze u intervalu 3 do 7. Rezultat prikai uformatu od 5 mesta.
Reenje:program prog;
Uses CRT;
var
n1,n2,n3,s : integer;
beginClrScr;
Write('Unesi n1 : ');
ReadLn(n1);
Write('Unesi n2 : ');
ReadLn(n2);
Write('Unesi n3 : ');
ReadLn(n3);
s := 0;
if ((n1 >=5) and (n1 =5) and (n2 =5) and (n3
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
3/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava zbir brojeva koji su deljivi sa 7. Rezultat prikai u formatu od 5 celihmesta.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
n1,n2,n3,s : integer;
begin
ClrScr;
Write('Unesi n1 : ');
ReadLn(n1);
Write('Unesi n2 : ');ReadLn(n2);
Write('Unesi n3 : ');
ReadLn(n3);
s := 0;
if (n1 mod 7 = 0) then s := s+n1;
if (n2 mod 7 = 0) then s := s+n2;
if (n3 mod 7 = 0) then s := s+n3;
WriteLn('Trazeni zbir je:',s:5);
ReadLn
End.
Zadatak:Neka se sa tastature unose brojevi n1, n2, i n3. Napii program kojim sepromenljivoj max dodeljuje najvea vrednost od unesenih brojeva. Rezultatprikai u formatu od 8 mesta sa 2 decimalna.
Reenje:Program izgleda ovako:program prog;
Uses CRT;
var
n1,n2,n3,max : real;begin
ClrScr;
Write('Unesi n1 : ');
ReadLn(n1);
Write('Unesi n2 : ');
ReadLn(n2);
Write('Unesi n3 : ');
ReadLn(n3);
max := n1;
if (n2 >= max) then max := n2;
if (n3 >= max) then max := n3;WriteLn('Najveci uneseni broj je:',max:8:2);
ReadLn
End.
3
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
4/57
n n n1 2
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Neka se sa tastature brojevi n1, n2, i n3. Napii program kojim se ovi brojeviudvajaju ako je inae se svakom broju dodeljuje njegovaapsolutna vrednost.
Reenje:
Program izgleda ovako:
program prog;
Uses CRT;
var
n1,n2,n3 : real;
begin
ClrScr;
Write('Unesi n1 : ');
ReadLn(n1);
Write('Unesi n2 : ');
ReadLn(n2);Write('Unesi n3 : ');
ReadLn(n3);
if ((n1 >= n2) and (n2 >= n3 )) then
begin n1 := 2*n1; n2 := 2*n2; n3 := 2*n3 end
else
begin n1 := abs(n1); n2 := abs(n2); n3 := abs(n3) end;
WriteLn('n1 = ',n1:8:2, ' n2 = ',n2:8:2,' n3 = ',n3:8:2);
ReadLn
End.
Zadatak:Putovanje izmeu mesta A i B traje n sekundi. Sraunaj koliko je to sati, minutai sekundi.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
n,sat,min,sek : integer;begin
ClrScr;
Write('Unesi sekunde : ');
ReadLn(n);
sat := n div 3600;
sek := n mod 3600;
min := sek div 60;
sek := sek mod 60;
WriteLn('sati = ',sat:5, ' minuta = ',min:5,' sek = ',sek:5);
ReadLn
End.
4
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
5/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Kolika e biti vrednost promenljive a ako se izvri sledei deo koda:
a := 1.56;case k mod 10 of2,3,5,7: begin a := a+7; a := trunc(a) end;
1:;4,8 : begin a := a-3; a :=round(a);9,6 : begin a:=-a; a :=a-7 end;
ako se unese a) k=312, b) k = 121, c) k = 234 d) k=416
Reenje:a) za uneseno k=312 rezultat operacije k mod 10 = 2 pa se
izvravaju sledee instrukcije:a=a+7=1.56+1=8.56
a=trunc(a)=trunc(8.56)=8a) za uneseno k=121 operacija k mod 10 = 1 pa se vrednost promenljive
a nee promeniti.b) za uneseno k=234 rezultat operacije k mod 10 = 4 pa se izvravaju
sledee instrukcije:a=a-3=1.56-3=-1.44a=round(a)=round(-1.44)=-1
c) za uneseno k=416 rezultat operacije k mod 10 = 6 pa se izvravajusledee instrukcije:
a=-a=-1.56
a=a-7=-1.56-7=-8.56
Zadatak:Neka je data sledea if naredba.
if n1>n2 then n1 :=n1+5else n1:=n2+3;
navedeni niz naredbi zameni odgovarajuom case naredbom.Reenje:Program izgleda ovako:
case n1>n2 oftrue: n1 :=n1+5;false: n1 :=n2+3
end.
Zadatak:Neka se sa tastaure unosi uspeh unika. Napisati program kojim se za unetuocenu ispisuje: 1 - nedovoljan, 2 - dovoljan, 3 - dobar, 4 - vrlodobar, 5 -odlian.
Reenje:
Program izgleda ovako:
program prog;
Uses CRT;
5
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
6/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
var
ocena : integer;
begin
ClrScr;
Write('Unesi oceun : ');
ReadLn(ocena);
case ocena of
1: WriteLn('Nedovoljan');
2: WriteLn('Dovoljan');
3: WriteLn('Dobar');
4: WriteLn('Vrlodobar');
5: WriteLn('Odican');
end;
ReadLn
End.
Zadatak:Neka je data slede}a grupa naredbi.
a := 5;for i :=1 to 5 doa :=a-i;a :=a-4;
kolika e biti vrednost promenljive a posle izvrenja datog koda ?Reenje:1. prolaz:
a=a-i=5-1=42. prolaz:
a=a-i=4-2=23. prolaz:a=a-i=2-3-=1
4. prolaz:a=a-i=-1-4=-5
5. prolaz:a=a-i=-5-5=-10
i na kraju se izvrava naredba:a=a-4=-10-4=-14
Primetite da je u telu ciklusa samo naredba a := a-i koja e biti izvrena petputa, dok e naredba a :=a-4 biti izvrena samo jednom.
Zadatak:Napisati program koristei instrukciju for kojom se rauna zbir brojeva od 1 do100 koji su deljivi sa 7 i sa 3.
Reenje:Program za reenje ovog zadatka je:
program prog;
Uses CRT;var
s, i : integer;
6
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
7/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
begin
ClrScr;
s :=0;
for i:=1 to 100 do
if ((i mod 7 =0) and (i mod 3 = 0)) then s :=s+i;
WriteLn('Trazeni zbir je ',s:5);
ReadLn
End.
Brojevi koji zadovoljavaju dati uslov su: 21, 42, 63 i 84 iji je zbir 210.
Zadatak:Napisati program koristei instrukciju for kojom se rauna zbir brojeva od 1 do100 ija je zadnja cifra 9.
Reenje:Program za reenje ovog zadatka je:
program prog;Uses CRT;
var
s, i : integer;
begin
ClrScr;
s :=0;
for i:=1 to 100 do
if ((i mod 7 =0) and (i mod 3 = 0)) then s :=s+i;
WriteLn('Trazeni zbir je ',s:5);
ReadLn
End.
Brojevi koji zadovoljavaju ovaj uslov su 9, 19, 29, 39, 49, 59, 69, 79, 89 i 99iji je zbir 540.
Zadatak:Neka se sa tatature unosi 10 realnih brojeva. Napisati program kojim sesraunava njihov zbir i njihov proizvod.
Reenje:
Program za reenje ovog zadatka je:program prog;
Uses CRT;
var
a, zbir, proizvod : real;
i : integer;
begin
ClrScr;
zbir :=0; proizvod :=1;
for i :=1 to 10 do
beginWrite('Unesi ',i,' - broj :');
ReadLn(a);
zbir :=zbir+i;
7
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
8/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
proizvod :=proizvod*i
end;
WriteLn('Zbir brojeva je ',zbir:8:2,' Proizvod je :
',proizvod:8:2);
ReadLn
End.
Primetite da je poetni uslov za zbir nula, dok je to za proizvod 1.
Zadatak:Poznato je u matematici da je faktorijel nekog celog broja definisan kao:
faktorije=n!=1*2*...*nNapii program koristei instrukciju for kojom se rauna faktorijel broja nunesenog sa tastature.
Reenje:Program za reenje ovog zadatka je:
program prog;
Uses CRT;
var
faktorijel : real;
n,i : integer;
begin
ClrScr;
faktorijel :=1;
Write('Unesi zadati broj n :');
ReadLn(n);
for i :=1 to n dobegin
faktorijel :=faktorijel*i
end;
WriteLn('Faktorijel broja ',n,' je = ',faktorijel:13:2);
ReadLn
End.
Zadatak:Napisati program koristei instrukciju for kojom se rauna zbir niza koji jedefinisan kao:
s=0-1+2=3+4...(-1)nnza broj n koji se unosi sa tastature.Reenje:program prog;
Uses CRT;
var
zbir : real;
i, n,pred : integer;
begin
ClrScr;
Write('Unesi zadati broj n :');
ReadLn(n);
pred :=-1;
zbir :=0;
for i :=1 to n do
8
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
9/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
begin
zbir := zbir+(pred)*i;
pred :=-pred
end;
WriteLn('Trazeni zbir niza je ',zbir:8:2);
ReadLn
End.
Primetite da smo za reavanje ovog zadatka morali definisati promenljivupred, koja moe imati vrednost 1 ili - 1 i u svakom ciklusu se manja i to zaneparan i jednaka je - 1 a za paran 1.
Zadatak:Neka je dat niz:
s=sin(x)+sin2(x)+sin3(x)+...+sinn(x).Napisati program koristei instrukciju for kojom se rauna ovaj zbir ako se satastature unosi n i broj x.
Reenje:program prog;
Uses CRT;
var
zbir, pro, x : real;
n, i : integer;
begin
ClrScr;
Write('Unesi zadati broj n :');
ReadLn(n);
Write('Unesi broj x :');
ReadLn(x);zbir :=0;
pro := 1;
for i :=1 to n do
begin
pro :=pro*sin(x);
zbir := zbir+pro;
end;
WriteLn('Trazeni zbir niza je ',zbir:8:2);
ReadLn
End.
Zadatak:Napii program kojim se odreuju svi prosti brojevi od 3 do 1000 kao i
njihov ukupan broj.
Reenje:Program za reenje ovog zadatka je:
program prog;
Uses CRT;
vari, j, k,i2, a, broj: integer;
c1: char;
begin
9
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
10/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
ClrScr;
Writeln;
WriteLn;
WriteLn(' PROSTI BROJEVI OD 1 DO 1000 ');
WriteLn;
WriteLn;
broj :=0;
for i :=3 to 1000 do
begin
j := i div 2;
a :=0;
for k :=2 to j do
begin
i2 := i mod k;
if i2 = 0 then a :=1;
end;
if a=0 then begin Write(' ',i); broj :=broj+1; end;
end;WriteLn;
WriteLn;
WriteLn('Ukupno takvih brojeva : ', broj);f
ReadLn(c1);
end.
Zadatak:
Neka je data sledea grupa naredbi:s :=0; i :=-1;while s
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
11/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
5.prolazs=s+0.7=2.8+0.7=3.5i=i+3=11+3=14
6. prolazs=s+0.7=3.5+0.7=4.2i=i+3=14+3=17
7. prolazbudui da je s = 4.2 > 4 ovog prolaza nema pa se izvrava instrukcija iza
while ciklusa s :=s+i = 4.2+17=21.2Zadatak:
Neka je data sledea grupa naredbi:s :=1; i :=1;while s b dobeginc :=a*b;c :=c+aend;
Kako e se izvriti ova grupa naredbi.
11
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
12/57
Sn
= + + + +
1
1
3
1
5
1
2 12 2 2... ( )
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Reenje:Ako je a b program e trajno ostati u telu ciklusa takozvanom beskonanomciklusu.
Zadatak:Napii program kojim se sabiraju svi neparni brojevi od 100 do 1000
upotrebom while naredbe.
Reenje:Program za reenje ovog zadatka je:
program prog;
Uses CRT;
var
zbir : real;
i : integer;
begin
ClrScr;
zbir :=0;
i := 101;
while i < 1000 do
begin
zbir :=zbir+i;
i :=i+2;
end;
WriteLn('Trazeni zbir je ',zbir:8:2);ReadLn
End.
Primetite da smo kao prvi neparni broj uzeli broj 101 a svaki sledeineparni je za 2 vei od prethodnog. Ciklus e se zavriti kada i dostignevrednost od 1001 ali taj broj nee ui u zbir. Inae traeni zbir je 247500.
Zadatak:Napii program upotrebom while naredbe kojim se izraunava zbir niza za
svaki broj n unesen sa tastature ako je dat niz:
Reenje:Program za reenje ovog zadatka je:
program prog;
Uses CRT;
var
zbir, j : real;
n,i : integer;begin
ClrScr;
Write('Unesi broj n : ');
12
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
13/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
ReadLn(n);
zbir :=0;
i := 1;
while i
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
14/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
i=i+2=3+2=53.prolaz
s=s+0.6=2.2+0.6=2.8i=i+2=5+2=7
4.prolazs=s+0.6=2.8+0.6=3.4
i=i+2=7+2=95.prolaz
s=s+0.6=3.4+0.6=4.0i=i+2=9+2=11
uslov je zadovoljen pa se naputa repeat ciklus pa e s biti:s=s+i = 4.0+11=15
Zadata k:Neka je data slede}a grupa naredbi:
s :=0; i :=-1;
repeats :=s+0.7;i :=i+3
until s=4.2;s :=s+i;
Kolike e biti vrednosti promenljivih s i i nakon naputanja navedenog koda.
Reenje:
1. prolaz
s=s+0.7=0+0.7=0.7i=i+3=-1+3=22.prolaz
s=s+0.7=0.7+0.7=1.4i=i+3=2+3=5
3.prolazs=s+0.7=1.4+0.7=2.1
i=i+3=5+3=84.prolaz
s=s+0.7=2.1+0.7=2.8i=i+3=8+3=11
5.prolazs=s+0.7=2.8+0.7=3.5i=i+3=11+3=14
6. prolazs=s+0.7=3.5+0.7=4.2
i=i+3=14+3=17budui da je uslov zadovoljen to je s=s+i=4.2+17=21.2.
Zadatak:Napii program kojim se upotrebom repat instrukcije traii zbir brojeva od
100 do 300 ija je zadnja cifra 7.
Reenje:
14
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
15/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
program prog;
Uses CRT;
var
zbir, j : real;
n,i : integer;begin
ClrScr;
zbir :=0;
i := 100;
repeat
if (i mod 10 = 7) then zbir := zbir+i;
i :=i+1
until i = 301;
WriteLn('Trazeni zbir je :',zbir:8:2);
ReadLn
End.
Zadatak:Napii program upotrebom repeat instrukcije kojim se trai zbir brojeva od
1 do 100 deljivih sa 6 i 4. Brojevi od 50 do 60 ne ulaze u taj zbir.
Reenje:
program prog;
Uses CRT;
var
zbir : real;i : integer;
begin
ClrScr;
zbir :=0;
i := 1;
repeat
if (((i mod 4 = 0) and (i mod 6 = 0)) and ((i < 50) or (i > 60)))
then zbir := zbir+i;
i := i+1;
until i = 101;
WriteLn('Trazeni zbir je :',zbir:8:2);ReadLn
End.
Zadatak:Napii program kojim se od datog prirodnog broja n formira broj sa istim
ciframa ali u inverznom poretku.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
15
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
16/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
n, i : integer;
begin
ClrScr;
Write('Unesi broj n : ');
ReadLn(n);
i := 0;
repeat
i :=i*10+n mod 10;
n :=n div 10
until n = 0;
WriteLn('Trazeni broj je :',i:8);
ReadLn
End.
Zadatak:Napii program kojim se za zadati prirodan broj n utvruje koliko on ima
binarnih jedinica ako je predstavljen u binarnom obliku.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
n, i : integer;
begin
ClrScr;
Write('Unesi broj n : ');
ReadLn(n);i := 0;
repeat
i :=i+n mod 2;
n :=n div 2
until n = 0;
WriteLn('Broj u binarnom obliku ima jedinica :',i:8);
ReadLn
End.
Zadatak:Neka se sa tastature unosi napon u i struja i. Sraunati otpor kola r
koristei funkciju otpor.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
u, i, r : real;
function otpor(u, i: real):real;begin
otpor := u/i;
end;
16
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
17/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
begin
ClrScr;
Write('Unesi napon u : ');
ReadLn(u);
Write('Unesi struju i : ');
ReadLn(i);
r := otpor(u, i);
WriteLn('Otpor kola je : ',r:8:3);
ReadLn
End.
Zadatak:Neka se sa tastature unosi celi brojevi n1 i n2. Koristei funkciju veci nai
vei broj i prikazati ga.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
n1, n2, broj : integer;
function veci(n1, n2: integer):integer;
begin
if n1 > n2 then veci := n1
else veci := n2;
end;
begin
ClrScr;Write('Unesi broj n1 : ');
ReadLn(n1);
Write('Unesi broj n2 : ');
ReadLn(n2);
broj := veci(n1, n2);
WriteLn('Veci broj je : ',broj:5);
ReadLn
End.
Zadatak:Neka se sa tastature unose etiri cela broja n1, n2, n3 i n4. Koristei
funkciju veci iz prethodnog zadataka nai najvei broj.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
n1, n2, n3, n4, broj : integer;
function veci(n1, n2: integer):integer;begin
if n1 > n2 then veci := n1
else veci := n2;
17
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
18/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
end;
begin
ClrScr;
Write('Unesi broj n1 : ');
ReadLn(n1);
Write('Unesi broj n2 : ');
ReadLn(n2);
Write('Unesi broj n3 : ');
ReadLn(n3);
Write('Unesi broj n4 : ');
ReadLn(n4);
broj := veci(veci(n1, n2), veci(n3, n4));
WriteLn('Veci broj je : ',broj:5);
ReadLn
End.
Zadatak:
Neka se sa tastature unose stranice a i b pravougaonog trougla. Sraunatihipotenuzu c a za njeno izraunavanje koristi funkciju hipotenuza.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
a, b, c : real;
function hipotenuza(a, b: real):real;
beginhipotenuza := sqrt(sqr(a)+sqr(b));
end;
begin
ClrScr;
Write('Unesi stranicu a : ');
ReadLn(a);
Write('Unesi stranicu b : ');
ReadLn(b);
c := hipotenuza(a, b);
WriteLn('Hipotenuza c je : ',c:8:5);
ReadLnEnd.
Zadatak:Neka se sa tastature unose celobrojne promenljive x i y koje mogu imati
vrednost 0, ili 1. Koristei funkciju eksluziv sraunati vrednos izlaza zaeksluzivno ili kolo.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
var
18
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
19/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
x, y, f : integer;
a, b, c : boolean;
function ekskluziv(a, b: boolean):boolean;
begin
ekskluziv := ((a and not b) or (not a and b));
end;
begin
ClrScr;
Write('Unesi ulaz x : ');
ReadLn(x);
Write('Unesi ulaz y : ');
ReadLn(y);
if x = 0 then a := true else a := false;
if y = 0 then b := true else b := false;
c := ekskluziv(a, b);
if c = true then f := 1 else f := 0;
WriteLn('Vrednost funkcije je : ',f:3);
ReadLnEnd.
Zadatak:Neka se sa tastature unosi prirodan broj n. Sraunaj zbir niza:
s =1+22+33+...nn,pri emu se n-ti lan niza rauna u funkciji clan.
Renje:Program izgleda ovako:
program prog;Uses CRT;
var
n, i, j : integer;
s, p, p1 : real;
function niz(i : integer):real;
begin
p1 := 1;
for j := 1 to i do
p1 := p1*i;
niz :=p1
end;begin
ClrScr;
Write('Unesi broj n : ');
ReadLn(n);
s := 0;
for i := 1 to n do
begin
p := niz(i);
s := s+p;
end;
WriteLn('Zbir niza je : ',s:8:2);
ReadLn
End.
19
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
20/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Neka se sa tastature unose vrednosti otpornika r1 i r2 koji su meusobno
paralelno vezani i neka je dat napon kola u=100 volti.Nai vrednost struje i kola. Otpor kola sraunaj u proceduri otpor i to
korienjem lokalnih i globalnih promenjivih.
Reenje:Program izgleda ovako ako se koriste lokalne promenljive:
program prog;
Uses CRT;
var
r1, r2, r, i : real;
const
u=100;
procedure otpor(rr1, rr2 :real; var rr : real);
begin
rr := rr1*rr2/(rr1+rr2);
end;
begin
ClrScr;
Write('Unesi vrednost otpornika r1 : ');
ReadLn(r1);
Write('Unesi vrednost otpornika r2 : ');
ReadLn(r2);
otpor(r1, r2, r);
i := u/r;
WriteLn('Struja kola i je : ',i:8:2);
ReadLn
End.
Ako se koriste globalne promenjive program bi izgledao kao:
program prog;
Uses CRT;
var
r1, r2, r, i : real;const
u=100;
procedure otpor;
begin
r := r1*r2/(r1+r2);
end;
begin
ClrScr;
Write('Unesi vrednost otpornika r1 : ');
ReadLn(r1);
Write('Unesi vrednost otpornika r2 : ');ReadLn(r2);
otpor;
i := u/r;
20
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
21/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
WriteLn('Struja kola i je : ',i:8:2);
ReadLn
End.
Zadatak:Neka je data procedura raun:
procedure racun(x1, x2 : real; var y1:real);begin
y1 := x1+trunc(x2)+round(x1)+x2;end;
i neka se ona iz programa poziva sa: racun(x,y,z);koja e biti vrednost promenljive z, ako se unese:
a) 1, 1b) 1.7 2.8
Reenje:
a) ako se unese 1, 1 onda se u proceduri racun sracuna:y1=1+trunc(1)+round(1)+1=1+1+1+1=4 to e biti pridruuenopromenljivoj z.b) Ako se unese 1.7 i 2.8 onda emo imati:
y1=1.7+trunc(2.8)+round(1.7)+2.8=1.7+2+2+2.8=8.5Zadatak:
Neka je sa tastature unose realne promenljive x i y, i neka se funkcija frauna po formuli:
Napisati program kojim se u proceduri funk rauna vrednost data funkcije.Rezultat prikai u glavnom programu.
Reenje:Program izgleda ovako:
program prog;
Uses CRT;
varx, y, f : real;
procedure funk(x1, x2 : real; var y1:real);
begin
y1 := sqrt(x1+(sqr(x1)-x2)/(sqr((x2)-x1)));
end;
begin
ClrScr;
Write('Unesi vrednost x, y : ');
ReadLn(x,y);
funk(x,y,f);
WriteLn('Vrednost promenljive f je : ',f:8:2);ReadLn
End.
21
f x x yy x
= +
2
2
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
22/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Neka je data sledei paskalski program:
program prog;
Uses CRT;
var
x, y, z, z1 : real;procedure racun(x1, x2 : real; var y1, y2 : real);
begin
y1 :=x1+sqr(x2)+sqr(x1);
y2 :=x1*x2;
end;
begin
ClrScr;
Write('Unesi vrednost x, y : ');
ReadLn(x,y);
racun(x,y,z,z1);
x :=z;y :=z1;
racun(x,y,z,z1);
WriteLn('Vrednost promenljivih z i z1 je : ',z:8:2,' ',z1:8:2);
ReadLn
End
Kolika e biti vrednost promenljivih z i z1 ako se unese:a) 1 1
b) 4 5
Reenje:a) ako se unese 1, 1 onda se u proceduri racun srauna u prvom pozivu:
y1=1+sqr(1)+sqr(1)=3y2=x1*x2=1*1=1
u drugom pozivu ulazni paramteri procedure su 3 i 1 pa e biti:y1=3+sqr(1)+sqr(3)=3+1+9=13
y2=3*1=3c) reenje je: z=2470, z1=900
Zadatak:
Neka su data dva mesta A i B ija je meusobna udaljenost s=90 km ineka se iz mesta A i B krene vozila u isto vreme. Prvo vozilo se kree brzinomv1 a drugo v2 kilometara na sat. Sraunaj u proceduri put vreme kada e se onasusresti i duinu puta s1 i s2 koja su ona pojedinano prela. Ponovi raun takoda se drugo vozilo kree za 5 km/sat bre.
Reenje:Programa za reenje zadatka je:
program prog;
Uses CRT;const
s=90;
var
22
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
23/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
v1, v2, s1, s2, t : real;
procedure put(vv1, vv2, ss : real; var ss1, ss2, tt : real);
begin
ss1 :=vv1*ss/(vv1+vv2);
ss2 :=ss - ss1;
tt := ss1/vv1;
end;
begin
ClrScr;
Write('Unesi brzine v1 i v2 : ');
ReadLn(v1,v2);
put(v1,v2, s,s1,s2,t);
WriteLn('Put s1 je: ',s1:8:2, ' s2 je: ',s2:8:5, ' vreme susreta:
',t:8:2);
v2 :=v2+5;
put(v1,v2, s,s1,s2,t);
WriteLn('Put s1 je: ',s1:8:2, ' s2 je: ',s2:8:5, ' vreme susreta:
',t:8:2);ReadLn
End.
Zadatak:Neka je data sledei paskalski program:
program prog;
Uses CRT;
var
i, j : integer;
c : char;procedure pitan(i : integer; var j: integer);
begin
if i >= 0 then
begin i := i-1; j := j+2 ; pitan(i, j);
end;
end;
begin
ClrScr;
Write('Unesi i : ');
ReadLn(i);
j := 0;pitan(i,j);
WriteLn('j je: ',j:5);
ReadLn
End. Kolika e biti vrednost promenljive j ako se unese:a) i=2b) i=5c) i=-1
Reenje:
U ovom sluaju se radi o takozvanim rekurzivnim procedurama koje poizvajusamu sebe.Razmotrimo sluaj pod a.
23
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
24/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Ulaskom u proceduru i=2, j=0, pa e biti i=i-1=2-1,j=j+2=0+2-2. Pozivprocedure je sada pitan(1, 2) pa je i=i-1=1-1=0,j=j+2=2+3=4, pa
se poziva procedura pitan(0, 4). Tada je i=i-1=0-1=-,j=j+2=4+2=6.Procedura pitan(-1, 6) svojim pozivom se zavrava budui da je i < 0 pa jerezultat j=6.
c) rezulat je j=12. Proveri !!
d) rezultat je j=0.
Zadatak:Napisati program kojim se u proceduri zbir trai suma brojeva deljivih sa 7
od 100 do 200. Rezultat prikai u glavnom programu
Reenje:Program za reenje je:
program prog;
Uses CRT;var
s : integer;
procedure zbir(var s1: integer);
var
i, ss1 : integer;
begin
ss1 := 0;
for i := 100 to 200 do
if (i mod 7 = 0) then ss1 := ss1+i;
s1 :=ss1;
end;begin
ClrScr;
zbir(s);
WriteLn('Trazeni zbir je: ',s:5);
ReadLn
End.
Primetite da procedura zbir koristi samo izlazne paramtre. U njoj su definisane ilokalne varijable.
Zadatak:
Neka je dat niz xx od od 20 elemenata. Napii program kojim seizraunava:
a) Srednja vrednost niza xx.b) Maksimalni lan nizac) indeks najveeg lana niza.
Reenje:
program prog;
Uses CRT;
type niz=array[1..20] of real;var
xx : niz;
sr, max : real;
24
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
25/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
i,j : integer;
begin
ClrScr;
max := xx[1];
sr := 0;
for i := 1 to 20 do
begin
sr := sr+xx[i];
if max < xx[i] then begin max := xx[i]; j := i end;
end;
sr := sr/20;
WriteLn('Srednja vrednost niza je: ',sr:8:5);
WriteLn('Najveci clan niza je : ',max:8:5);
WriteLn('Indeks najveceg clana je: ',j:5);
ReadLn
End.
Zadatak:Neka je dat niz yy od 20 lanova. Napii program kojim se rauna zbirpozitivnih lanova niza.
Reenje:
program prog;
Uses CRT;
type niz=array[1..20] of real;
var
yy : niz;
s : real;i : integer;
begin
ClrScr;
s := 0;
for i := 1 to 20 do
if yy[i] > 0 then s := s+ yy[i];
WriteLn('Zbir pozitivnih clanova nizaj je: ',s:8:5);
ReadLn
End.
Zadatak:Neka je dat niz xx od n elemenata. Napisati program kojim se rauna zbir
lanova niza koji su deljivi sa 3 i 7.
Reenje:
program prog;
Uses CRT;
type niz=array[1..100] of integer;
var
xx : niz;s : real;
i, n: integer;
begin
25
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
26/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
ClrScr;
Write('Unesi broj clanova niza :');
ReadLn(n);
for i := 1 to n do
begin
Write('Unesi - ',i:3,' clan : ');
ReadLn(xx[i])
end;
s := 0;
for i := 1 to n do
if (xx[i] mod 3 = 0) and (xx[i] mod 7 = 0)
then s := s+xx[i];
WriteLn('Zbir trazenih clanova niza je: ',s:8:5);
ReadLn
End.
Zadatak:
Neka je dat niza yy od n elemenata. Napisati program kojim se raunabroj lanova niza koji se nalaze u intervalu -1 < xx[i] < 7
Reenje:
program prog;
Uses CRT;
type niz=array[1..100] of real;
var
yy : niz;
i, n, br: integer;
beginClrScr;
Write('Unesi broj clanova niza :');
ReadLn(n);
for i := 1 to n do
begin
Write('Unesi - ',i:3,' clan : ');
ReadLn(yy[i])
end;
br := 0;
for i := 1 to n do
if (yy[i] > -1) and (yy[i] < 7)then br := br+1;
WriteLn('Trazeni broj clanova niza je: ',br:5);
ReadLn
End.
Zadatak:Neka su data dva niza xx i yy od po pet lanova. Napii program kojim se
rauna ukupan broj parova nizova koji na istom indeksu imaju jednakeelemente.
Reenje:
program prog;
26
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
27/57
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
28/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Neka je dat niza a od 9 elemenata pri emu se njegov prvi lan a[0] unosi satastature. Napii program kojim se formira ovaj niz ako je:
a[1]=a[0]*a[0], a[2]=a[0]*a[1], ...,a[8]=a[7]*a[6]
Reenje:
program prog;
Uses CRT;
type niz=array[0..8] of real;
var
a : niz;
i, j: integer;
begin
ClrScr;
Write('Unesi clan niza a[0] :');
ReadLn(a[0]);a[1] := sqr(a[0]);
for i := 2 to 8 do
a[i] := a[i-1]*a[i-2];
WriteLn;
WriteLn('Dobijeni niz je:');
for i := 0 to 8 do
WriteLn(a[i]:8:5);
ReadLn
End.
Zadatak:Neka je dat niza a od 10 elemeneta. Napii program kojim se sraunava
zbir lanova niza sa parnim indeksom.
Reenje:
program prog;
Uses CRT;
type niz=array[1..10] of real;
var
a : niz;s : real;
i: integer;
begin
ClrScr;
for i := 1 to 10 do
begin
Write('Unesi - ',i:3,' clan niza a : ');
ReadLn(a[i])
end;
i := 2;
while i < 11 dobegin
s := s+a[i];
i := i+2
28
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
29/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
end;
WriteLn('Trazeni zbirje: ',s:8:5);
ReadLn
End.
Zadatak:
Neka je dat niz a od 10 elemeneta. Napii program kojim se sraunavaukupan broj brojeva koji su meusobno jednaki.
Reenje:
program prog;
Uses CRT;
type niz=array[1..10] of real;
var
a, c : niz;
i, j, k, br: integer;
beginClrScr;
for i := 1 to 10 do
c[i] := 0;
for i := 1 to 10 do
begin
Write('Unesi - ',i:3,' clan niza a : ');
ReadLn(a[i])
end;
br := 0; k := 0;
for i := 1 to 9 do
beginfor j := i+1 to 10 do
if (c[j] = 0) and (a[i]=a[j]) then
begin br := br + 1; c[j] := 1; c[i] := i end;
end;
for j := 1 to 10 do
if c[j] = j then br :=br+1;
WriteLn('Ukupan broj jednakih brojeva je: ',br:5);
ReadLn
End.
Prilikom reenja ovog zadatka morali smo uvesti dodatni niz c od 10 elemenata,iji su lanovi na poetku postavljeni na nulu. Ovaj niz se koristi da ne bi duplobrojali ve obraene brojeve. U sluaju ako je taj lan niza ve uzet na to mestou nizu c se postavlja jedinica, pa je uslov da se uzima lan da je c[j]=0. Buduida se prvi broj koji je jednak nekom drugom ne bi uzimao u ukupan broj brojevajednakih to smo na kraju programa ispitali pozicije matrice c i u sluaju ako jec[j]=j to znai da na tom mestu ima jednak broj pa smo dobijeni zbir uveavaliza 1.
ZadatakNapii program koji se unos lanovi niza. Nakon unosa lana niza stavi taj
lan na mesto u nizu tako da niz bude sortiran u rastuem redosledu.
Reenje:
29
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
30/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
program x1;
Uses Crt;
var
x :array[1..50] of integer;
l, i, j, n, p : integer;
BeginWrite('Unesite broj clanova niza :');
ReadLn(n);
WriteLn;
WriteLn('UNESITE CLANOVE NIZA');
WriteLn;
for l :=1 to n do
Begin
Write('x[',l,']= ');
ReadLn(x[l]);
For i:= 1 to l-1 do
BeginFor j:=i+1 to l do
if x[i] > x[j] then begin p :=x[i]; x[i] :=x[j]; x[j] :=p
End;
End;
End;
WriteLn;
WriteLn('Sortirani niz');
For i :=1 to n do
WriteLn('x[',i,']= ',x[i]);
Readln
end.
Zad atak:Neka je data matrica a od 4 vrste i 5 kolona. Napii program kojim se
sraunava zbir svih lanova date matrice.
Reenje:
program prog;
Uses CRT;
type niz=array[1..4, 1..5] of real;
vara : niz;
s : real;
c : char;
i, j, k: integer;
begin
ClrScr;
for i := 1 to 4 do
begin
Write('Unesi vrstu - ',i:3,' matrice :');
for j := 1 to 5 do
Read(a[i,j])
end;
s := 0;
30
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
31/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
for i := 1 to 4 do
begin
for j := 1 to 5 do
s := s+a[i,j]
end;
WriteLn('Zbir svih elemanata matrice a je: ',s:8:5);
ReadLn(c);
End.
Zadatak:Neka je data matrica b sa 5 vrsta i 5 kolona. Napii program kojim se
sraunava koja kolona ima najvei zbir, i koliki je taj zbir.
Reenje:
program prog;
Uses CRT;
type niz=array[1..5, 1..5] of real;niz1=array[1..5] of real;
var
b : niz;
c : niz1;
s, max : real;
cc : char;
i, j: integer;
begin
ClrScr;
for i := 1 to 5 do
beginWrite('Unesi vrstu - ',i:3,' matrice :');
for j := 1 to 5 do
Read(b[i,j])
end;
for j := 1 to 5 do
begin
s := 0;
for i := 1 to 5 do
s := s+b[i,j];
c[j] := s;
end;max := c[1];
for i := 2 to 5 do
if max < c[i] then begin max := c[i]; j := i end;
WriteLn('Zbir najvece kolone je: ',max:8:5);
WriteLn('Ta je kolona : ',j:5);
ReadLn(cc);
End.
Za reenje ovog zadatka uveli smo pomoni niz c koji ima 5 lanova a njegovipojedinani lanovi su zbirovi pojedinih kolona matrice b. Nakon dobijanja niza ctraimo najvei lan i njegov indeks to je reenje zadatka.
Zadatak:
31
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
32/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Neka je data matrica b sa 5 vrsta i 5 kolona. Napii program kojim sesraunava zbir svih lanova date matrice po sporednoj dijagonali tj. :s=s[1,5]+a[2, 4]+...+a[5, 1].
Reenje:
program prog;Uses CRT;
type niz=array[1..5, 1..5] of real;
var
b : niz;
s : real;
cc : char;
i, j: integer;
begin
ClrScr;
for i := 1 to 5 do
beginWrite('Unesi vrstu - ',i:3,' matrice :');
for j := 1 to 5 do
Read(b[i,j])
end;
s := 0;
for i := 1 to 5 do
s := s + b[i,6-i];
WriteLn('Trazeni zbir je: ',s:8:5);
ReadLn(cc);
End.
Zadatak:Napii program kojim se unose elementi nizova a i b koji imaju po 10
lanova. Formiraj niz c kao:c[1]=a[1]*b[10], c[2]=a[2]*b[9] ... Prikai dati niz.
Reenje:
program prog;
Uses CRT;
type tab1=array[1..10] of integer;tab2=array[1..10] of integer;
tab3=array[1..10] of integer;
var
i, j, k, broj1, broj2: integer;
a: tab1; b: tab2; c:tab3;
c1: char;
begin
ClrScr;
Writeln;
WriteLn;for i := 1 to 10 do
begin
Write('Unesi elemente a i b ',i:2, ' : ');
32
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
33/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
ReadLn(a[i], b[i]);
end;
j := 10;
for i :=1 to 10 do
begin
c[i] :=a[i]*b[j];
j := j-1;
end;
WriteLn;
WriteLn(' Prikaz rezultata');
WriteLn;
for i :=1 to 10 do
WriteLn('c[',i:2,']=',c[i]);
WriteLn;
ReadLn(c1);
end.
Zadatak:Napii program kojim se uitava matrica a dimenzija 5 x 5. Nai zbirbrojeva deljivih sa 7 i sa 2 u okviru date matrice.
Reenje:
program prog;
Uses CRT;
type tab1=array[1..5, 1..5] of integer;
var
i, j, zbir: integer;
a: tab1;c1: char;
begin
ClrScr;
Writeln;
WriteLn;
for i := 1 to 5 do
begin
Write('Unesi elemente matrice A, vrste ', i:2, ' : ');
for j := 1 to 5 do
begin
Read(a[j, i]);end;
WriteLn;
end;
zbir := 0;
for i :=1 to 5 do
for j := 1 to 5 do
begin
if ((a[i, j] mod 7 = 0) and (a[i, j] mod 2 = 0))
then zbir := zbir + a[i, j];
end;
WriteLn;WriteLn;
WriteLn('Ukupan zbir takvih elemanata je : ', zbir:10);
33
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
34/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
WriteLn;
ReadLn(c1);
end.
Zadatak:Napii program kojim se unose elementi niza a od 12 elemenata, zatim se
od toga niza formira matrica b koja ima 3 vrste i etiri kolone. Prikai matricu bkao rezultat.
Reenje:
program prog;
Uses CRT;
type niz=array[1..12] of real;
niz1=array[1..3,1..4] of real;
var
a : niz;
b : niz1;cc : char;
i, j, k: integer;
begin
ClrScr;
for i := 1 to 12 do
begin
Write('Unesi clan - ',i:3,' niza :');
Read(a[i])
end;
k := 1; j := 1;
for i := 1 to 12 dobegin
if (i > 4) and (i < 9) then k := 2;
if (i > 8) and (i < 13) then k := 3;
if i = 5 then j := 1;
if i = 9 then j := 1;
b[k,j] :=a[i];
j := j+1;
end;
WriteLn('Trazena matrica je: ');
for i := 1 to 3 do
beginWriteLn;
for j := 1 to 4 do
Write(b[i,j]:5:2,' ');
end;
ReadLn(cc);
End.
Zadatak:Neka je data matrica a sa 3 vrste i 4 kolone. Napii program kojim se
nalazi najvei lan te matrice, kao i vrsta i kolona gde se on nalazi.
Reenje:
34
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
35/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
program prog;
Uses CRT;
type niz=array[1..3,1..4] of real;
var
a : niz;
cc : char;
i, j, k, k1: integer;
max : real;
begin
ClrScr;
for i := 1 to 3 do
begin
Write('Unesi vrstu - ',i:3,' matrice :');
for j :=1 to 4 do
Read(a[i, j])
end;
max :=a[1, j]; k := 1; k1 := 1;
for i := 1 to 3 dobegin
for j := 1 to 4 do
if max < a[i,j] then begin max := a[i,j]; k := i; k1 := j
end;
end;
WriteLn('Najveci clan je matrica je: ', max:8:5);
WriteLn('U vrsti : ',k:5, ' i koloni : ',k1:5);
ReadLn(cc);
End.
Zadatak:Neka su dati nizovi a i b dimenzija 10 mesta iji su elementi pojedinane
cifre dva broja od 10 cifara. Napii program kojim se sabiraju ta dva velikabroja formiranjem niza c, iji su elementi pojedinane cifre proizale kao rezultattog sabiranja. Koristei dato reenje saberi:
99999 9999988888 88888
Reenje:
program prog;
Uses CRT;
type tab1=array[1..10] of integer;
tab2=array[1..11] of integer;
var
i, j, k, pren: integer;
a, b: tab1;
c: tab2;
c1: char;
begin
ClrScr;
Writeln;WriteLn;
for i := 10 downto 1 do
begin
35
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
36/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Write('Unesi brojeve a i b za sabiranje, pozic. ', i:2, ' : ');
Read(a[i], b[i]);
end;
WriteLn;
pren :=0;
for i :=1 to 10 do
begin
c[i]:=a[i]+b[i]+pren;
if c[i] > 10 then begin c[i]:= c[i]-10; pren:=1; end
else pren :=0;
end;
if pren = 1 then c[11] :=1 else c[11] :=0;
WriteLn;
WriteLn(' Prikaz rezulatata');
WriteLn;
for i := 10 downto 1 do
begin
if i = 10 then Write(' ');Write (a[i]);
end;
WriteLn;
for i := 10 downto 1 do
begin
if i = 10 then Write (' +');
Write (b[i]);
end;
WriteLn;
WriteLn('-----------------');
if c[11] = 0 then begin k :=10; Write (' '); endelse begin write (' '); k:=11;end;
for i :=k downto 1 do
begin
Write (c[i]);
end;
ReadLn(c1);
end.
Zadatak:Napii program kojim se unosi ulazna reenica recen kao i znak(slovo), a
zatim odreuje ukupan broj ponavljanja toga znaka u datoj reenici.
Reenje:
program prog;
Uses CRT;
var
recen : string;
znak : string;
broj, i: integer;
cc : char;
begin
ClrScr;
Write('Unesi ulaznu recenicu : ');
36
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
37/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
ReadLn(recen);
WriteLn;
Write('Unesi znak koji se trazi : ');
ReadLn(znak);
broj := 0;
for i := 1 to length(recen) do
begin
if znak=recen[i] then broj := broj + 1;
end;
WriteLn('Ukupno pojavljivanja datog znaka :', broj:5);
ReadLn(cc);
End.
Zadatak:Napii program kojim se unosi ulazna reenica recen. Unesenu reenicu
prikai slovo po slova u novom redu.
Reenje:
program prog;
Uses CRT;
var
recen : string;
broj, i: integer;
cc : char;
begin
ClrScr;
Write('Unesi ulaznu recenicu : ');
ReadLn(recen);WriteLn;
for i := 1 to length(recen) do
begin
WriteLn(copy(recen,i,1));
end;
ReadLn(cc);
End.
Zadatak:Napii program kojim se unosi ulazna reenica recen. U datoj recenici
izbrii slovo 'd' i prikai novodobijeni string.
Reenje:
program prog;
Uses CRT;
var
recen : string;
broj, i: integer;
cc : char;
beginClrScr;
Write('Unesi ulaznu recenicu : ');
ReadLn(recen);
37
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
38/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
WriteLn;
for i := 1 to length(recen) do
begin
if 'd' = recen[i] then delete(recen, i, 1);
end;
WriteLn('Nova recenica je : ', recen);
ReadLn(cc);
End.
Zadatak:Napii program kojim se unosi ulazna reenica recen. U datoj reenici
umesto slova 'd' upii slovo x i prikai novodobijeni string.
Reenje:
program prog;
Uses CRT;
varrecen : string;
broj, i: integer;
cc : char;
begin
ClrScr;
Write('Unesi ulaznu recenicu : ');
ReadLn(recen);
WriteLn;
for i := 1 to length(recen) do
begin
if 'd' = recen[i] thenbegin delete(recen, i, 1); insert('x',recen,i) end;
end;
WriteLn('Nova recenica je : ', recen);
ReadLn(cc);
End.
Zadatak:Napii program kojim se unosi ulazna reenica recen. U datoj recenici
izbrii deo stringa koji nalazi izmeu malih zagrada i prikai novodobijeni string.
Reenje:
program prog;
Uses CRT;
var
recen, recen1 : string;
ind, i, j: integer;
cc : char;
begin
ClrScr;
Write('Unesi ulaznu recenicu : ');ReadLn(recen);
WriteLn;
ind := 0;
38
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
39/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
j := 1;
for i := 1 to length(recen) do
begin
if (recen[i]='(') and (ind = 0) then ind := 1;
if ind = 0 then begin
insert(recen[i], recen1, j); j := j+1 end;
if (recen[i]=')') and (ind = 1) then ind := 0;
end;
WriteLn('Nova recenica je : ', recen1);
ReadLn(cc);
End.
Za reenje ovog zadatka koristili smo varijablu ind koja je na poetkuprograma bila postavljena na nulu. Ako u unesenom stringu naiemo naotvorenu zagradu indikator se postavlja na 1 i zabranjuje dalje prenoenje uizlaznu reenicu. Pojavljivanje zatvorene zagrade dozvola za prenoenje senastavlja tj. ind se postavlja na nulu.
Zadatak:Napii program kojim se unosi ulazna reenica recen, a zatim odredi broj
rei u reenici. Reima smatraj deo slova jedno do drugog razmaknutprazninama.
Reenje:
program prog;
Uses CRT;
varrecen : string;
i, broj: integer;
cc : char;
begin
ClrScr;
Write('Unesi ulaznu recenicu : ');
ReadLn(recen);
WriteLn;
broj := 1;
for i := 1 to length(recen) do
begin
if (recen[i]=' ') and not (pred(recen[i]=' ')) then
begin broj := broj + 1 end;
end;
WriteLn('Ukupno reci u recenici je : ', broj:3);
ReadLn(cc);
End.
Sutina reenja ovog zadatka se nalazi u tome to ispitujemo uslov da li sepre praznine nalazi neki karakter. Ako ga ima to je re i broja se uveava za 1.Broja je postavljen na 1 radi zadnje rei u reenici kod koje nije zadovoljen
navedeni uslov.
Zadatak:
39
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
40/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Napii program kojim se unosi u tabelu a 20 prezimena i imena uenika.Nai koliko ima Milanovica i koliko ima Jelena?
Reenje:
program prog;
Uses CRT;type ucenici=array[1..10] of string[20];
var
i, j, k, broj1, broj2: integer;
a: ucenici;
c: char;
begin
ClrScr;
Writeln;
WriteLn;
for i := 1 to 10 do
beginWrite('Unesi prezime i ime ',i:2, ' : ');
ReadLn(a[i]);
end;
broj1 := 0; broj2 := 0;
for i :=1 to 10 do
begin
j := pos('Milanovic', a[i]);
k := pos('Jelena',a[i]);
if not (j = 0) then broj1 := broj1+1;
if not (k = 0) then broj2 := broj2+1;
end;WriteLn;
WriteLn('Ukupno Milanovica : ', broj1);
WriteLn('Ukupno Jelena : ', broj2);
ReadLn(c);
end.
Zadatak:Napii program kojim se uneseni ulazni broj konvertuje u heksadecimaln
broj.
Reenje:
program prog;
Uses CRT;
var
i, i2, j, a: integer;
linija: string[14];
slovo: char;
c1: char;
begin
ClrScr;
Writeln;
WriteLn;
WriteLn('Unesi broj za pretvaranje : ');
40
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
41/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Read(i);
linija :='';
repeat
i2 :=i mod 16;
i :=i div 16;
if i2 =0 then slovo :='0';
if i2 =1 then slovo :='1';
if i2 =2 then slovo :='2';
if i2 =3 then slovo :='3';
if i2 =4 then slovo :='4';
if i2 =5 then slovo :='5';
if i2 =6 then slovo :='6';
if i2 =7 then slovo :='7';
if i2 =8 then slovo :='8';
if i2 =9 then slovo :='9';
if i2 =10 then slovo :='A';
if i2 =11 then slovo :='B';
if i2 =12 then slovo :='C';if i2 =13 then slovo :='D';
if i2 =14 then slovo :='E';
if i2 =15 then slovo :='F';
insert(slovo,linija, 1);
until i = 0;
WriteLn;
WriteLn;
WriteLn('Broj u heksa kodu : ', linija);
ReadLn(c1);
Zadatak:Napii program kojim se u celobrojnu datoteku a upisuju brojevi od 1 do
10 pojedinano.
Reenje:
program prog;
Uses CRT;
type
broj=file of integer;Var
a : broj;
i : integer;
begin
ClrScr;
assign(a,'c:\brojevi.dat');
rewrite (a);
for i := 1 to 10 do
begin
write(a, i)
end;close (a);
WriteLn('Formirana je datoeka a');
41
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
42/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
readln;
end.
Zadatak:Napii program kojim se iz prethodno formirane datoteke a nalazi zbir svih
upisanih brojeva.
Reenje:
program prog;
Uses CRT;
type
broj=file of integer;
Var
s, i, n : integer;
a : broj;
begin
ClrScr;assign(a,'c:\brojevi.dat');
reset (a);
i := 0;
while not eof(a) do
begin
read(a, n);
i := i+n;
end;
write ('Zbir unesenih brojeva je : ',i:5);
close (a);
readln; readln;end.
Zadatak:Napii program kojim se u datoteku realnih brojeva a prvo unese i upie 5
brojeva. Nakon toga proitaj datoteku a i nai najvei upisani broj.
Reenje:
program prog;
Uses CRT;type
broj=file of real;
Var
i : integer;
a : broj;
max, x : real;
begin
ClrScr;
assign(a,'c:\broj.dat');
rewrite(a);
for i := 1 to 5 dobegin
Write('Unesi broj - ', i:2,' : ');
Read(x);
42
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
43/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Write(a, x);
max := x;
end;
close(a);
reset(a);
while not eof(a) do
begin
read(a, x);
if max < x then max := x;
end;
Write ('Najveci upisan broj je : ',max:8:5);
close (a);
readln; readln;
end.
Zadatak:Iz prethodno formirane datoteke a realnih brojeva formiraj datoteku b od
onih brojeva koji su vei od 3. Prikai dobijenu datoteku b.
Reenje:
program prog;
Uses CRT;
type
broj=file of real;
Var
a, b : broj;
x : real;
beginClrScr;
assign(a,'c:\broj.dat');
assign(b,'c:\broj1.dat');
reset(a);
rewrite(b);
while not eof(a) do
begin
read(a, x);
if x > 3 then write(b, x);
end;
close(b);reset(b);
WriteLn;
while not eof(b) do
begin
read(b, x);
writeLn(x:8:3);
end;
close(a);
close(b);
readln;
end.
43
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
44/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
ZadatakNapii program koji se u datoteku "mat.dat" unosi n realnih brojeva.
Reenje:
program x1;
Uses Crt;var
f: file of real;
i, j, n : integer;
x : real;
Begin
ClrScr;
assign(f,'mat.dat');
rewrite(f);
Write('Unesite broj brojeva : ');
ReadLn(n);
WriteLn;for i :=1 to n do
Begin
Write('Unesi broj : ');
ReadLn(x);
if sqr(x) < 100 Then Write(f, x);
End;
WriteLn;
Close(f);
Readln
end.
ZadatakNapii program kojim se iz datoteke "mat.dat" prikazuju uneseni brojevi.
Unesi zatim broj b. U datoteku "racun.dat" unesi samo one brojeve koji su veiod broja b. Srauna i prikai aritmetiku sredinu tih brojeva.
Reenje:
program x1;
Uses CRT;
varf, f1: file of real;
i, j, n : integer;
x, b, s, as : real;
Begin
ClrScr;
assign(f,'mat.dat');
assign(f1,'racun.dat');
reset(f);
rewrite(f1);
WriteLn('Uneseni brojevi u datoteku');
WriteLn;While not eof(f) do
Begin
Read(f,x);
44
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
45/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
WriteLn(x:8:3);
End;
Close(f);
reset(f);
WriteLn;
Write('Uneseni broj b : ');
ReadLn(b);
j := 0; s :=0;
While not eof(f) do
Begin
Read(f,x);
if x > b Then Begin Write(f1, x); s :=s+x; j :=j+1 End;
End;
WriteLn;
If j > 0 Then
WriteLn('Aritmetica sredina je : ', s/j:8:3);
Close(f);
Close(f1);Readln
end.
ZadatakNapii program kojim se u datoteku "odsecak.dat" unose svi neparni
brojevi iz intervala [-14,14].
Reenje:
program x1;
Uses Crt;var
f: file of integer;
i, j, n : integer;
Begin
ClrScr;
assign(f,'odsecak.dat');
rewrite(f);
For i := -14 to 14 do
Begin
If (i mod 2 0) then Write(f, i);
End;Close(f);
Readln
end.
ZadatakNapii program kojim prikazuju svi uneseni se brojevi u datoteku
"odsecak.dat". Sve negativne brojeve iz te datoteke upii u datoteku "nova.dat"i sraunaj koliko je takvih brojeva.
Reenje:
program x1;
Uses Crt;
45
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
46/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
var
f, f1: file of integer;
i, j, n : integer;
Begin
ClrScr;
assign(f,'odsecak.dat');
assign(f1,'nova.dat');
reset(f);
rewrite(f1);
WriteLn;
Write('Upisani brojevi');
WriteLn;
j :=0;
While not eof(f) do
Begin
Read(f,i);
WriteLn(i);
if i < 0 Then Begin Write(f1,i); j :=j+1 End;End;
Close(f);
Close(f1);
WriteLn;
WriteLn('Broj negativnih brojeva je : ',j);
Readln
end.
Zadatak:Neka je data datoteka realnih brojeva "broj.dat". Napii program kojim se
itaju svi brojevi iz te datoteke i uveani za 2 upisuju u datoteku "broj1.dat".
Reenje:
Program x1;
Uses Crt;
Var
f, f1 : file of real;
x : real;
i : integer;
Begin
ClrScr;{Otvaranje datoteke}
Assign(f,'broj.dat');
Assign(f1,'broj1.dat');
Reset(f);
Rewrite(f1);
{Prepisivanje iz prve u drugu datoteku}
WriteLn;
While not eof(f) do
Begin
Read(f, x);
x :=2 * x;Write(f1, x);
End;
46
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
47/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Close(f);
Close(f1);
ReadLn;
ENd.
Zadatak:
Neka je data datoteka realnih brojeva "broj2.dat". Napii program kojim seu tu datoteku upisuje n brojeva. Nakon unosa prikai sve brojeve i nai i prikainajvei uneseni broj.Reenje:Program x1;
Uses Crt;
Var
f : file of real;
x, max : real;
i, n : integer;
Begin
ClrScr;{Otvaranje datoteke}
Assign(f,'broj2.dat');
Rewrite(f);
{Unos ukupnog broja brojeva}
WriteLn;
Write('Unesi ukupan broj brojeva : ');
ReadLn(n);
For i := 1 to n do
Begin
Write('Unesi ',i, ' broj = ');
Readln(x);Write(f, x);
End;
WriteLn;
WriteLn('UPISANI BROJEVI U DATOTEKU');
WriteLn;
CLose(f);
Reset(f);
i := 0;
While not eof(f) do
Begin
Read(f, x);WriteLn(x:8:2);
if i = 0 then Begin max := x; i :=1 end;
if x > max Then max := x;
End;
Close(f);
WriteLn;
WriteLn('Najveci uneseni broj je : ', max:8:2);
ReadLn;
End.
47
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
48/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Neka je data ulazna datoteka radnici tekstualnog tipa u koju je uneseno
prezime i ime radnika i njegova godina roenja. Napii program kojim se nalazinajstariji i najmlai radnik kao i prosenu starost svih radnika.Reenje:program prog;
Uses CRT;var
radnici: text;
ime :string[20];
godina :integer;
najml, najst :string[20];
brgod, brm, brs, ukgod, broj: integer;
prosta :real;
c1: char;
begin
ClrScr;
Writeln;WriteLn;
assign(radnici,'radnici.dat');
reset(radnici);
WriteLn(' UNESENI RADNICI ');
WriteLn;
WriteLn;
broj :=0; brm :=100; brs :=0; ukgod :=0;
repeat
readLn(radnici, ime, godina);
brgod :=2000 - godina;
if brgod > brs then begin najst :=ime; brs :=brgod; end;if brgod < brm then begin najml :=ime; brm :=brgod; end;
WriteLn(ime, ' ',godina, ' ',brgod);
broj := broj +1;
ukgod :=ukgod + brgod;
until eof(radnici);
close(radnici);
WriteLn;
WriteLn;
WriteLn('Najstariji radnik : ', najst, ' ima : ', brs, '
godina');
WriteLn('Najmladji radnik : ', najml, ' ima : ', brm, 'godina');
prosta := ukgod / broj;
WriteLn('Prosecna starost je : ',
prosta:5:2,'=',ukgod,'/',broj);
ReadLn(c1);
end.
48
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
49/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Zadatak:Napii program kojim se u tekstualnu datoteku ucenik unose podaci:
prezime i ime, mesto stanovanja i adresa. Program zavri kada se za prezimeunese re 'kraj'.Reenje:program prog;
Uses CRT;Var
ucenik : text;
ime : string[25];
mesto : string[15];
adresa : string[20];
x : real;
begin
ClrScr;
assign(ucenik,'c:\ucenik.dat');
rewrite(ucenik);
while not (ime='kraj') dobegin
ClrScr;
Write('1. Prezime i ime : ');
ReadLn(ime);
WriteLn;
Write('2. Mesto stanova. : ');
ReadLn(mesto);
WriteLn;
Write('3. Adresa : ');
ReadLn(adresa);
if not (ime='kraj') thenWrite(ucenik,ime,mesto,adresa);
end;
close(ucenik);
readln;
end.
Zadatak:Napii program kojim se iz prethodno formirane tekstualne datoteku
ucenik, prikazuju na ekranu uneseni podaci.Reenje:program prog;
Uses CRT;
Var
ucenik : text;
ime : string;
mesto : string;
adresa : string;
begin
ClrScr;
assign(ucenik,'c:\ucenik.dat');
reset(ucenik);
repeat
ReadLn(ucenik, ime, mesto, adresa);
WriteLn;
49
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
50/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Write(ime,' ',mesto,' ', adresa);
until eoln(ucenik);
close(ucenik);
readln;
end.
Zadatak:Napii proceduru za uitavanje i tampanje ugla koji je u glavnomprogramu opisan kao:
typeugao=record
stepen:0..359;minut:0..59;
sekund:0..59Reenje:
procedure citajugao(var ugao1:ugao);
begin
WriteLn('Stepen, minut i sekund:');
with ugao1 do ReadLn(stepen,minut,sekund)
end;
procedure stampajugao(var ugao1:ugao);
begin
with ugao1 do Writeln(stepen,minut,sekund)
end
Zadatak
Neka je dat slog glumci u koji se unose podaci: prezime i ime, godinaroenja i broj odigranih uloga. Napi program kojim se unose podaci za nglumaca, a zatim prikae samo one koji imaju vie od 50 uloga. Ako nematakvih napii "Nema takvih glumaca"Reenje:program x;
Uses CRT;
type
glumci=record
ime : string[20];
godina : integer;
bruloga : integer;end;
var
i, j, n: integer;
glumac : array [1..50] of glumci;
Begin
ClrScr;
Write('Koliko ima glumaca ?');
ReadLn(n);
WriteLn;
WriteLn('Unesite podatke o glumcima');WriteLn;
for i :=1 to n do
Begin
50
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
51/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Write('Ime i prezime : ');
ReadLn(glumac[i].ime);
Write('Godina : ');
ReadLn(glumac[i].godina);
Write('Broj uloga : ');
ReadLn(glumac[i].bruloga);
End;
WriteLn;
j := 0;
WriteLn('Glumci sa vise od 50 uloga');
For i := 1 to n do
Begin
if glumac[i].bruloga > 50 Then Begin WriteLn(glumac[i].ime);
j :=j+1 End;
End;
if j = 0 Then WriteLn('Nema takvih glumaca');
Readln
end.ZadatakNeka je dat slog opstina u koji se unose podaci: naziv, broj stanovnika i
povrina. Napii program kojim se unosi est optina a zatim sortira po brojustanovnika.Reenje:program x;
Uses Crt;
type
opstina=record
ime : string[20];
stanovnika : integer;povrsina : integer;
end;
var
i, j : integer;
opst : array [1..50] of opstina;
p : opstina;
Begin
ClrScr;
WriteLn('Unesite podatke o opstinama');
WriteLn;
for i :=1 to 6 doBegin
Write('Naziv opstine : ');
ReadLn(opst[i].ime);
Write('Stanovnika : ');
ReadLn(opst[i].stanovnika);
Write('Povrsina : ');
ReadLn(opst[i].povrsina);
End;
WriteLn;
{Sortiranje po broju stanovnika}
For i := 1 to 5 doBegin
For j :=i+1 to 6 do
51
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
52/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Begin
If opst[i].povrsina < opst[j].povrsina
Then Begin p :=opst[i]; opst[i] :=opst[j]; opst[j] :=p
End;
End
End;
WriteLn('Prikaz sortiranih opstina');
WriteLn;
For i := 1 to 6 do
WriteLn(opst[i].ime,' ',opst[i].stanovnika,' ',opst[i].povrsina);
Readln
end.
Zadatak:Neka je dat slog osoba. Napi program kojim se unosi deset podatak u taj
slog sa imenom osobe i godinom starosti. Prikai unesene osobe sortirane po
godini starosti.Reenje:program x;
Uses CRT;
type
osobe=record
ime : string[20];
godina : integer;
end;
var
i, j : integer;
osob : array [1..10] of osobe;p : osobe;
Begin
ClrScr;
WriteLn('Unesite podatke o osobama');
WriteLn;
for i :=1 to 10 do
Begin
Write('Ime osobe : ');
ReadLn(osob[i].ime);
Write('Godina : ');
ReadLn(osob[i].godina);End;
WriteLn;
{Sortiranje po godinama}
For i := 1 to 9 do
Begin
For j :=i+1 to 10 do
Begin
If osob[i].godina < osob[j].godina
Then Begin p :=osob[i]; osob[i] :=osob[j]; osob[j] :=p
End;
End
End;
WriteLn('Prikaz sortiranih osoba');
52
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
53/57
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
54/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
end.
Zadatak:Napii program kojim se u slog ucenik unosi ime, visina i tezina i za n
ucenika. Nakon unosa prikai unesene podatke.Reenje:
Program x;Uses Crt;
type
ucenik=record
ime :string[10];
visina : integer;
tezina : integer;
End;
Var
uce: array [1..50] of ucenik;
i, j , n: integer;
BeginClrScr;
Write('Unesite broj ucenika : ');
Readln(n);
WriteLn;
{Unos podataka o ucenicima}
For i := 1 to n do
Begin
Write('Unesite ime ucenika : ');
Readln(uce[i].ime);
Write('Unesite visinu : ');
Readln(uce[i].visina);Write('Unesite tezinu : ');
Readln(uce[i].tezina);
End;
{Prikaz podataka o ucenicima}
WriteLn;
WriteLN('PODACI O UCENICIMA');
WriteLn;
For i := 1 to n do
Begin
WriteLn(uce[i].ime:10,' ',uce[i].visina:4,' ',uce[i].tezina:3);
End;ReadLn;
ENd.
Zadatak:Napii program kojim se u slog osobe unosi ime, i njegova starost za 10
osoba. Nakon unosa sortiiraj osobe po godinama starosti i prikai dobijenepodatke.Reenje:Program x;
Uses Crt;type
osobe=record
ime :string[10];
54
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
55/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
starost : integer;
End;
Var
osob: array [1..10] of osobe;
p: osobe;
i, j , n: integer;
Begin
ClrScr;
{Unos podatka o osobama}
For i := 1 to 10 do
Begin
Write('Unesite ime osobe : ');
Readln(osob[i].ime);
Write('Unesite starost : ');
Readln(osob[i].starost);
End;
{Sortiranje podataka}
WriteLn;For i := 1 to 9 do
Begin
For j :=i+1 to 10 do
Begin
If osob[i].starost < osob[j].starost Then Begin p :=osob[i];
osob[i] :=osob[j];
osob[j] :=p End;
End;
End;
{Prikazivanje podataka}
WriteLN('PODACI O OSOBAMA');WriteLn;
For i := 1 to 10 do
Begin
WriteLn(osob[i].ime:10,' ',osob[i].starost);
End;
ReadLn;
ENd.
Zadatak:Napii program kojim se u slog dani unosi naziv i temperatura za svih 7
dana u sedmici. Nakon unosa unesi zadatu temperaturu i prikai dane koji suimali tu temperaturu.Reenje:Program x;
Uses Crt;
type
dani=record
ime :string[10];
temperatura : integer;
End;
Var
dan: array [1..7] of dani;i, j , n, t: integer;
Begin
55
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
56/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
ClrScr;
{Unos temperatura po danima}
For i := 1 to 7 do
Begin
Write('Unesite ime dana : ');
Readln(dan[i].ime);
Write('Unesite tempraturu : ');
Readln(dan[i].temperatura);
End;
{Unos temperature}
WriteLn;
Write('Unesi trazenu temperaturu : ');
ReadLn(t);
For i := 1 to 7 do
if t = dan[i].temperatura Then Write(dan[i].ime);
ReadLn;
ENd.
Zadatak:Napii program kojim se u slog artikal unosi naziv, kolicina i cena za nartikala. Nakon unosa unesi zadatu cenu i prikai artikle koji su imali tu cenu.Sraunaj ukupnu vrednost artikala.Reenje:Program x;
Uses Crt;
type
artikal=record
ime :string[10];
kolicina : integer;
cena : real;End;
Var
art: array [1..50] of artikal;
i, j , n: integer;
v, v1, t : real;
Begin
ClrScr;
{Unos broja artikala}
WriteLn;
Write('Unesi broj artikala : ');
Readln(n);WriteLn;
{Unos artikala u magacinu}
For i := 1 to n do
Begin
Write('Unesite naziv artikla : ');
Readln(art[i].ime);
Write('Unesite kolicinu : ');
Readln(art[i].kolicina);
Write('Unesite cenu : ');
Readln(art[i].cena);
End;{Unos zadate cene}
WriteLn;
56
8/7/2019 Zbirka Zadataka Sa Resenjima[1]
57/57
ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC
Write('Unesi zadatu cenu : ');
ReadLn(t);
v1 := 0;
For i := 1 to n do
Begin
v := art[i].kolicina * art[i].cena;
v1 := v1 + v;
if t = art[i].cena Then Write(art[i].ime);
End;
WriteLn;
WriteLn('Ukupna vrednost je : ',v1:8:2);
ReadLn;
End.