PASCAL Reseni Zadaci

Embed Size (px)

Citation preview

  • 7/29/2019 PASCAL Reseni Zadaci

    1/63

    Zadatak:

    Napii sledee matematike izraze u Pascalu:

    a)

    b)

    Reenje:

    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:Napii sledee matematike izraze u Pascalu:

    a) f:=

    b) f:=

    Reenje:

    a)

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

    Zadatak:Ako je promeljiva tac logika promenljiva napii izraz da ona ima

    vrednost true, da se od odeseaka sa duinama x, y i z moe konstruisatitrougao.

    Reenje:Uslov da bi se konstruisao trougao je da je zbir bilo koje dve njegove

    stranice uvek vei od tree tj.

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

    Zadatak:Neka je dat sledei PASKALSKI kod:

    program test;var

  • 7/29/2019 PASCAL Reseni Zadaci

    2/63

    i,j: real;k: boolean;

    begin

    i:= j mod 8;

    k:=i+1;j:=i-5;end.

    Koja su greka napravljena u pisanju programa (opii) ?

    Reenje:- 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:Napii naredbu uslovnog prelaska kojom se za

    zadato x izraunava fpo formuli:

    Reenje: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:Napii naredbu uslovnog prelaska kojom se za

    zadato x izraunava fpo formuli:

    Reenje:

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

    else f:=abs(x);

    Zadatak:

  • 7/29/2019 PASCAL Reseni Zadaci

    3/63

    Koju e vrednost imati promenljiva a nakon izvravanja sledeihnaredbi:

    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;

    Reenje:Budui da je a vee od 1 to e se izvriti instrukcija od if koje su pod

    else pa imamo:a=a+4=1.56+4=5.56a=trunc(a)+7=trunc(5.56)+7=5+7=12s=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 izvravanja sledeih

    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;a:=abs(-a) + 2;

    Reenje:Budui da je a vee od jedan izvrava se else deo if naredbe pa

    imamo: a=a+5=1.56+5=5.56a=round(a)+4\round(5.56)+4=6+4=10 a=sqr(a)+5=10*10+5=105

    i na krajua=sbs(-a)+2=abs(-105)+2=105+2=107

    Zadatak:Napisati program koji za uneseni napon U i struju I sa tastature

    sraunava otpor i snaga kola. Rezultat prikai u formatu od 8 mesta sa 2decimale.

    Reenje:

    program prog;

    Uses CRT;

    var

    u,i,r,p : real;

    begin

    ClrScr;

  • 7/29/2019 PASCAL Reseni Zadaci

    4/63

    Write('Unesi napon U kola : ');

    ReadLN(u);

    Write('Unesi struju I kola : ');

    ReadLn(i);

    r := u/i;

    p := u*i;

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

    ReadLn

    End.

    Zadatak:

    Neka je data jednaina =0. Promenljive a i b se unose satastature. Napii program koji za svaku vrednost a i b dajereenja jednaine. Rezultat prikai 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 kojimse sraunava zbir samo negativnih brojeva. Rezultat prikai u formatu od 5mesta.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n1,n2,n3,s : integer;

    begin

    ClrScr;

    Write('Unesi n1 : ');

    ReadLn(n1);

  • 7/29/2019 PASCAL Reseni Zadaci

    5/63

    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.

    Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojimse sraunava ukupan broj negativnih brojeva. Rezultat prikai u formatu od5 celih 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+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

    se sraunava zbir brojeva koji se nalaze u intervalu 3 do 7. Rezultat prikaiu formatu od 5 mesta.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

  • 7/29/2019 PASCAL Reseni Zadaci

    6/63

    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 =5) and (n2 =5) and (n3

  • 7/29/2019 PASCAL Reseni Zadaci

    7/63

    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.

    Zadatak:Neka se sa tastature brojevi n1, n2, i n3. Napii program kojim

    se ovi brojevi udvajaju ako je inae se svakom brojudodeljuje njegova apsolutna 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 )) thenbegin 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.

  • 7/29/2019 PASCAL Reseni Zadaci

    8/63

    Zadatak:Putovanje izmeu mesta A i B traje n sekundi. Sraunaj koliko je to sati,minuta i 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.

    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 slede}e instrukcije:a=a+7=1.56+1=8.56a=trunc(a)=trunc(8.56)=8

    b) za uneseno k=121 operacija k mod 10 = 1 pa se vrednost promenljivea nee promeniti.c) za uneseno k=234 rezultat operacije k mod 10 = 4 pa se izvravajusledee instrukcije:

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

    d) za uneseno k=416 rezultat operacije k mod 10 = 6 pa se izvravajusledee instrukcije:

  • 7/29/2019 PASCAL Reseni Zadaci

    9/63

    a=-a=-1.56a=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 zaunetu ocenu ispisuje: 1 - nedovoljan, 2 - dovoljan, 3 - dobar, 4 -vrlodobar, 5 - odlian.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    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;

  • 7/29/2019 PASCAL Reseni Zadaci

    10/63

    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-=14. prolaz:

    a=a-i=-1-4=-55. 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

    pet puta, dok e naredba a :=a-4 biti izvrena samo jednom.

    Zadatak:Napisati program koristei instrukciju for kojom se rauna zbir brojeva od 1do 100 koji su deljivi sa 7 i sa 3.

    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 dati uslov su: 21, 42, 63 i 84 iji je zbir 210.

    Zadatak:Napisati program koristei instrukciju for kojom se rauna zbir brojeva od 1do 100 ija je zadnja cifra 9.

    Reenje:Program za reenje ovog zadatka je:

    program prog;

    Uses CRT;

  • 7/29/2019 PASCAL Reseni Zadaci

    11/63

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

    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:

  • 7/29/2019 PASCAL Reseni Zadaci

    12/63

    program prog;

    Uses CRT;

    var

    faktorijel : real;

    n,i : integer;

    beginClrScr;

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

  • 7/29/2019 PASCAL Reseni Zadaci

    13/63

    Primetite da smo za reavanje ovog zadatka morali definisatipromenljivu pred, koja moe imati vrednost 1 ili - 1 i u svakom ciklusu semanja i to za neparan 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 sesa tastature unosi n i broj x.

    Reenje:Program za reenje 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);

    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;

    var

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

    c1: char;

    begin

    ClrScr;

    Writeln;

  • 7/29/2019 PASCAL Reseni Zadaci

    14/63

    WriteLn;

    WriteLn(' PROSTI BROJEVI OD 1 DO 1000 ');

    WriteLn;

    WriteLn;

    broj :=0;

    for i :=3 to 1000 do

    beginj := 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

  • 7/29/2019 PASCAL Reseni Zadaci

    15/63

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

    Zadatak:Neka je data sledea grupa naredbi:

    s :=1; i :=1;while s b dobegin

  • 7/29/2019 PASCAL Reseni Zadaci

    16/63

    c :=a*b;c :=c+aend;

    Kako e se izvriti ova grupa naredbi.

    Reenje:Ako je a b program e trajno ostati u telu ciklusatakozvanom beskonanom ciklusu.

    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:

  • 7/29/2019 PASCAL Reseni Zadaci

    17/63

    program prog;

    Uses CRT;

    var

    zbir, j : real;

    n,i : integer;

    begin

    ClrScr;Write('Unesi broj n : ');

    ReadLn(n);

    zbir :=0;

    i := 1;

    while i

  • 7/29/2019 PASCAL Reseni Zadaci

    18/63

    i :=i+2until s=4;

    s :=s+i;Kolike e biti vrednosti promenljivih s i i nakon naputanja navedenogkoda.

    Re{enje:

    1. prolazs=s+0.6=1+0.6=1.6i=i+2=1+2=3

    2.prolazs=s+0.6=1.6+0.6=2.2i=i+2=3+2=5

    3.prolazs=s+0.6=2.2+0.6=2.8

    i=i+2=5+2=74.prolazs=s+0.6=2.8+0.6=3.4i=i+2=7+2=9

    5.prolazs=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

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

    Reenje:

    1. prolazs=s+0.7=0+0.7=0.7i=i+3=-1+3=2

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

  • 7/29/2019 PASCAL Reseni Zadaci

    19/63

    i=i+3=5+3=84.prolaz

    s=s+0.7=2.1+0.7=2.8i=i+3=8+3=11

    5.prolaz

    s=s+0.7=2.8+0.7=3.5i=i+3=11+3=146. prolaz

    s=s+0.7=3.5+0.7=4.2i=i+3=14+3=17

    budui 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:

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

    Reenje:

    program prog;

    Uses CRT;

    var

    zbir : real;

    i : integer;

    begin

    ClrScr;

  • 7/29/2019 PASCAL Reseni Zadaci

    20/63

    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

    n, i : integer;

    begin

    ClrScr;

    Write('Unesi broj n : ');

    ReadLn(n);

    i := 0;

    repeat

    i :=i*10+n mod 10;

    n :=n div 10until 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);

  • 7/29/2019 PASCAL Reseni Zadaci

    21/63

    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;

    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;

  • 7/29/2019 PASCAL Reseni Zadaci

    22/63

    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;

    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.

    Sraunati hipotenuzu c a za njeno izraunavanje koristi funkcijuhipotenuza.

    Reenje:Program izgleda ovako:

  • 7/29/2019 PASCAL Reseni Zadaci

    23/63

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

    ReadLn

    End.

    Zadatak:Neka se sa tastature unose celobrojne promenljive x i y koje mogu

    imati vrednost 0, ili 1. Koristei funkciju eksluziv sraunati vrednos izlazaza eksluzivno ili kolo.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

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

    ReadLn

    End.

  • 7/29/2019 PASCAL Reseni Zadaci

    24/63

    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.

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

  • 7/29/2019 PASCAL Reseni Zadaci

    25/63

    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;

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

    ReadLn

    End.

    Zadatak:Neka je data procedura raun:

    procedure racun(x1, x2 : real; var y1:real);

    beginy1 := 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:

  • 7/29/2019 PASCAL Reseni Zadaci

    26/63

    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 pridruueno

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

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

  • 7/29/2019 PASCAL Reseni Zadaci

    27/63

    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) reenjeje: z=2470, z1=900

    Zadatak:Neka su data dva mesta A i B ija je meusobna udaljenost s=90 km i

    neka se iz mesta A i B krene vozila u isto vreme. Prvo vozilo se kreebrzinom v1 a drugo v2 kilometara na sat. Sraunaj u proceduri put vremekada e se ona susresti i duinu puta s1 i s2 koja su ona pojedinanoprela. Ponovi raun tako da se drugo vozilo kree za 5 km/sat bre.

    Reenje:Programa za reenje zadatka je:

    program prog;

    Uses CRT;

    const

    s=90;

    varv1, 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;

  • 7/29/2019 PASCAL Reseni Zadaci

    28/63

    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 kojepoizvaju samu sebe.Razmotrimo sluaj 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

  • 7/29/2019 PASCAL Reseni Zadaci

    29/63

    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

    je rezultat 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 sudefinisane i lokalne varijable.

    Zadatak:Neka je dat niz xx od od 20 elemenata. Napii program kojim se

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

  • 7/29/2019 PASCAL Reseni Zadaci

    30/63

    i,j : integer;

    begin

    ClrScr;

    max := xx[1];

    sr := 0;

    for i := 1 to 20 do

    beginsr := 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;

    beginClrScr;

    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;

  • 7/29/2019 PASCAL Reseni Zadaci

    31/63

    s : real;

    i, n: integer;

    begin

    ClrScr;

    Write('Unesi broj clanova niza :');

    ReadLn(n);

    for i := 1 to n dobegin

    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

    rauna broj 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;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;

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

    ReadLn

    End.

    Zadatak:

  • 7/29/2019 PASCAL Reseni Zadaci

    32/63

    Neka su data dva niza xx i yy od po pet lanova. Napii program kojimse rauna ukupan broj parova nizova koji na istom indeksu imaju jednakeelemente.

    Reenje:

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

    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. Napii program kojim se formira

    niz yy od elemanata niza xx koji su parni.

    Reenje:

    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;

    j := 1;

  • 7/29/2019 PASCAL Reseni Zadaci

    33/63

    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] unosisa tastature. 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

  • 7/29/2019 PASCAL Reseni Zadaci

    34/63

    ClrScr;

    for i := 1 to 10 do

    begin

    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. Napii program kojim se sraunava

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

    begin

    ClrScr;

    for i := 1 to 10 doc[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 reenja ovog zadatka morali smo uvesti dodatni niz c od 10elemenata, iji su lanovi na poetku postavljeni na nulu. Ovaj niz se

  • 7/29/2019 PASCAL Reseni Zadaci

    35/63

    koristi da ne bi duplo brojali ve obraene brojeve. U sluaju ako je taj lanniza ve uzet na to mesto u nizu c se postavlja jedinica, pa je uslov da seuzima lan da je c[j]=0. Budui da se prvi broj koji je jednak nekomdrugom ne bi uzimao u ukupan broj brojeva jednakih to smo na krajuprograma ispitali pozicije matrice c i u sluaju ako je c[j]=j to znai da natom mestu ima jednak broj pa smo dobijeni zbir uveavali za 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:

    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;

    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. Napii program kojim se

    sraunava zbir svih lanova date matrice.

    Reenje:

    program prog;

    Uses CRT;

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

    var

  • 7/29/2019 PASCAL Reseni Zadaci

    36/63

    a : niz;

    s : real;

    c : char;

    i, j, k: integer;

    begin

    ClrScr;

    for i := 1 to 4 dobegin

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

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

  • 7/29/2019 PASCAL Reseni Zadaci

    37/63

    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 anjegovi pojedinani lanovi su zbirovi pojedinih kolona matrice b. Nakondobijanja niza c traimo najvei lan i njegov indeks to je reenje zadatka.

    Zadatak:Neka je data matrica b sa 5 vrsta i 5 kolona. Napii program kojim se

    sraunava 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

    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

    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.

  • 7/29/2019 PASCAL Reseni Zadaci

    38/63

    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

    beginWrite('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:Napii program kojim se uitava matrica a dimenzija 5 x 5. Nai zbir

    brojeva 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

  • 7/29/2019 PASCAL Reseni Zadaci

    39/63

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

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

  • 7/29/2019 PASCAL Reseni Zadaci

    40/63

    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. Napii program kojim se

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

    Reenje:

    program prog;

    Uses CRT;

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

    vara : 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;

  • 7/29/2019 PASCAL Reseni Zadaci

    41/63

    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 kojimse sabiraju ta dva velika broja formiranjem niza c, iji su elementipojedinane cifre proizale kao rezultat tog sabiranja. Koristei datoreenje 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

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

  • 7/29/2019 PASCAL Reseni Zadaci

    42/63

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

    end

    else 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 udatoj reenici.

    Reenje:

    program prog;

    Uses CRT;

    varrecen : string;

    znak : string;

    broj, i: integer;

    cc : char;

    begin

    ClrScr;

    Write('Unesi ulaznu recenicu : ');

    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.

  • 7/29/2019 PASCAL Reseni Zadaci

    43/63

    Zadatak:

    Napii program kojim se unosi ulazna reenica recen. Unesenureenicu 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) dobegin

    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;

    begin

    ClrScr;

    Write('Unesi ulaznu recenicu : ');

    ReadLn(recen);

    WriteLn;

    for i := 1 to length(recen) dobegin

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

    end;

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

    ReadLn(cc);

    End.

    Zadatak:

  • 7/29/2019 PASCAL Reseni Zadaci

    44/63

    Napii program kojim se unosi ulazna reenica recen. U datoj reeniciumesto slova 'd' upii slovo x i prikai novodobijeni string.

    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

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

    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;

    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;

  • 7/29/2019 PASCAL Reseni Zadaci

    45/63

    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 prenoenjeu izlaznu reenicu. Pojavljivanje zatvorene zagrade dozvola za prenoenjese nastavlja 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;

    var

    recen : 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 dali se pre praznine nalazi neki karakter. Ako ga ima to je re i broja seuveava za 1. Broja je postavljen na 1 radi zadnje rei u reenici kod kojenije zadovoljen navedeni uslov.

    Zadatak:Napii program kojim se unosi u tabelu a 20 prezimena i imena

    uenika. Nai koliko ima Milanovica i koliko ima Jelena?

  • 7/29/2019 PASCAL Reseni Zadaci

    46/63

    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

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

    Read(i);

  • 7/29/2019 PASCAL Reseni Zadaci

    47/63

    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 1do 10 pojedinano.

    Reenje:

    program prog;

    Uses CRT;

    type

    broj=file of integer;

    Var

    a : broj;

    i : integer;

    beginClrScr;

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

    rewrite (a);

    for i := 1 to 10 do

    begin

    write(a, i)

    end;

    close (a);

  • 7/29/2019 PASCAL Reseni Zadaci

    48/63

    WriteLn('Formirana je datoeka a');

    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;

    Vari : integer;

    a : broj;

    max, x : real;

    begin

    ClrScr;

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

    rewrite(a);

    for i := 1 to 5 do

  • 7/29/2019 PASCAL Reseni Zadaci

    49/63

    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;

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

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

  • 7/29/2019 PASCAL Reseni Zadaci

    50/63

    close(b);

    readln;

    end.

    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 brojevekoji su vei od broja b. Srauna i prikai aritmetiku sredinu tih brojeva.

    Reenje:

    program x1;

    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;

  • 7/29/2019 PASCAL Reseni Zadaci

    51/63

    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

    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;

    varf: 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:

  • 7/29/2019 PASCAL Reseni Zadaci

    52/63

    program x1;

    Uses Crt;

    var

    f, f1: file of integer;

    i, j, n : integer;

    BeginClrScr;

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

  • 7/29/2019 PASCAL Reseni Zadaci

    53/63

    x :=2 * x;

    Write(f1, x);

    End;

    Close(f);

    Close(f1);

    ReadLn;

    ENd.

    Zadatak:Neka je data datoteka realnih brojeva "broj2.dat". Napii program

    kojim se u tu datoteku upisuje n brojeva. Nakon unosa prikai sve brojeve inai i prikai najvei 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.

  • 7/29/2019 PASCAL Reseni Zadaci

    54/63

    Zadatak:

    Neka je data ulazna datoteka radnici tekstualnog tipa u koju jeuneseno prezime i ime radnika i njegova godina roenja. Napii programkojim se nalazi najstariji 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);

  • 7/29/2019 PASCAL Reseni Zadaci

    55/63

    end.

    Zadatak:Napii program kojim se u tekstualnu datoteku ucenik unose podaci:

    prezime i ime, mesto stanovanja i adresa. Program zavri kada se zaprezime unese 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') 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: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;

  • 7/29/2019 PASCAL Reseni Zadaci

    56/63

    mesto : string;

    adresa : string;

    begin

    ClrScr;

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

    reset(ucenik);

    repeatReadLn(ucenik, ime, mesto, adresa);

    WriteLn;

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

    until eoln(ucenik);

    close(ucenik);

    readln;

    end.

    Zadatak:Napii proceduru za uitavanje i tampanje ugla koji je u glavnom

    programu opisan kao:

    typeugao=record

    stepen:0..359;minut:0..59;sekund:0..59

    Reenje:

    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

    ZadatakNeka je dat slog glumci u koji se unose podaci: prezime i ime, godina

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

  • 7/29/2019 PASCAL Reseni Zadaci

    57/63

    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;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 zatimsortira po broju stanovnika.

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

  • 7/29/2019 PASCAL Reseni Zadaci

    58/63

    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;

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

  • 7/29/2019 PASCAL Reseni Zadaci

    59/63

    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

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

    Readlnend.

    Zadatak:Napii program kojim se u slog osobe unosi ime i telefonski broj 5

    osoba. Nakon unosa sortiraj i prikai unesene osobe po abecedi.

    Reenje:

    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

    BeginWrite('Ime osobe : ');

    ReadLn(osob[i].ime);

    Write('Telefon : ');

    ReadLn(osob[i].telefon);

    End;

    WriteLn;

    {Sortiranje po imenima}

    For i := 1 to 4 do

    Begin

  • 7/29/2019 PASCAL Reseni Zadaci

    60/63

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

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

    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;

  • 7/29/2019 PASCAL Reseni Zadaci

    61/63

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

    Reenje:

    Program x;

    Uses Crt;

    type

    osobe=record

    ime :string[10];

    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:

  • 7/29/2019 PASCAL Reseni Zadaci

    62/63

    Napii program kojim se u slog dani unosi naziv i temperatura zasvih 7 dana u sedmici. Nakon unosa unesi zadatu temperaturu i prikaidane koji su imali 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

    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

    n artikala. Nakon unosa unesi zadatu cenu i prikai artikle koji su imali tucenu. 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;

  • 7/29/2019 PASCAL Reseni Zadaci

    63/63

    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;

    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.