zadatak - Средња школа...

116
Zadatak: Napiši sledeće matematičke izraze u Pascalu: a) b) Rešenje: a) f:=sqrt(x+(sqr(x)*sqr(x)+sqr(x)*x-2)/cos(x)) b) f:=abs(x)+exp(-b*x)+cos(x)/sin(x) Zadatak: Napiši sledeće matematičke izraze u Pascalu: a) f:= b) f:= Rešenje: a) f:=sqrt(sqr(x)+(sqr(x)*sqr(x)*x+x+1)/sin(x))

Upload: others

Post on 07-Jan-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Napiši sledeće matematičke izraze u Pascalu:

a)

b)

Rešenje:

a) f:=sqrt(x+(sqr(x)*sqr(x)+sqr(x)*x-2)/cos(x))

b) f:=abs(x)+exp(-b*x)+cos(x)/sin(x)

Zadatak:

Napiši sledeće matematičke izraze u Pascalu:

a) f:=

b) f:=

Rešenje:

a) f:=sqrt(sqr(x)+(sqr(x)*sqr(x)*x+x+1)/sin(x))

Page 2: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

b) f:=abs(x)+exp(-b*x)+sin(x)/cos(x)

Zadatak:

Ako je promeljiva tac logička promenljiva napiši izraz da ona ima vrednost true, da se

od odesečaka sa dužinama x, y i z može konstruisati trougao.

Rešenje:

Uslov da bi se konstruisao trougao je da je zbir bilo koje dve njegove stranice uvek

veći od treće tj.

if((a+b)>c) and ((a+c)>b) and ((b+c)>a)

Zadatak:

Neka je dat sledeći PASKALSKI kod:

program test;

var

i,j: real;

k: boolean;

begin

i:= j mod 8;

k:=i+1;

j:=i-5;

end.

Koja su greška napravljena u pisanju programa (opiši) ?

Page 3: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

- operacija mod je dozvoljena samo na celim brojevima

- kako je k logi~ka promenljiva onda ne sme bit k:=i+1

- na predzadnjoj instrukciji ne treba ;

Zadatak:

Napiši naredbu uslovnog prelaska kojom se za zadato x izračunava f po formuli:

Rešenje:

if x >= 1 then f:=-2*x

else if x > 1 and x < 5 then f:=sqrt(sqr(x)*x-2*x)

else f:=abs(x);

Zadatak:

Napiši naredbu uslovnog prelaska kojom se za zadato x izračunava f po formuli:

Rešenje:

Page 4: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

if x <= 1 then f:-8*x

else if x > -1 and x < 4 then f:=sqrt(sqr(x)+4*x)

else f:=abs(x);

Zadatak:

Koju će vrednost imati promenljiva a nakon izvršavanja sledećih naredbi:

a: = 1.56;

if a < 1 then a: = a+1

else begin a: = a+4; a:=trunc(a)+7; a:=sqr(a)+10 end;

a:=abs(a)+2;

Rešenje:

Budući da je a veće od 1 to će se izvršiti instrukcija od if koje su pod else pa imamo:

a=a+4=1.56+4=5.56

a=trunc(a)+7=trunc(5.56)+7=5+7=12

s=sqr(a)+10=12*12+10=144+10=154

na kraju dobijemo:

a=abs(a)+2=sbs(154)+2=154+2=156

Zadatak:

Koju će vrednost imati promenljiva a nakon izvršavanja sledećih naredbi:

a: = 1.56;

if a < 1 then a: = a+1

else begin a: = a+5; a:=round(a)+4; a:=sqr(a)+5 end;

Page 5: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

a:=abs(-a) + 2;

Rešenje:

Budući da je a veće od jedan izvršava se else deo if naredbe pa imamo:

a=a+5=1.56+5=5.56

a=round(a)+4\round(5.56)+4=6+4=10

a=sqr(a)+5=10*10+5=105

i na kraju

a=sbs(-a)+2=abs(-105)+2=105+2=107

Zadatak: Napisati program koji za uneseni napon U i struju I sa tastature sračunava otpor i

snaga kola. Rezultat prikaži u formatu od 8 mesta sa 2 decimale.

Rešenje:

program prog;

Uses CRT;

var

u,i,r,p : real;

begin

ClrScr;

Write('Unesi napon U kola : ');

ReadLN(u);

Write('Unesi struju I kola : ');

ReadLn(i);

r := u/i;

Page 6: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

p := u*i;

WriteLn('Otpor kola je : ',r:8:2,' Snaga kola je :',p:8:2);

ReadLn

End.

Zadatak:

Neka je data jednačina =0. Promenljive a i b se unose sa tastature. Napiši program

koji za svaku vrednost a i b daje rešenja jednačine. Rezultat prikaži u formatu od 8 mesta

sa 2 decimale.

Rešenje:

Rešenje je jednačine 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.

Page 7: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka se sa tastature unose celi brojevi n1, n2, i n3. Napiši program kojim se sračunava zbir

samo negativnih brojeva. Rezultat prikaži u formatu od 5 mesta.

Rešenje:

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.

Page 8: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka se sa tastature unose celi brojevi n1, n2, i n3. Napiši program kojim se sračunava

ukupan broj negativnih brojeva. Rezultat prikaži u formatu od 5 celih mesta.

Rešenje:

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.

Page 9: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka se sa tastature unose celi brojevi n1, n2, i n3. Napiši program kojim se sračunava zbir

brojeva koji se nalaze u intervalu 3 do 7. Rezultat prikaži u formatu od 5 mesta.

Rešenje:

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 >=5) and (n1 <= 7)) then s := s+n1;

if ((n2 >=5) and (n2 <= 7)) then s := s+n2;

if ((n3 >=5) and (n3 <= 7)) then s := s+n2;

WriteLn('Trazeni zbir je:',s:5);

ReadLn

End.

Page 10: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka se sa tastature unose celi brojevi n1, n2, i n3. Napiši program kojim se sračunava zbir

brojeva koji su deljivi sa 7. Rezultat prikaži u formatu od 5 celih mesta.

Rešenje:

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.

Page 11: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka se sa tastature unose brojevi n1, n2, i n3. Napiši program kojim se promenljivoj max

dodeljuje najveća vrednost od unesenih brojeva. Rezultat prikaži u formatu od 8 mesta sa 2

decimalna.

Rešenje:

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.

Page 12: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka se sa tastature brojevi n1, n2, i n3. Napiši program kojim se ovi brojevi

udvajaju ako je inače se svakom broju dodeljuje njegova apsolutna vrednost.

Rešenje:

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.

Page 13: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Putovanje između mesta A i B traje n sekundi. Sračunaj koliko je to sati, minuta i sekundi.

Rešenje:

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.

Zadatak:

Kolika će biti vrednost promenljive a ako se izvrši sledeći deo koda:

a := 1.56;

Page 14: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

case k mod 10 of

2,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

Rešenje:

a) za uneseno k=312 rezultat operacije k mod 10 = 2 pa se

izvršavaju slede}e instrukcije:

a=a+7=1.56+1=8.56

a=trunc(a)=trunc(8.56)=8

b) za uneseno k=121 operacija k mod 10 = 1 pa se vrednost promenljive a neće

promeniti.

c) za uneseno k=234 rezultat operacije k mod 10 = 4 pa se izvršavaju sledeće instrukcije:

a=a-3=1.56-3=-1.44

a=round(a)=round(-1.44)=-1

d) za uneseno k=416 rezultat operacije k mod 10 = 6 pa se izvršavaju sledeće instrukcije:

a=-a=-1.56

a=a-7=-1.56-7=-8.56

Zadatak:

Neka je data sledeća if naredba.

if n1>n2 then n1 :=n1+5

else n1:=n2+3;

Page 15: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

navedeni niz naredbi zameni odgovarajućom case naredbom.

Rešenje:

Program izgleda ovako:

case n1>n2 of

true: n1 :=n1+5;

false: n1 :=n2+3

end.

Zadatak:

Neka se sa tastaure unosi uspeh učnika. Napisati program kojim se za unetu ocenu ispisuje:

1 - nedovoljan, 2 - dovoljan, 3 - dobar, 4 - vrlodobar, 5 - odličan.

Rešenje:

Program izgleda ovako:

program prog;

Uses CRT;

var

ocena : integer;

begin

ClrScr;

Write('Unesi oceun : ');

ReadLn(ocena);

case ocena of

1: WriteLn('Nedovoljan');

Page 16: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 do

a :=a-i;

a :=a-4;

kolika će biti vrednost promenljive a posle izvršenja datog koda ?

Rešenje:

1. prolaz:

a=a-i=5-1=4

2. prolaz:

a=a-i=4-2=2

3. prolaz:

a=a-i=2-3-=1

4. prolaz:

a=a-i=-1-4=-5

5. prolaz:

Page 17: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

a=a-i=-5-5=-10

i na kraju se izvršava naredba:

a=a-4=-10-4=-14

Primetite da je u telu ciklusa samo naredba a := a-i koja će biti izvršena pet puta, dok će naredba a :=a-4 biti izvršena samo jednom.

Zadatak:

Napisati program koristeći instrukciju for kojom se računa zbir brojeva od 1 do 100 koji su

deljivi sa 7 i sa 3.

Rešenje:

Program za rešenje 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 dati uslov su: 21, 42, 63 i 84 čiji je zbir 210.

Page 18: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Napisati program koristeći instrukciju for kojom se računa zbir brojeva od 1 do 100 čija je

zadnja cifra 9.

Rešenje:

Program za rešenje 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 99 čiji je zbir

540.

Zadatak:

Neka se sa tatature unosi 10 realnih brojeva. Napisati program kojim se sračunava njihov

zbir i njihov proizvod.

Rešenje:

Page 19: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Program za rešenje 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

begin

Write('Unesi ',i,' - broj :');

ReadLn(a);

zbir :=zbir+i;

proizvod :=proizvod*i

end;

WriteLn('Zbir brojeva je ',zbir:8:2,' Proizvod je : ',proizvod:8:2);

ReadLn

End.

Primetite da je početni 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*...*n

Napiši program koristeći instrukciju for kojom se računa faktorijel broja n unesenog sa

tastature.

Page 20: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

Program za rešenje 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 do

begin

faktorijel :=faktorijel*i

end;

WriteLn('Faktorijel broja ',n,' je = ',faktorijel:13:2);

ReadLn

End.

Zadatak:

Napisati program koristeći instrukciju for kojom se računa zbir niza koji je definisan kao:

s=0-1+2=3+4...(-1)nn

za broj n koji se unosi sa tastature.

Page 21: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

Program za rešenje ovog zadatka je:

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

begin

zbir := zbir+(pred)*i;

pred :=-pred

end;

WriteLn('Trazeni zbir niza je ',zbir:8:2);

ReadLn

End.

Primetite da smo za rešavanje ovog zadatka morali definisati promenljivu pred, koja može imati vrednost 1 ili - 1 i u svakom ciklusu

se manja i to za neparan i jednaka je - 1 a za paran 1.

Zadatak:

Page 22: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Neka je dat niz:

s=sin(x)+sin2(x)+sin

3(x)+...+sin

n(x).

Napisati program koristeći instrukciju for kojom se računa ovaj zbir ako se sa tastature

unosi n i broj x.

Rešenje:

Program za rešenje ovog zadatka je:

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);

Page 23: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

ReadLn

End.

Zadatak:

Napiši program kojim se određuju svi prosti brojevi od 3 do 1000 kao i njihov ukupan

broj.

Rešenje:

Program za rešenje ovog zadatka je:

program prog;

Uses CRT;

var

i, j, k,i2, a, broj: integer;

c1: char;

begin

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;

Page 24: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 sledeća grupa naredbi:

s :=0; i :=-1;

while s<4 do

begin

s :=s+0.7;

i :=i+3

end;

s :=s+i;

Kolike će biti vrednosti promenljivih s i i nakon napuštanja navedenog koda.

Rešenje:

Page 25: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

1. prolaz

s=s+0.7=0+0.7=0.7

i=i+3=-1+3=2

2.prolaz

s=s+0.7=0.7+0.7=1.4

i=i+3=2+3=5

3.prolaz

s=s+0.7=1.4+0.7=2.1

i=i+3=5+3=8

4.prolaz

s=s+0.7=2.1+0.7=2.8

i=i+3=8+3=11

5.prolaz

s=s+0.7=2.8+0.7=3.5

i=i+3=11+3=14

6. prolaz

s=s+0.7=3.5+0.7=4.2

i=i+3=14+3=17

7. prolaz

budući da je s = 4.2 > 4 ovog prolaza nema pa se izvršava instrukcija iza while ciklusa s :=s+i = 4.2+17=21.2

Zadatak:

Neka je data sledeća grupa naredbi:

s :=1; i :=1;

while s<4 do

begin

Page 26: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

s :=s+0.6;

i :=i+2

end;

s :=s+i;

Kolike će biti vrednosti promenljivih s i i nakon napuštanja navedenog koda.

Rešenje:

1. prolaz

s=s+0.6=1+0.6=1.6

i=i+2=1+2=3

2.prolaz

s=s+0.6=1.6+0.6=2.2

i=i+2=3+2=5

3.prolaz

s=s+0.6=2.2+0.6=2.8

i=i+2=5+2=7

4.prolaz

s=s+0.6=2.8+0.6=3.4

i=i+2=7+2=9

5.prolaz

s=s+0.6=3.4+0.6=4.0

i=i+2=9+2=11

6. prolaz

budući da je s = 4.0 i nije manje od 4 ovog prolaza nema pa se

izvršava instrukcija iza while ciklusa s :=s+i = 4.0+11=15

Page 27: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka je data sledeća grupa naredbi:

while a > b do

begin

c :=a*b;

c :=c+a

end;

Kako će se izvršiti ova grupa naredbi.

Rešenje:

Ako je a <= b tada instrukcije u telu ciklusa neće biti izvršenei

nijedanput a ako je a > b program će trajno ostati u telu ciklusa takozvanom beskonačnom ciklusu.

Zadatak:

Napiši program kojim se sabiraju svi neparni brojevi od 100 do 1000 upotrebom while

naredbe.

Rešenje:

Program za rešenje ovog zadatka je:

program prog;

Uses CRT;

var

zbir : real;

i : integer;

begin

ClrScr;

Page 28: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 sledeći

neparni je za 2 veći od prethodnog. Ciklus će se završiti kada i dostigne vrednost od 1001 ali taj broj neće ući u zbir. Inače traženi zbir je 247500.

Zadatak:

Napiši program upotrebom while naredbe kojim se izračunava zbir niza za svaki broj

n unesen sa tastature ako je dat niz:

Rešenje:

Program za rešenje ovog zadatka je:

program prog;

Uses CRT;

var

Page 29: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

zbir, j : real;

n,i : integer;

begin

ClrScr;

Write('Unesi broj n : ');

ReadLn(n);

zbir :=0;

i := 1;

while i <= n do

begin

j :=1 /(2*i-1);

zbir :=zbir+j;

i :=i+1;

end;

WriteLn('Trazeni zbir niza je :',zbir:8:2);

ReadLn

End.

Suština rešenja ovog zadatka je da sračuna član niza i doda na prethodnu sumu. Nakon toga se i uvećava za 1. Ciklus se obnavlja sve dok i ne dostigne vrednost n+1, ali taj član neće ući u zbir budući da je

uslov zadovoljen.

Zadatak:

Napiši deo koda upotrebom while instrukcije kojim se traži zbir brojeva od 1 do 100

deljivih sa 6 i 4. Brojevi od 50 do 60 ne ulaze u taj zbir.

Rešenje:

Page 30: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

zbir :=0;

i := 1;

while i <= 100 do

begin

if ((i mod 4 = 0) and (i mod 6 = 0) and (i < 50))

then zbir := zbir+i;

if ((i mod 4 = 0) and (i mod 6 = 0) and (i > 60))

then zbir := zbir+i;

i :=i+1;

end;

Pokušaj da sa jednim if uslovom rešiš zadatak.

Zadatak:

Neka je data sledeća grupa naredbi:

s :=1; i :=1;

repeat

s :=s+0.6;

i :=i+2

until s=4;

s :=s+i;

Kolike će biti vrednosti promenljivih s i i nakon napuštanja navedenog koda.

Re{enje:

1. prolaz

Page 31: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

s=s+0.6=1+0.6=1.6

i=i+2=1+2=3

2.prolaz

s=s+0.6=1.6+0.6=2.2

i=i+2=3+2=5

3.prolaz

s=s+0.6=2.2+0.6=2.8

i=i+2=5+2=7

4.prolaz

s=s+0.6=2.8+0.6=3.4

i=i+2=7+2=9

5.prolaz

s=s+0.6=3.4+0.6=4.0

i=i+2=9+2=11

uslov je zadovoljen pa se napušta repeat ciklus pa će s biti:

s=s+i = 4.0+11=15

Zadatak:

Neka je data slede}a grupa naredbi:

s :=0; i :=-1;

repeat

s :=s+0.7;

i :=i+3

until s=4.2;

s :=s+i;

Kolike će biti vrednosti promenljivih s i i nakon napuštanja navedenog koda.

Page 32: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

1. prolaz

s=s+0.7=0+0.7=0.7

i=i+3=-1+3=2

2.prolaz

s=s+0.7=0.7+0.7=1.4

i=i+3=2+3=5

3.prolaz

s=s+0.7=1.4+0.7=2.1

i=i+3=5+3=8

4.prolaz

s=s+0.7=2.1+0.7=2.8

i=i+3=8+3=11

5.prolaz

s=s+0.7=2.8+0.7=3.5

i=i+3=11+3=14

6. prolaz

s=s+0.7=3.5+0.7=4.2

i=i+3=14+3=17

budući da je uslov zadovoljen to je s=s+i=4.2+17=21.2.

Zadatak:

Napiši program kojim se upotrebom repat instrukcije tražii zbir

brojeva od 100 do 300 čija je zadnja cifra 7.

Page 33: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

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:

Napiši program upotrebom repeat instrukcije kojim se traži zbir brojeva od 1 do 100

deljivih sa 6 i 4. Brojevi od 50 do 60 ne ulaze u taj zbir.

Rešenje:

program prog;

Page 34: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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:

Napiši program kojim se od datog prirodnog broja n formira broj sa istim ciframa ali u

inverznom poretku.

Rešenje:

Program izgleda ovako:

program prog;

Uses CRT;

var

Page 35: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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:

Napiši program kojim se za zadati prirodan broj n utvrđuje koliko on ima binarnih

jedinica ako je predstavljen u binarnom obliku.

Rešenje:

Program izgleda ovako:

program prog;

Uses CRT;

var

n, i : integer;

begin

ClrScr;

Page 36: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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. Sračunati otpor kola r

koristeći funkciju otpor.

Rešenje:

Program izgleda ovako:

program prog;

Uses CRT;

var

u, i, r : real;

function otpor(u, i: real):real;

begin

otpor := u/i;

end;

begin

Page 37: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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. Koristeći funkciju veci

naći veći broj i prikazati ga.

Rešenje:

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

Page 38: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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. Koristeći

funkciju veci iz prethodnog zadataka nađi najveći broj.

Rešenje:

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;

end;

begin

Page 39: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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. Sračunati hipotenuzu c a za njeno izračunavanje koristi funkciju hipotenuza.

Rešenje:

Program izgleda ovako:

program prog;

Uses CRT;

var

a, b, c : real;

function hipotenuza(a, b: real):real;

Page 40: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

begin

hipotenuza := 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);

ReadLn

End.

Zadatak:

Neka se sa tastature unose celobrojne promenljive x i y koje mogu imati vrednost 0, ili 1. Koristeći funkciju eksluziv sračunati vrednos izlaza za eksluzivno ili kolo.

Rešenje:

Program izgleda ovako:

program prog;

Uses CRT;

var

x, y, f : integer;

a, b, c : boolean;

Page 41: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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);

ReadLn

End.

Zadatak:

Neka se sa tastature unosi prirodan broj n. Sračunaj zbir niza:

s =1+22+33+...nn,

pri čemu se n-ti član niza računa u funkciji clan.

Rešnje:

Program izgleda ovako:

Page 42: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Page 43: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka se sa tastature unose vrednosti otpornika r1 i r2 koji su

međusobno paralelno vezani i neka je dat napon kola u=100 volti.

Nađi vrednost struje i kola. Otpor kola sračunaj u proceduri otpor i to korišđenjem lokalnih i globalnih promenjivih.

Rešenje:

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;

Page 44: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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;

WriteLn('Struja kola i je : ',i:8:2);

ReadLn

Page 45: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

End.

Zadatak:

Neka je data procedura račun:

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, 1

b) 1.7 2.8

Rešenje:

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 pridružueno promenljivoj 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.5

Zadatak:

Neka je sa tastature unose realne promenljive x i y, i neka se funkcija f računa po formuli:

Napisati program kojim se u proceduri funk računa vrednost data

funkcije. Rezultat prikaži u glavnom programu.

Page 46: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

Program izgleda ovako:

program prog;

Uses CRT;

var

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

Zadatak:

Neka je data sledeći paskalski program:

program prog;

Uses CRT;

Page 47: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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

Rešenje:

a) ako se unese 1, 1 onda se u proceduri racun sračuna u prvom pozivu:

y1=1+sqr(1)+sqr(1)=3

Page 48: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

y2=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=3

c) rešenje je: z=2470, z1=900

Zadatak:

Neka su data dva mesta A i B čija je međusobna udaljenost s=90 km i neka se iz mesta A i B krene vozila u isto vreme. Prvo vozilo se

kreće brzinom v1 a drugo v2 kilometara na sat. Sračunaj u proceduri put vreme kada će se ona susresti i dužinu puta s1 i s2 koja su ona

pojedinačno prešla. Ponovi račun tako da se drugo vozilo kreće za 5 km/sat brže.

Rešenje:

Programa za rešenje zadatka je:

program prog;

Uses CRT;

const

s=90;

var

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;

Page 49: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 sledeći 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;

Page 50: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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=2

b) i=5

c) i=-1

Rešenje:

U ovom slučaju se radi o takozvanim rekurzivnim procedurama koje poizvaju samu sebe.Razmotrimo slučaj pod a.

Ulaskom u proceduru i=2, j=0, pa će biti i=i-1=2-1,j=j+2=0+2-2. Poziv procedure 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 završava budući da je i < 0 pa je rezultat j=6.

c) rezulat je j=12. Proveri !!

d) rezultat je j=0.

Zadatak:

Napisati program kojim se u proceduri zbir traži suma brojeva deljivih sa 7 od 100 do 200. Rezultat prikaži u glavnom programu

Page 51: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

Program za rešenje 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 i lokalne varijable.

Zadatak:

Page 52: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Neka je dat niz xx od od 20 elemenata. Napiši program kojim se izračunava:

a) Srednja vrednost niza xx.

b) Maksimalni član niza

c) indeks najvećeg člana niza.

Rešenje:

program prog;

Uses CRT;

type niz=array[1..20] of real;

var

xx : niz;

sr, max : real;

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);

Page 53: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

WriteLn('Indeks najveceg clana je: ',j:5);

ReadLn

End.

Zadatak:

Neka je dat niz yy od 20 članova. Napiši program kojim se računa zbir pozitivnih

članova niza.

Rešenje:

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:

Page 54: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Neka je dat niz xx od n elemenata. Napisati program kojim se računa zbir članova niza

koji su deljivi sa 3 i 7.

Rešenje:

program prog;

Uses CRT;

type niz=array[1..100] of integer;

var

xx : niz;

s : real;

i, n: integer;

begin

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

Page 55: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

End.

Zadatak:

Neka je dat niza yy od n elemenata. Napisati program kojim se računa broj članova

niza koji se nalaze u intervalu -1 < xx[i] < 7

Rešenje:

program prog;

Uses CRT;

type niz=array[1..100] of real;

var

yy : niz;

i, n, br: integer;

begin

ClrScr;

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;

Page 56: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

WriteLn('Trazeni broj clanova niza je: ',br:5);

ReadLn

End.

Zadatak:

Neka su data dva niza xx i yy od po pet članova. Napiši program kojim se računa

ukupan broj parova nizova koji na istom indeksu imaju jednake elemente.

Rešenje:

program prog;

Uses CRT;

type niz=array[1..100] of real;

var

xx, yy : niz;

i, br: integer;

begin

ClrScr;

for i := 1 to 5 do

begin

Write('Unesi - ',i:3,' clan niza xx : ');

ReadLn(xx[i])

end;

for i := 1 to 5 do

begin

Write('Unesi - ',i:3,' clan niza yy : ');

ReadLn(yy[i])

Page 57: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

end;

br := 0;

for i := 1 to 5 do

if (xx[i] = yy[i]) then br := br+1;

WriteLn('Trazeni broj parova je: ',br:5);

ReadLn

End.

Zadatak:

Neka je dat niza xx od 5 elemenata. Napiši program kojim se formira niz yy od

elemanata niza xx koji su parni.

Rešenje:

program prog;

Uses CRT;

type niz=array[1..5] of integer;

var

xx, yy : niz;

i, j: integer;

begin

ClrScr;

for i := 1 to 5 do

begin

Write('Unesi - ',i:3,' clan niza xx : ');

ReadLn(xx[i])

end;

Page 58: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

j := 1;

for i := 1 to 5 do

if (xx[i] mod 2 = 0) then begin yy[j] := xx[i]; j :=j+1 end;

WriteLn;

WriteLn('Novodobijeni niz je:');

for i := 1 to j-1 do

WriteLn(yy[i]);

ReadLn

End.

Zadatak:

Neka je dat niza a od 9 elemenata pri čemu se njegov prvi član a[0] unosi sa tastature.

Napiši 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]

Rešenje:

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]);

Page 59: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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. Napiši program kojim se sračunava zbir članova

niza sa parnim indeksom.

Rešenje:

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

Page 60: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Write('Unesi - ',i:3,' clan niza a : ');

ReadLn(a[i])

end;

i := 2;

while i < 11 do

begin

s := s+a[i];

i := i+2

end;

WriteLn('Trazeni zbirje: ',s:8:5);

ReadLn

End.

Zadatak:

Neka je dat niz a od 10 elemeneta. Napiši program kojim se sračunava ukupan broj

brojeva koji su međusobno jednaki.

Rešenje:

program prog;

Uses CRT;

type niz=array[1..10] of real;

var

a, c : niz;

i, j, k, br: integer;

begin

ClrScr;

Page 61: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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

begin

for 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 rešenja ovog zadatka morali smo uvesti dodatni niz c od 10 elemenata, čiji su članovi na početku postavljeni na nulu. Ovaj niz se

koristi da ne bi duplo brojali već obrađene brojeve. U slučaju ako je taj član niza već uzet na to mesto u nizu c se postavlja jedinica, pa je uslov da se uzima član da je c[j]=0. Budući da se prvi broj koji je jednak

nekom drugom ne bi uzimao u ukupan broj brojeva jednakih to smo na kraju programa ispitali pozicije matrice c i u slučaju ako je c[j]=j to

znači da na tom mestu ima jednak broj pa smo dobijeni zbir uvećavali za 1.

Zadatak

Page 62: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Napiši program koji se unos članovi niza. Nakon unosa člana niza stavi taj član na

mesto u nizu tako da niz bude sortiran u rastućem redosledu.

Rešenje:

program x1;

Uses Crt;

var

x :array[1..50] of integer;

l, i, j, n, p : integer;

Begin

Write('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

Begin

For 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;

Page 63: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

WriteLn;

WriteLn('Sortirani niz');

For i :=1 to n do

WriteLn('x[',i,']= ',x[i]);

Readln

end.

Zadatak:

Neka je data matrica a od 4 vrste i 5 kolona. Napiši program kojim se sračunava zbir

svih članova date matrice.

Rešenje:

program prog;

Uses CRT;

type niz=array[1..4, 1..5] of real;

var

a : niz;

s : real;

c : char;

i, j, k: integer;

begin

ClrScr;

for i := 1 to 4 do

begin

Write('Unesi vrstu - ',i:3,' matrice :');

Page 64: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

for j := 1 to 5 do

Read(a[i,j])

end;

s := 0;

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. Napiši program kojim se sračunava koja

kolona ima najveći zbir, i koliki je taj zbir.

Rešenje:

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;

Page 65: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

cc : char;

i, j: integer;

begin

ClrScr;

for i := 1 to 5 do

begin

Write('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 rešenje ovog zadatka uveli smo pomoćni niz c koji ima 5 članova a

njegovi pojedinačni članovi su zbirovi pojedinih kolona matrice b. Nakon

Page 66: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

dobijanja niza c tražimo najveći član i njegov indeks što je rešenje

zadatka.

Zadatak:

Neka je data matrica b sa 5 vrsta i 5 kolona. Napiši program kojim se sračunava zbir

svih članova date matrice po sporednoj dijagonali tj. : s=s[1,5]+a[2, 4]+...+a[5, 1].

Rešenje:

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

begin

Write('Unesi vrstu - ',i:3,' matrice :');

for j := 1 to 5 do

Read(b[i,j])

end;

s := 0;

for i := 1 to 5 do

Page 67: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

s := s + b[i,6-i];

WriteLn('Trazeni zbir je: ',s:8:5);

ReadLn(cc);

End.

Zadatak:

Napiši 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] ... Prikaži dati niz.

Rešenje:

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

Page 68: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

begin

Write('Unesi elemente a i b ',i:2, ' : ');

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:

Napiši program kojim se učitava matrica a dimenzija 5 x 5. Nađi zbir brojeva deljivih sa 7 i sa 2 u okviru date matrice.

Rešenje:

program prog;

Uses CRT;

Page 69: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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;

Page 70: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

WriteLn;

WriteLn('Ukupan zbir takvih elemanata je : ', zbir:10);

WriteLn;

ReadLn(c1);

end.

Zadatak:

Napiši 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. Prikaži matricu b kao rezultat.

Rešenje:

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])

Page 71: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

end;

k := 1; j := 1;

for i := 1 to 12 do

begin

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

begin

WriteLn;

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. Napiši program kojim se nalazi najveći

član te matrice, kao i vrsta i kolona gde se on nalazi.

Rešenje:

Page 72: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 do

begin

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.

Page 73: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Zadatak:

Neka su dati nizovi a i b dimenzija 10 mesta čiji su elementi pojedinačne cifre dva

broja od 10 cifara. Napiši program kojim se sabiraju ta dva velika broja formiranjem niza c,

čiji su elementi pojedinačne cifre proizašle kao rezultat tog sabiranja. Koristeći dato rešenje

saberi:

99999 99999

88888 88888

Rešenje:

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

Write('Unesi brojeve a i b za sabiranje, pozic. ', i:2, ' : ');

Read(a[i], b[i]);

Page 74: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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('-----------------');

Page 75: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

if c[11] = 0 then begin k :=10; Write (' '); end

else begin write (' '); k:=11;end;

for i :=k downto 1 do

begin

Write (c[i]);

end;

ReadLn(c1);

end.

Zadatak:

Napiši program kojim se unosi ulazna rečenica recen kao i

znak(slovo), a zatim određuje ukupan broj ponavljanja toga znaka u datoj rečenici.

Rešenje:

program prog;

Uses CRT;

var

recen : string;

znak : string;

broj, i: integer;

cc : char;

begin

ClrScr;

Write('Unesi ulaznu recenicu : ');

ReadLn(recen);

Page 76: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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:

Napiši program kojim se unosi ulazna rečenica recen. Unesenu

rečenicu prikaži slovo po slova u novom redu.

Rešenje:

program prog;

Uses CRT;

var

recen : string;

broj, i: integer;

cc : char;

begin

ClrScr;

Write('Unesi ulaznu recenicu : ');

Page 77: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

ReadLn(recen);

WriteLn;

for i := 1 to length(recen) do

begin

WriteLn(copy(recen,i,1));

end;

ReadLn(cc);

End.

Zadatak:

Napiši program kojim se unosi ulazna rečenica recen. U datoj recenici izbriši slovo 'd'

i prikaži novodobijeni string.

Rešenje:

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

Page 78: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

begin

if 'd' = recen[i] then delete(recen, i, 1);

end;

WriteLn('Nova recenica je : ', recen);

ReadLn(cc);

End.

Zadatak:

Napiši program kojim se unosi ulazna rečenica recen. U datoj rečenici umesto slova 'd'

upiši slovo x i prikaži novodobijeni string.

Rešenje:

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

if 'd' = recen[i] then

Page 79: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

begin delete(recen, i, 1); insert('x',recen,i) end;

end;

WriteLn('Nova recenica je : ', recen);

ReadLn(cc);

End.

Zadatak:

Napiši program kojim se unosi ulazna rečenica recen. U datoj recenici izbriši deo

stringa koji nalazi između malih zagrada i prikaži novodobijeni string.

Rešenje:

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;

j := 1;

for i := 1 to length(recen) do

begin

Page 80: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 rešenje ovog zadatka koristili smo varijablu ind koja je na početku programa bila

postavljena na nulu. Ako u unesenom stringu naiđemo na otvorenu zagradu indikator se

postavlja na 1 i zabranjuje dalje prenošenje u izlaznu rečenicu. Pojavljivanje zatvorene

zagrade dozvola za prenošenje se nastavlja tj. ind se postavlja na nulu.

Zadatak:

Napiši program kojim se unosi ulazna rečenica recen, a zatim odredi broj reči u

rečenici. Rečima smatraj deo slova jedno do drugog razmaknut prazninama.

Rešenje:

program prog;

Uses CRT;

var

recen : string;

i, broj: integer;

cc : char;

begin

ClrScr;

Page 81: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Suština rešenja ovog zadatka se nalazi u tome što ispitujemo uslov da li se pre

praznine nalazi neki karakter. Ako ga ima to je reč i brojač se uveđava za 1. Brojač je

postavljen na 1 radi zadnje reči u rečenici kod koje nije zadovoljen navedeni uslov.

Zadatak:

Napiši program kojim se unosi u tabelu a 20 prezimena i imena

učenika. Nađi koliko ima Milanovica i koliko ima Jelena?

Rešenje:

program prog;

Uses CRT;

type ucenici=array[1..10] of string[20];

var

i, j, k, broj1, broj2: integer;

Page 82: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

a: ucenici;

c: char;

begin

ClrScr;

Writeln;

WriteLn;

for i := 1 to 10 do

begin

Write('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:

Page 83: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Napiši program kojim se uneseni ulazni broj konvertuje u heksadecimaln broj.

Rešenje:

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 : ');

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';

Page 84: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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:

Napiši program kojim se u celobrojnu datoteku a upisuju brojevi od 1 do 10 pojedinačno.

Rešenje:

program prog;

Page 85: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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');

readln;

end.

Zadatak:

Napiši program kojim se iz prethodno formirane datoteke a nalazi zbir svih upisanih brojeva.

Rešenje:

program prog;

Uses CRT;

Page 86: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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:

Napiši program kojim se u datoteku realnih brojeva a prvo unese i upiše 5 brojeva. Nakon toga pročitaj datoteku a i nađi najveći upisani

broj.

Rešenje:

Page 87: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 do

begin

Write('Unesi broj - ', i:2,' : ');

Read(x);

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;

Page 88: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 veći od 3. Prikaži dobijenu datoteku b.

Rešenje:

program prog;

Uses CRT;

type

broj=file of real;

Var

a, b : broj;

x : real;

begin

ClrScr;

assign(a,'c:\broj.dat');

assign(b,'c:\broj1.dat');

reset(a);

rewrite(b);

while not eof(a) do

begin

read(a, x);

Page 89: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Zadatak

Napiši program koji se u datoteku "mat.dat" unosi n realnih brojeva.

Rešenje:

program x1;

Uses Crt;

var

f: file of real;

i, j, n : integer;

x : real;

Page 90: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Zadatak

Napiši program kojim se iz datoteke "mat.dat" prikazuju uneseni brojevi. Unesi zatim

broj b. U datoteku "racun.dat" unesi samo one brojeve koji su veći od broja b. Sračuna i

prikaži aritmetičku sredinu tih brojeva.

Rešenje:

program x1;

Page 91: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Uses CRT;

var

f, 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);

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

Page 92: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Zadatak

Napiši program kojim se u datoteku "odsecak.dat" unose svi neparni brojevi iz

intervala [-14,14].

Rešenje:

program x1;

Uses Crt;

var

f: file of integer;

i, j, n : integer;

Begin

ClrScr;

assign(f,'odsecak.dat');

Page 93: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

rewrite(f);

For i := -14 to 14 do

Begin

If (i mod 2 <> 0) then Write(f, i);

End;

Close(f);

Readln

end.

Zadatak

Napiši program kojim prikazuju svi uneseni se brojevi u datoteku "odsecak.dat". Sve

negativne brojeve iz te datoteke upiši u datoteku "nova.dat" i sračunaj koliko je takvih

brojeva.

Rešenje:

program x1;

Uses Crt;

var

f, f1: file of integer;

i, j, n : integer;

Begin

ClrScr;

assign(f,'odsecak.dat');

assign(f1,'nova.dat');

reset(f);

Page 94: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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". Napiši program kojim se čitaju svi

brojevi iz te datoteke i uvećani za 2 upisuju u datoteku "broj1.dat".

Rešenje:

Program x1;

Uses Crt;

Page 95: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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;

Close(f);

Close(f1);

ReadLn;

ENd.

Zadatak:

Page 96: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Neka je data datoteka realnih brojeva "broj2.dat". Napiši program kojim se u tu

datoteku upisuje n brojeva. Nakon unosa prikaži sve brojeve i nađi i prikaži najveći uneseni

broj.

Rešenje:

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);

Page 97: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Zadatak:

Neka je data ulazna datoteka radnici tekstualnog tipa u koju je uneseno prezime i ime radnika i njegova godina rođenja. Napiši program kojim se nalazi najstariji i najmlađi radnik kao i prosečnu starost svih

radnika.

Rešenje:

Page 98: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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;

Page 99: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Zadatak:

Napiši program kojim se u tekstualnu datoteku ucenik unose podaci: prezime i ime, mesto stanovanja i adresa. Program završi kada se za prezime unese reč 'kraj'.

Rešenje:

program prog;

Uses CRT;

Var

ucenik : text;

ime : string[25];

mesto : string[15];

Page 100: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

adresa : string[20];

x : real;

begin

ClrScr;

assign(ucenik,'c:\ucenik.dat');

rewrite(ucenik);

while not (ime='kraj') do

begin

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') then

Write(ucenik,ime,mesto,adresa);

end;

close(ucenik);

readln;

end.

Zadatak:

Napiši program kojim se iz prethodno formirane tekstualne datoteku

ucenik, prikazuju na ekranu uneseni podaci.

Page 101: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

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;

Write(ime,' ',mesto,' ', adresa);

until eoln(ucenik);

close(ucenik);

readln;

end.

Zadatak:

Napiši proceduru za učitavanje i štampanje ugla koji je u glavnom

programu opisan kao:

type

Page 102: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

ugao=record

stepen:0..359;

minut:0..59;

sekund:0..59

Rešenje:

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, godina rođenja i broj

odigranih uloga. Napiš program kojim se unose podaci za n glumaca, a zatim prikaže samo

one koji imaju više od 50 uloga. Ako nema takvih napiši "Nema takvih glumaca"

Rešenje:

program x;

Uses CRT;

type

Page 103: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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

Write('Ime i prezime : ');

ReadLn(glumac[i].ime);

Write('Godina : ');

ReadLn(glumac[i].godina);

Write('Broj uloga : ');

ReadLn(glumac[i].bruloga);

End;

Page 104: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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.

Zadatak

Neka je dat slog opstina u koji se unose podaci: naziv, broj stanovnika i površina.

Napiši program kojim se unosi šest opština a zatim sortira po broju stanovnika.

Rešenje:

program x;

Uses Crt;

type

opstina=record

ime : string[20];

stanovnika : integer;

povrsina : integer;

end;

Page 105: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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 do

Begin

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 do

Begin

For j :=i+1 to 6 do

Begin

If opst[i].povrsina < opst[j].povrsina

Then Begin p :=opst[i]; opst[i] :=opst[j]; opst[j] :=p End;

Page 106: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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. Prikaži unesene osobe sortirane po godini starosti.

Rešenje:

program x;

Uses CRT;

type

osobe=record

ime : string[20];

godina : integer;

end;

var

i, j : integer;

osob : array [1..10] of osobe;

Page 107: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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');

WriteLn;

For i := 1 to 10 do

Page 108: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

WriteLn(osob[i].ime,' ',osob[i].godina);

Readln

end.

Zadatak:

Napiši program kojim se u slog osobe unosi ime i telefonski broj 5 osoba. Nakon

unosa sortiraj i prikaži unesene osobe po abecedi.

Rešenje:

program x;

Uses Crt;

type

osobe=record

ime : string[20];

telefon : string;

end;

var

i, j : integer;

osob : array [1..5] of osobe;

p : osobe;

Begin

ClrScr;

WriteLn('Unesite podatke o osobama');

WriteLn;

for i :=1 to 5 do

Page 109: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Begin

Write('Ime osobe : ');

ReadLn(osob[i].ime);

Write('Telefon : ');

ReadLn(osob[i].telefon);

End;

WriteLn;

{Sortiranje po imenima}

For i := 1 to 4 do

Begin

For j :=i+1 to 5 do

Begin

If osob[i].ime > osob[j].ime

Then Begin p :=osob[i]; osob[i] :=osob[j]; osob[j] :=p End;

End

End;

WriteLn('Sortirane osobe');

WriteLn;

For i := 1 to 5 do

WriteLn(osob[i].ime,' ',osob[i].telefon);

Readln

end.

Zadatak:

Napiši program kojim se u slog ucenik unosi ime, visina i tezina i za n ucenika.

Nakon unosa prikaži unesene podatke.

Page 110: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Rešenje:

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;

Begin

ClrScr;

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 : ');

Page 111: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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:

Napiši program kojim se u slog osobe unosi ime, i njegova starost za 10 osoba.

Nakon unosa sortiiraj osobe po godinama starosti i prikaži dobijene podatke.

Rešenje:

Program x;

Uses Crt;

type

osobe=record

ime :string[10];

Page 112: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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;

Page 113: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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:

Napiši program kojim se u slog dani unosi naziv i temperatura za svih 7 dana u

sedmici. Nakon unosa unesi zadatu temperaturu i prikaži dane koji su imali tu temperaturu.

Rešenje:

Program x;

Uses Crt;

type

dani=record

ime :string[10];

temperatura : integer;

End;

Var

Page 114: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

dan: array [1..7] of dani;

i, j , n, t: integer;

Begin

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:

Napiši program kojim se u slog artikal unosi naziv, kolicina i cena za n artikala.

Nakon unosa unesi zadatu cenu i prikaži artikle koji su imali tu cenu. Sračunaj ukupnu

vrednost artikala.

Rešenje:

Page 115: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

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);

Page 116: Zadatak - Средња школа "Свилајнац"skolasvilajnac.edu.rs/racunarstvoiinformatika/wp-content/...Zadatak: Ako je promeljiva tac logička promenljiva napiši izraz

Write('Unesite kolicinu : ');

Readln(art[i].kolicina);

Write('Unesite cenu : ');

Readln(art[i].cena);

End;

{Unos zadate cene}

WriteLn;

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.