zbirka zadataka sa resenjima[1]

Upload: marko

Post on 08-Apr-2018

246 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    1/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:

    Neka je data jednaina bax + =0. Promenljive a i b se unose sa tastature.Napii program koji za svaku vrednost a i b daje reenja jednaine. Rezultatprikai u formatu od 8 mesta sa 2 decimale.Reenje:Reenje je jednaine x=-b/a pa e program izgledati kao:

    program prog;

    Uses CRT;

    var

    a,b,x : real;

    begin

    ClrScr;

    Write('Unesi parametar a : ');

    ReadLN(a);

    Write('Unesi parametar b : ');

    ReadLn(b);

    x := -b/a;

    WriteLn('Resenje jednacine je x=',x:8:2);

    ReadLn

    End.

    Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava zbir samo negativnih brojeva. Rezultat prikai u formatu od 5 mesta.

    Reenje:

    Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n1,n2,n3,s : integer;

    begin

    ClrScr;

    Write('Unesi n1 : ');

    ReadLn(n1);

    Write('Unesi n2 : ');

    ReadLn(n2);Write('Unesi n3 : ');

    ReadLn(n3);

    s := 0;

    if n1 < 0 then s := s+n1;

    if n2 < 0 then s := s+n2;

    if n3 < 0 then s := s+n3;

    WriteLn('Zbir brojeva je s=',s:5);

    ReadLn

    End.

    1

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    2/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava ukupan broj negativnih brojeva. Rezultat prikai u formatu od 5 celihmesta.

    Reenje:

    Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n1,n2,n3,s : integer;

    begin

    ClrScr;

    Write('Unesi n1 : ');

    ReadLn(n1);

    Write('Unesi n2 : ');

    ReadLn(n2);Write('Unesi n3 : ');

    ReadLn(n3);

    s := 0;

    if n1 < 0 then s := s+1;

    if n2 < 0 then s := s+1;

    if n3 < 0 then s := s+1;

    WriteLn('Ukupa broj negativnih brojeva je :',s:5);

    ReadLn

    End.

    Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava zbir brojeva koji se nalaze u intervalu 3 do 7. Rezultat prikai uformatu od 5 mesta.

    Reenje:program prog;

    Uses CRT;

    var

    n1,n2,n3,s : integer;

    beginClrScr;

    Write('Unesi n1 : ');

    ReadLn(n1);

    Write('Unesi n2 : ');

    ReadLn(n2);

    Write('Unesi n3 : ');

    ReadLn(n3);

    s := 0;

    if ((n1 >=5) and (n1 =5) and (n2 =5) and (n3

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    3/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:Neka se sa tastature unose celi brojevi n1, n2, i n3. Napii program kojim sesraunava zbir brojeva koji su deljivi sa 7. Rezultat prikai u formatu od 5 celihmesta.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n1,n2,n3,s : integer;

    begin

    ClrScr;

    Write('Unesi n1 : ');

    ReadLn(n1);

    Write('Unesi n2 : ');ReadLn(n2);

    Write('Unesi n3 : ');

    ReadLn(n3);

    s := 0;

    if (n1 mod 7 = 0) then s := s+n1;

    if (n2 mod 7 = 0) then s := s+n2;

    if (n3 mod 7 = 0) then s := s+n3;

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

    ReadLn

    End.

    Zadatak:Neka se sa tastature unose brojevi n1, n2, i n3. Napii program kojim sepromenljivoj max dodeljuje najvea vrednost od unesenih brojeva. Rezultatprikai u formatu od 8 mesta sa 2 decimalna.

    Reenje:Program izgleda ovako:program prog;

    Uses CRT;

    var

    n1,n2,n3,max : real;begin

    ClrScr;

    Write('Unesi n1 : ');

    ReadLn(n1);

    Write('Unesi n2 : ');

    ReadLn(n2);

    Write('Unesi n3 : ');

    ReadLn(n3);

    max := n1;

    if (n2 >= max) then max := n2;

    if (n3 >= max) then max := n3;WriteLn('Najveci uneseni broj je:',max:8:2);

    ReadLn

    End.

    3

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    4/57

    n n n1 2

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:Neka se sa tastature brojevi n1, n2, i n3. Napii program kojim se ovi brojeviudvajaju ako je inae se svakom broju dodeljuje njegovaapsolutna vrednost.

    Reenje:

    Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n1,n2,n3 : real;

    begin

    ClrScr;

    Write('Unesi n1 : ');

    ReadLn(n1);

    Write('Unesi n2 : ');

    ReadLn(n2);Write('Unesi n3 : ');

    ReadLn(n3);

    if ((n1 >= n2) and (n2 >= n3 )) then

    begin n1 := 2*n1; n2 := 2*n2; n3 := 2*n3 end

    else

    begin n1 := abs(n1); n2 := abs(n2); n3 := abs(n3) end;

    WriteLn('n1 = ',n1:8:2, ' n2 = ',n2:8:2,' n3 = ',n3:8:2);

    ReadLn

    End.

    Zadatak:Putovanje izmeu mesta A i B traje n sekundi. Sraunaj koliko je to sati, minutai sekundi.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n,sat,min,sek : integer;begin

    ClrScr;

    Write('Unesi sekunde : ');

    ReadLn(n);

    sat := n div 3600;

    sek := n mod 3600;

    min := sek div 60;

    sek := sek mod 60;

    WriteLn('sati = ',sat:5, ' minuta = ',min:5,' sek = ',sek:5);

    ReadLn

    End.

    4

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    5/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:Kolika e biti vrednost promenljive a ako se izvri sledei deo koda:

    a := 1.56;case k mod 10 of2,3,5,7: begin a := a+7; a := trunc(a) end;

    1:;4,8 : begin a := a-3; a :=round(a);9,6 : begin a:=-a; a :=a-7 end;

    ako se unese a) k=312, b) k = 121, c) k = 234 d) k=416

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

    izvravaju sledee instrukcije:a=a+7=1.56+1=8.56

    a=trunc(a)=trunc(8.56)=8a) za uneseno k=121 operacija k mod 10 = 1 pa se vrednost promenljive

    a nee promeniti.b) za uneseno k=234 rezultat operacije k mod 10 = 4 pa se izvravaju

    sledee instrukcije:a=a-3=1.56-3=-1.44a=round(a)=round(-1.44)=-1

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

    a=-a=-1.56

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

    Zadatak:Neka je data sledea if naredba.

    if n1>n2 then n1 :=n1+5else n1:=n2+3;

    navedeni niz naredbi zameni odgovarajuom case naredbom.Reenje:Program izgleda ovako:

    case n1>n2 oftrue: n1 :=n1+5;false: n1 :=n2+3

    end.

    Zadatak:Neka se sa tastaure unosi uspeh unika. Napisati program kojim se za unetuocenu ispisuje: 1 - nedovoljan, 2 - dovoljan, 3 - dobar, 4 - vrlodobar, 5 -odlian.

    Reenje:

    Program izgleda ovako:

    program prog;

    Uses CRT;

    5

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    6/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    var

    ocena : integer;

    begin

    ClrScr;

    Write('Unesi oceun : ');

    ReadLn(ocena);

    case ocena of

    1: WriteLn('Nedovoljan');

    2: WriteLn('Dovoljan');

    3: WriteLn('Dobar');

    4: WriteLn('Vrlodobar');

    5: WriteLn('Odican');

    end;

    ReadLn

    End.

    Zadatak:Neka je data slede}a grupa naredbi.

    a := 5;for i :=1 to 5 doa :=a-i;a :=a-4;

    kolika e biti vrednost promenljive a posle izvrenja datog koda ?Reenje:1. prolaz:

    a=a-i=5-1=42. prolaz:

    a=a-i=4-2=23. prolaz:a=a-i=2-3-=1

    4. prolaz:a=a-i=-1-4=-5

    5. prolaz:a=a-i=-5-5=-10

    i na kraju se izvrava naredba:a=a-4=-10-4=-14

    Primetite da je u telu ciklusa samo naredba a := a-i koja e biti izvrena petputa, dok e naredba a :=a-4 biti izvrena samo jednom.

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

    Reenje:Program za reenje ovog zadatka je:

    program prog;

    Uses CRT;var

    s, i : integer;

    6

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    7/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    begin

    ClrScr;

    s :=0;

    for i:=1 to 100 do

    if ((i mod 7 =0) and (i mod 3 = 0)) then s :=s+i;

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

    ReadLn

    End.

    Brojevi koji zadovoljavaju dati uslov su: 21, 42, 63 i 84 iji je zbir 210.

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

    Reenje:Program za reenje ovog zadatka je:

    program prog;Uses CRT;

    var

    s, i : integer;

    begin

    ClrScr;

    s :=0;

    for i:=1 to 100 do

    if ((i mod 7 =0) and (i mod 3 = 0)) then s :=s+i;

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

    ReadLn

    End.

    Brojevi koji zadovoljavaju ovaj uslov su 9, 19, 29, 39, 49, 59, 69, 79, 89 i 99iji je zbir 540.

    Zadatak:Neka se sa tatature unosi 10 realnih brojeva. Napisati program kojim sesraunava njihov zbir i njihov proizvod.

    Reenje:

    Program za reenje ovog zadatka je:program prog;

    Uses CRT;

    var

    a, zbir, proizvod : real;

    i : integer;

    begin

    ClrScr;

    zbir :=0; proizvod :=1;

    for i :=1 to 10 do

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

    ReadLn(a);

    zbir :=zbir+i;

    7

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    8/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    proizvod :=proizvod*i

    end;

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

    ',proizvod:8:2);

    ReadLn

    End.

    Primetite da je poetni uslov za zbir nula, dok je to za proizvod 1.

    Zadatak:Poznato je u matematici da je faktorijel nekog celog broja definisan kao:

    faktorije=n!=1*2*...*nNapii program koristei instrukciju for kojom se rauna faktorijel broja nunesenog sa tastature.

    Reenje:Program za reenje ovog zadatka je:

    program prog;

    Uses CRT;

    var

    faktorijel : real;

    n,i : integer;

    begin

    ClrScr;

    faktorijel :=1;

    Write('Unesi zadati broj n :');

    ReadLn(n);

    for i :=1 to n dobegin

    faktorijel :=faktorijel*i

    end;

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

    ReadLn

    End.

    Zadatak:Napisati program koristei instrukciju for kojom se rauna zbir niza koji jedefinisan kao:

    s=0-1+2=3+4...(-1)nnza broj n koji se unosi sa tastature.Reenje:program prog;

    Uses CRT;

    var

    zbir : real;

    i, n,pred : integer;

    begin

    ClrScr;

    Write('Unesi zadati broj n :');

    ReadLn(n);

    pred :=-1;

    zbir :=0;

    for i :=1 to n do

    8

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    9/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    begin

    zbir := zbir+(pred)*i;

    pred :=-pred

    end;

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

    ReadLn

    End.

    Primetite da smo za reavanje ovog zadatka morali definisati promenljivupred, koja moe imati vrednost 1 ili - 1 i u svakom ciklusu se manja i to zaneparan i jednaka je - 1 a za paran 1.

    Zadatak:Neka je dat niz:

    s=sin(x)+sin2(x)+sin3(x)+...+sinn(x).Napisati program koristei instrukciju for kojom se rauna ovaj zbir ako se satastature unosi n i broj x.

    Reenje:program prog;

    Uses CRT;

    var

    zbir, pro, x : real;

    n, i : integer;

    begin

    ClrScr;

    Write('Unesi zadati broj n :');

    ReadLn(n);

    Write('Unesi broj x :');

    ReadLn(x);zbir :=0;

    pro := 1;

    for i :=1 to n do

    begin

    pro :=pro*sin(x);

    zbir := zbir+pro;

    end;

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

    ReadLn

    End.

    Zadatak:Napii program kojim se odreuju svi prosti brojevi od 3 do 1000 kao i

    njihov ukupan broj.

    Reenje:Program za reenje ovog zadatka je:

    program prog;

    Uses CRT;

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

    c1: char;

    begin

    9

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    10/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    ClrScr;

    Writeln;

    WriteLn;

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

    WriteLn;

    WriteLn;

    broj :=0;

    for i :=3 to 1000 do

    begin

    j := i div 2;

    a :=0;

    for k :=2 to j do

    begin

    i2 := i mod k;

    if i2 = 0 then a :=1;

    end;

    if a=0 then begin Write(' ',i); broj :=broj+1; end;

    end;WriteLn;

    WriteLn;

    WriteLn('Ukupno takvih brojeva : ', broj);f

    ReadLn(c1);

    end.

    Zadatak:

    Neka je data sledea grupa naredbi:s :=0; i :=-1;while s

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    11/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    5.prolazs=s+0.7=2.8+0.7=3.5i=i+3=11+3=14

    6. prolazs=s+0.7=3.5+0.7=4.2i=i+3=14+3=17

    7. prolazbudui da je s = 4.2 > 4 ovog prolaza nema pa se izvrava instrukcija iza

    while ciklusa s :=s+i = 4.2+17=21.2Zadatak:

    Neka je data sledea grupa naredbi:s :=1; i :=1;while s b dobeginc :=a*b;c :=c+aend;

    Kako e se izvriti ova grupa naredbi.

    11

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    12/57

    Sn

    = + + + +

    1

    1

    3

    1

    5

    1

    2 12 2 2... ( )

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Reenje:Ako je a b program e trajno ostati u telu ciklusa takozvanom beskonanomciklusu.

    Zadatak:Napii program kojim se sabiraju svi neparni brojevi od 100 do 1000

    upotrebom while naredbe.

    Reenje:Program za reenje ovog zadatka je:

    program prog;

    Uses CRT;

    var

    zbir : real;

    i : integer;

    begin

    ClrScr;

    zbir :=0;

    i := 101;

    while i < 1000 do

    begin

    zbir :=zbir+i;

    i :=i+2;

    end;

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

    End.

    Primetite da smo kao prvi neparni broj uzeli broj 101 a svaki sledeineparni je za 2 vei od prethodnog. Ciklus e se zavriti kada i dostignevrednost od 1001 ali taj broj nee ui u zbir. Inae traeni zbir je 247500.

    Zadatak:Napii program upotrebom while naredbe kojim se izraunava zbir niza za

    svaki broj n unesen sa tastature ako je dat niz:

    Reenje:Program za reenje ovog zadatka je:

    program prog;

    Uses CRT;

    var

    zbir, j : real;

    n,i : integer;begin

    ClrScr;

    Write('Unesi broj n : ');

    12

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    13/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    ReadLn(n);

    zbir :=0;

    i := 1;

    while i

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    14/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    i=i+2=3+2=53.prolaz

    s=s+0.6=2.2+0.6=2.8i=i+2=5+2=7

    4.prolazs=s+0.6=2.8+0.6=3.4

    i=i+2=7+2=95.prolaz

    s=s+0.6=3.4+0.6=4.0i=i+2=9+2=11

    uslov je zadovoljen pa se naputa repeat ciklus pa e s biti:s=s+i = 4.0+11=15

    Zadata k:Neka je data slede}a grupa naredbi:

    s :=0; i :=-1;

    repeats :=s+0.7;i :=i+3

    until s=4.2;s :=s+i;

    Kolike e biti vrednosti promenljivih s i i nakon naputanja navedenog koda.

    Reenje:

    1. prolaz

    s=s+0.7=0+0.7=0.7i=i+3=-1+3=22.prolaz

    s=s+0.7=0.7+0.7=1.4i=i+3=2+3=5

    3.prolazs=s+0.7=1.4+0.7=2.1

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

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

    5.prolazs=s+0.7=2.8+0.7=3.5i=i+3=11+3=14

    6. prolazs=s+0.7=3.5+0.7=4.2

    i=i+3=14+3=17budui da je uslov zadovoljen to je s=s+i=4.2+17=21.2.

    Zadatak:Napii program kojim se upotrebom repat instrukcije traii zbir brojeva od

    100 do 300 ija je zadnja cifra 7.

    Reenje:

    14

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    15/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    program prog;

    Uses CRT;

    var

    zbir, j : real;

    n,i : integer;begin

    ClrScr;

    zbir :=0;

    i := 100;

    repeat

    if (i mod 10 = 7) then zbir := zbir+i;

    i :=i+1

    until i = 301;

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

    ReadLn

    End.

    Zadatak:Napii program upotrebom repeat instrukcije kojim se trai zbir brojeva od

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

    Reenje:

    program prog;

    Uses CRT;

    var

    zbir : real;i : integer;

    begin

    ClrScr;

    zbir :=0;

    i := 1;

    repeat

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

    then zbir := zbir+i;

    i := i+1;

    until i = 101;

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

    End.

    Zadatak:Napii program kojim se od datog prirodnog broja n formira broj sa istim

    ciframa ali u inverznom poretku.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    15

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    16/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    n, i : integer;

    begin

    ClrScr;

    Write('Unesi broj n : ');

    ReadLn(n);

    i := 0;

    repeat

    i :=i*10+n mod 10;

    n :=n div 10

    until n = 0;

    WriteLn('Trazeni broj je :',i:8);

    ReadLn

    End.

    Zadatak:Napii program kojim se za zadati prirodan broj n utvruje koliko on ima

    binarnih jedinica ako je predstavljen u binarnom obliku.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n, i : integer;

    begin

    ClrScr;

    Write('Unesi broj n : ');

    ReadLn(n);i := 0;

    repeat

    i :=i+n mod 2;

    n :=n div 2

    until n = 0;

    WriteLn('Broj u binarnom obliku ima jedinica :',i:8);

    ReadLn

    End.

    Zadatak:Neka se sa tastature unosi napon u i struja i. Sraunati otpor kola r

    koristei funkciju otpor.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    u, i, r : real;

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

    otpor := u/i;

    end;

    16

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    17/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    begin

    ClrScr;

    Write('Unesi napon u : ');

    ReadLn(u);

    Write('Unesi struju i : ');

    ReadLn(i);

    r := otpor(u, i);

    WriteLn('Otpor kola je : ',r:8:3);

    ReadLn

    End.

    Zadatak:Neka se sa tastature unosi celi brojevi n1 i n2. Koristei funkciju veci nai

    vei broj i prikazati ga.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n1, n2, broj : integer;

    function veci(n1, n2: integer):integer;

    begin

    if n1 > n2 then veci := n1

    else veci := n2;

    end;

    begin

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

    ReadLn(n1);

    Write('Unesi broj n2 : ');

    ReadLn(n2);

    broj := veci(n1, n2);

    WriteLn('Veci broj je : ',broj:5);

    ReadLn

    End.

    Zadatak:Neka se sa tastature unose etiri cela broja n1, n2, n3 i n4. Koristei

    funkciju veci iz prethodnog zadataka nai najvei broj.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    n1, n2, n3, n4, broj : integer;

    function veci(n1, n2: integer):integer;begin

    if n1 > n2 then veci := n1

    else veci := n2;

    17

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    18/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    end;

    begin

    ClrScr;

    Write('Unesi broj n1 : ');

    ReadLn(n1);

    Write('Unesi broj n2 : ');

    ReadLn(n2);

    Write('Unesi broj n3 : ');

    ReadLn(n3);

    Write('Unesi broj n4 : ');

    ReadLn(n4);

    broj := veci(veci(n1, n2), veci(n3, n4));

    WriteLn('Veci broj je : ',broj:5);

    ReadLn

    End.

    Zadatak:

    Neka se sa tastature unose stranice a i b pravougaonog trougla. Sraunatihipotenuzu c a za njeno izraunavanje koristi funkciju hipotenuza.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    a, b, c : real;

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

    beginhipotenuza := sqrt(sqr(a)+sqr(b));

    end;

    begin

    ClrScr;

    Write('Unesi stranicu a : ');

    ReadLn(a);

    Write('Unesi stranicu b : ');

    ReadLn(b);

    c := hipotenuza(a, b);

    WriteLn('Hipotenuza c je : ',c:8:5);

    ReadLnEnd.

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

    vrednost 0, ili 1. Koristei funkciju eksluziv sraunati vrednos izlaza zaeksluzivno ili kolo.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    var

    18

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    19/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    x, y, f : integer;

    a, b, c : boolean;

    function ekskluziv(a, b: boolean):boolean;

    begin

    ekskluziv := ((a and not b) or (not a and b));

    end;

    begin

    ClrScr;

    Write('Unesi ulaz x : ');

    ReadLn(x);

    Write('Unesi ulaz y : ');

    ReadLn(y);

    if x = 0 then a := true else a := false;

    if y = 0 then b := true else b := false;

    c := ekskluziv(a, b);

    if c = true then f := 1 else f := 0;

    WriteLn('Vrednost funkcije je : ',f:3);

    ReadLnEnd.

    Zadatak:Neka se sa tastature unosi prirodan broj n. Sraunaj zbir niza:

    s =1+22+33+...nn,pri emu se n-ti lan niza rauna u funkciji clan.

    Renje:Program izgleda ovako:

    program prog;Uses CRT;

    var

    n, i, j : integer;

    s, p, p1 : real;

    function niz(i : integer):real;

    begin

    p1 := 1;

    for j := 1 to i do

    p1 := p1*i;

    niz :=p1

    end;begin

    ClrScr;

    Write('Unesi broj n : ');

    ReadLn(n);

    s := 0;

    for i := 1 to n do

    begin

    p := niz(i);

    s := s+p;

    end;

    WriteLn('Zbir niza je : ',s:8:2);

    ReadLn

    End.

    19

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    20/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

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

    paralelno vezani i neka je dat napon kola u=100 volti.Nai vrednost struje i kola. Otpor kola sraunaj u proceduri otpor i to

    korienjem lokalnih i globalnih promenjivih.

    Reenje:Program izgleda ovako ako se koriste lokalne promenljive:

    program prog;

    Uses CRT;

    var

    r1, r2, r, i : real;

    const

    u=100;

    procedure otpor(rr1, rr2 :real; var rr : real);

    begin

    rr := rr1*rr2/(rr1+rr2);

    end;

    begin

    ClrScr;

    Write('Unesi vrednost otpornika r1 : ');

    ReadLn(r1);

    Write('Unesi vrednost otpornika r2 : ');

    ReadLn(r2);

    otpor(r1, r2, r);

    i := u/r;

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

    ReadLn

    End.

    Ako se koriste globalne promenjive program bi izgledao kao:

    program prog;

    Uses CRT;

    var

    r1, r2, r, i : real;const

    u=100;

    procedure otpor;

    begin

    r := r1*r2/(r1+r2);

    end;

    begin

    ClrScr;

    Write('Unesi vrednost otpornika r1 : ');

    ReadLn(r1);

    Write('Unesi vrednost otpornika r2 : ');ReadLn(r2);

    otpor;

    i := u/r;

    20

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    21/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

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

    ReadLn

    End.

    Zadatak:Neka je data procedura raun:

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

    y1 := x1+trunc(x2)+round(x1)+x2;end;

    i neka se ona iz programa poziva sa: racun(x,y,z);koja e biti vrednost promenljive z, ako se unese:

    a) 1, 1b) 1.7 2.8

    Reenje:

    a) ako se unese 1, 1 onda se u proceduri racun sracuna:y1=1+trunc(1)+round(1)+1=1+1+1+1=4 to e biti pridruuenopromenljivoj z.b) Ako se unese 1.7 i 2.8 onda emo imati:

    y1=1.7+trunc(2.8)+round(1.7)+2.8=1.7+2+2+2.8=8.5Zadatak:

    Neka je sa tastature unose realne promenljive x i y, i neka se funkcija frauna po formuli:

    Napisati program kojim se u proceduri funk rauna vrednost data funkcije.Rezultat prikai u glavnom programu.

    Reenje:Program izgleda ovako:

    program prog;

    Uses CRT;

    varx, y, f : real;

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

    begin

    y1 := sqrt(x1+(sqr(x1)-x2)/(sqr((x2)-x1)));

    end;

    begin

    ClrScr;

    Write('Unesi vrednost x, y : ');

    ReadLn(x,y);

    funk(x,y,f);

    WriteLn('Vrednost promenljive f je : ',f:8:2);ReadLn

    End.

    21

    f x x yy x

    = +

    2

    2

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    22/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:Neka je data sledei paskalski program:

    program prog;

    Uses CRT;

    var

    x, y, z, z1 : real;procedure racun(x1, x2 : real; var y1, y2 : real);

    begin

    y1 :=x1+sqr(x2)+sqr(x1);

    y2 :=x1*x2;

    end;

    begin

    ClrScr;

    Write('Unesi vrednost x, y : ');

    ReadLn(x,y);

    racun(x,y,z,z1);

    x :=z;y :=z1;

    racun(x,y,z,z1);

    WriteLn('Vrednost promenljivih z i z1 je : ',z:8:2,' ',z1:8:2);

    ReadLn

    End

    Kolika e biti vrednost promenljivih z i z1 ako se unese:a) 1 1

    b) 4 5

    Reenje:a) ako se unese 1, 1 onda se u proceduri racun srauna u prvom pozivu:

    y1=1+sqr(1)+sqr(1)=3y2=x1*x2=1*1=1

    u drugom pozivu ulazni paramteri procedure su 3 i 1 pa e biti:y1=3+sqr(1)+sqr(3)=3+1+9=13

    y2=3*1=3c) reenje je: z=2470, z1=900

    Zadatak:

    Neka su data dva mesta A i B ija je meusobna udaljenost s=90 km ineka se iz mesta A i B krene vozila u isto vreme. Prvo vozilo se kree brzinomv1 a drugo v2 kilometara na sat. Sraunaj u proceduri put vreme kada e se onasusresti i duinu puta s1 i s2 koja su ona pojedinano prela. Ponovi raun takoda se drugo vozilo kree za 5 km/sat bre.

    Reenje:Programa za reenje zadatka je:

    program prog;

    Uses CRT;const

    s=90;

    var

    22

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    23/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    v1, v2, s1, s2, t : real;

    procedure put(vv1, vv2, ss : real; var ss1, ss2, tt : real);

    begin

    ss1 :=vv1*ss/(vv1+vv2);

    ss2 :=ss - ss1;

    tt := ss1/vv1;

    end;

    begin

    ClrScr;

    Write('Unesi brzine v1 i v2 : ');

    ReadLn(v1,v2);

    put(v1,v2, s,s1,s2,t);

    WriteLn('Put s1 je: ',s1:8:2, ' s2 je: ',s2:8:5, ' vreme susreta:

    ',t:8:2);

    v2 :=v2+5;

    put(v1,v2, s,s1,s2,t);

    WriteLn('Put s1 je: ',s1:8:2, ' s2 je: ',s2:8:5, ' vreme susreta:

    ',t:8:2);ReadLn

    End.

    Zadatak:Neka je data sledei paskalski program:

    program prog;

    Uses CRT;

    var

    i, j : integer;

    c : char;procedure pitan(i : integer; var j: integer);

    begin

    if i >= 0 then

    begin i := i-1; j := j+2 ; pitan(i, j);

    end;

    end;

    begin

    ClrScr;

    Write('Unesi i : ');

    ReadLn(i);

    j := 0;pitan(i,j);

    WriteLn('j je: ',j:5);

    ReadLn

    End. Kolika e biti vrednost promenljive j ako se unese:a) i=2b) i=5c) i=-1

    Reenje:

    U ovom sluaju se radi o takozvanim rekurzivnim procedurama koje poizvajusamu sebe.Razmotrimo sluaj pod a.

    23

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    24/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Ulaskom u proceduru i=2, j=0, pa e biti i=i-1=2-1,j=j+2=0+2-2. Pozivprocedure je sada pitan(1, 2) pa je i=i-1=1-1=0,j=j+2=2+3=4, pa

    se poziva procedura pitan(0, 4). Tada je i=i-1=0-1=-,j=j+2=4+2=6.Procedura pitan(-1, 6) svojim pozivom se zavrava budui da je i < 0 pa jerezultat j=6.

    c) rezulat je j=12. Proveri !!

    d) rezultat je j=0.

    Zadatak:Napisati program kojim se u proceduri zbir trai suma brojeva deljivih sa 7

    od 100 do 200. Rezultat prikai u glavnom programu

    Reenje:Program za reenje je:

    program prog;

    Uses CRT;var

    s : integer;

    procedure zbir(var s1: integer);

    var

    i, ss1 : integer;

    begin

    ss1 := 0;

    for i := 100 to 200 do

    if (i mod 7 = 0) then ss1 := ss1+i;

    s1 :=ss1;

    end;begin

    ClrScr;

    zbir(s);

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

    ReadLn

    End.

    Primetite da procedura zbir koristi samo izlazne paramtre. U njoj su definisane ilokalne varijable.

    Zadatak:

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

    a) Srednja vrednost niza xx.b) Maksimalni lan nizac) indeks najveeg lana niza.

    Reenje:

    program prog;

    Uses CRT;

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

    xx : niz;

    sr, max : real;

    24

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    25/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    i,j : integer;

    begin

    ClrScr;

    max := xx[1];

    sr := 0;

    for i := 1 to 20 do

    begin

    sr := sr+xx[i];

    if max < xx[i] then begin max := xx[i]; j := i end;

    end;

    sr := sr/20;

    WriteLn('Srednja vrednost niza je: ',sr:8:5);

    WriteLn('Najveci clan niza je : ',max:8:5);

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

    ReadLn

    End.

    Zadatak:Neka je dat niz yy od 20 lanova. Napii program kojim se rauna zbirpozitivnih lanova niza.

    Reenje:

    program prog;

    Uses CRT;

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

    var

    yy : niz;

    s : real;i : integer;

    begin

    ClrScr;

    s := 0;

    for i := 1 to 20 do

    if yy[i] > 0 then s := s+ yy[i];

    WriteLn('Zbir pozitivnih clanova nizaj je: ',s:8:5);

    ReadLn

    End.

    Zadatak:Neka je dat niz xx od n elemenata. Napisati program kojim se rauna zbir

    lanova niza koji su deljivi sa 3 i 7.

    Reenje:

    program prog;

    Uses CRT;

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

    var

    xx : niz;s : real;

    i, n: integer;

    begin

    25

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    26/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    ClrScr;

    Write('Unesi broj clanova niza :');

    ReadLn(n);

    for i := 1 to n do

    begin

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

    ReadLn(xx[i])

    end;

    s := 0;

    for i := 1 to n do

    if (xx[i] mod 3 = 0) and (xx[i] mod 7 = 0)

    then s := s+xx[i];

    WriteLn('Zbir trazenih clanova niza je: ',s:8:5);

    ReadLn

    End.

    Zadatak:

    Neka je dat niza yy od n elemenata. Napisati program kojim se raunabroj lanova niza koji se nalaze u intervalu -1 < xx[i] < 7

    Reenje:

    program prog;

    Uses CRT;

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

    var

    yy : niz;

    i, n, br: integer;

    beginClrScr;

    Write('Unesi broj clanova niza :');

    ReadLn(n);

    for i := 1 to n do

    begin

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

    ReadLn(yy[i])

    end;

    br := 0;

    for i := 1 to n do

    if (yy[i] > -1) and (yy[i] < 7)then br := br+1;

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

    ReadLn

    End.

    Zadatak:Neka su data dva niza xx i yy od po pet lanova. Napii program kojim se

    rauna ukupan broj parova nizova koji na istom indeksu imaju jednakeelemente.

    Reenje:

    program prog;

    26

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    27/57

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    28/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:Neka je dat niza a od 9 elemenata pri emu se njegov prvi lan a[0] unosi satastature. Napii program kojim se formira ovaj niz ako je:

    a[1]=a[0]*a[0], a[2]=a[0]*a[1], ...,a[8]=a[7]*a[6]

    Reenje:

    program prog;

    Uses CRT;

    type niz=array[0..8] of real;

    var

    a : niz;

    i, j: integer;

    begin

    ClrScr;

    Write('Unesi clan niza a[0] :');

    ReadLn(a[0]);a[1] := sqr(a[0]);

    for i := 2 to 8 do

    a[i] := a[i-1]*a[i-2];

    WriteLn;

    WriteLn('Dobijeni niz je:');

    for i := 0 to 8 do

    WriteLn(a[i]:8:5);

    ReadLn

    End.

    Zadatak:Neka je dat niza a od 10 elemeneta. Napii program kojim se sraunava

    zbir lanova niza sa parnim indeksom.

    Reenje:

    program prog;

    Uses CRT;

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

    var

    a : niz;s : real;

    i: integer;

    begin

    ClrScr;

    for i := 1 to 10 do

    begin

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

    ReadLn(a[i])

    end;

    i := 2;

    while i < 11 dobegin

    s := s+a[i];

    i := i+2

    28

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    29/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    end;

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

    ReadLn

    End.

    Zadatak:

    Neka je dat niz a od 10 elemeneta. Napii program kojim se sraunavaukupan broj brojeva koji su meusobno jednaki.

    Reenje:

    program prog;

    Uses CRT;

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

    var

    a, c : niz;

    i, j, k, br: integer;

    beginClrScr;

    for i := 1 to 10 do

    c[i] := 0;

    for i := 1 to 10 do

    begin

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

    ReadLn(a[i])

    end;

    br := 0; k := 0;

    for i := 1 to 9 do

    beginfor j := i+1 to 10 do

    if (c[j] = 0) and (a[i]=a[j]) then

    begin br := br + 1; c[j] := 1; c[i] := i end;

    end;

    for j := 1 to 10 do

    if c[j] = j then br :=br+1;

    WriteLn('Ukupan broj jednakih brojeva je: ',br:5);

    ReadLn

    End.

    Prilikom reenja ovog zadatka morali smo uvesti dodatni niz c od 10 elemenata,iji su lanovi na poetku postavljeni na nulu. Ovaj niz se koristi da ne bi duplobrojali ve obraene brojeve. U sluaju ako je taj lan niza ve uzet na to mestou nizu c se postavlja jedinica, pa je uslov da se uzima lan da je c[j]=0. Buduida se prvi broj koji je jednak nekom drugom ne bi uzimao u ukupan broj brojevajednakih to smo na kraju programa ispitali pozicije matrice c i u sluaju ako jec[j]=j to znai da na tom mestu ima jednak broj pa smo dobijeni zbir uveavaliza 1.

    ZadatakNapii program koji se unos lanovi niza. Nakon unosa lana niza stavi taj

    lan na mesto u nizu tako da niz bude sortiran u rastuem redosledu.

    Reenje:

    29

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    30/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    program x1;

    Uses Crt;

    var

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

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

    BeginWrite('Unesite broj clanova niza :');

    ReadLn(n);

    WriteLn;

    WriteLn('UNESITE CLANOVE NIZA');

    WriteLn;

    for l :=1 to n do

    Begin

    Write('x[',l,']= ');

    ReadLn(x[l]);

    For i:= 1 to l-1 do

    BeginFor j:=i+1 to l do

    if x[i] > x[j] then begin p :=x[i]; x[i] :=x[j]; x[j] :=p

    End;

    End;

    End;

    WriteLn;

    WriteLn('Sortirani niz');

    For i :=1 to n do

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

    Readln

    end.

    Zad atak:Neka je data matrica a od 4 vrste i 5 kolona. Napii program kojim se

    sraunava zbir svih lanova date matrice.

    Reenje:

    program prog;

    Uses CRT;

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

    vara : niz;

    s : real;

    c : char;

    i, j, k: integer;

    begin

    ClrScr;

    for i := 1 to 4 do

    begin

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

    for j := 1 to 5 do

    Read(a[i,j])

    end;

    s := 0;

    30

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    31/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    for i := 1 to 4 do

    begin

    for j := 1 to 5 do

    s := s+a[i,j]

    end;

    WriteLn('Zbir svih elemanata matrice a je: ',s:8:5);

    ReadLn(c);

    End.

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

    sraunava koja kolona ima najvei zbir, i koliki je taj zbir.

    Reenje:

    program prog;

    Uses CRT;

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

    var

    b : niz;

    c : niz1;

    s, max : real;

    cc : char;

    i, j: integer;

    begin

    ClrScr;

    for i := 1 to 5 do

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

    for j := 1 to 5 do

    Read(b[i,j])

    end;

    for j := 1 to 5 do

    begin

    s := 0;

    for i := 1 to 5 do

    s := s+b[i,j];

    c[j] := s;

    end;max := c[1];

    for i := 2 to 5 do

    if max < c[i] then begin max := c[i]; j := i end;

    WriteLn('Zbir najvece kolone je: ',max:8:5);

    WriteLn('Ta je kolona : ',j:5);

    ReadLn(cc);

    End.

    Za reenje ovog zadatka uveli smo pomoni niz c koji ima 5 lanova a njegovipojedinani lanovi su zbirovi pojedinih kolona matrice b. Nakon dobijanja niza ctraimo najvei lan i njegov indeks to je reenje zadatka.

    Zadatak:

    31

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    32/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Neka je data matrica b sa 5 vrsta i 5 kolona. Napii program kojim sesraunava zbir svih lanova date matrice po sporednoj dijagonali tj. :s=s[1,5]+a[2, 4]+...+a[5, 1].

    Reenje:

    program prog;Uses CRT;

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

    var

    b : niz;

    s : real;

    cc : char;

    i, j: integer;

    begin

    ClrScr;

    for i := 1 to 5 do

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

    for j := 1 to 5 do

    Read(b[i,j])

    end;

    s := 0;

    for i := 1 to 5 do

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

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

    ReadLn(cc);

    End.

    Zadatak:Napii program kojim se unose elementi nizova a i b koji imaju po 10

    lanova. Formiraj niz c kao:c[1]=a[1]*b[10], c[2]=a[2]*b[9] ... Prikai dati niz.

    Reenje:

    program prog;

    Uses CRT;

    type tab1=array[1..10] of integer;tab2=array[1..10] of integer;

    tab3=array[1..10] of integer;

    var

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

    a: tab1; b: tab2; c:tab3;

    c1: char;

    begin

    ClrScr;

    Writeln;

    WriteLn;for i := 1 to 10 do

    begin

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

    32

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    33/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

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

    end;

    j := 10;

    for i :=1 to 10 do

    begin

    c[i] :=a[i]*b[j];

    j := j-1;

    end;

    WriteLn;

    WriteLn(' Prikaz rezultata');

    WriteLn;

    for i :=1 to 10 do

    WriteLn('c[',i:2,']=',c[i]);

    WriteLn;

    ReadLn(c1);

    end.

    Zadatak:Napii program kojim se uitava matrica a dimenzija 5 x 5. Nai zbirbrojeva deljivih sa 7 i sa 2 u okviru date matrice.

    Reenje:

    program prog;

    Uses CRT;

    type tab1=array[1..5, 1..5] of integer;

    var

    i, j, zbir: integer;

    a: tab1;c1: char;

    begin

    ClrScr;

    Writeln;

    WriteLn;

    for i := 1 to 5 do

    begin

    Write('Unesi elemente matrice A, vrste ', i:2, ' : ');

    for j := 1 to 5 do

    begin

    Read(a[j, i]);end;

    WriteLn;

    end;

    zbir := 0;

    for i :=1 to 5 do

    for j := 1 to 5 do

    begin

    if ((a[i, j] mod 7 = 0) and (a[i, j] mod 2 = 0))

    then zbir := zbir + a[i, j];

    end;

    WriteLn;WriteLn;

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

    33

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    34/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    WriteLn;

    ReadLn(c1);

    end.

    Zadatak:Napii program kojim se unose elementi niza a od 12 elemenata, zatim se

    od toga niza formira matrica b koja ima 3 vrste i etiri kolone. Prikai matricu bkao rezultat.

    Reenje:

    program prog;

    Uses CRT;

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

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

    var

    a : niz;

    b : niz1;cc : char;

    i, j, k: integer;

    begin

    ClrScr;

    for i := 1 to 12 do

    begin

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

    Read(a[i])

    end;

    k := 1; j := 1;

    for i := 1 to 12 dobegin

    if (i > 4) and (i < 9) then k := 2;

    if (i > 8) and (i < 13) then k := 3;

    if i = 5 then j := 1;

    if i = 9 then j := 1;

    b[k,j] :=a[i];

    j := j+1;

    end;

    WriteLn('Trazena matrica je: ');

    for i := 1 to 3 do

    beginWriteLn;

    for j := 1 to 4 do

    Write(b[i,j]:5:2,' ');

    end;

    ReadLn(cc);

    End.

    Zadatak:Neka je data matrica a sa 3 vrste i 4 kolone. Napii program kojim se

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

    Reenje:

    34

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    35/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    program prog;

    Uses CRT;

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

    var

    a : niz;

    cc : char;

    i, j, k, k1: integer;

    max : real;

    begin

    ClrScr;

    for i := 1 to 3 do

    begin

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

    for j :=1 to 4 do

    Read(a[i, j])

    end;

    max :=a[1, j]; k := 1; k1 := 1;

    for i := 1 to 3 dobegin

    for j := 1 to 4 do

    if max < a[i,j] then begin max := a[i,j]; k := i; k1 := j

    end;

    end;

    WriteLn('Najveci clan je matrica je: ', max:8:5);

    WriteLn('U vrsti : ',k:5, ' i koloni : ',k1:5);

    ReadLn(cc);

    End.

    Zadatak:Neka su dati nizovi a i b dimenzija 10 mesta iji su elementi pojedinane

    cifre dva broja od 10 cifara. Napii program kojim se sabiraju ta dva velikabroja formiranjem niza c, iji su elementi pojedinane cifre proizale kao rezultattog sabiranja. Koristei dato reenje saberi:

    99999 9999988888 88888

    Reenje:

    program prog;

    Uses CRT;

    type tab1=array[1..10] of integer;

    tab2=array[1..11] of integer;

    var

    i, j, k, pren: integer;

    a, b: tab1;

    c: tab2;

    c1: char;

    begin

    ClrScr;

    Writeln;WriteLn;

    for i := 10 downto 1 do

    begin

    35

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    36/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

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

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

    end;

    WriteLn;

    pren :=0;

    for i :=1 to 10 do

    begin

    c[i]:=a[i]+b[i]+pren;

    if c[i] > 10 then begin c[i]:= c[i]-10; pren:=1; end

    else pren :=0;

    end;

    if pren = 1 then c[11] :=1 else c[11] :=0;

    WriteLn;

    WriteLn(' Prikaz rezulatata');

    WriteLn;

    for i := 10 downto 1 do

    begin

    if i = 10 then Write(' ');Write (a[i]);

    end;

    WriteLn;

    for i := 10 downto 1 do

    begin

    if i = 10 then Write (' +');

    Write (b[i]);

    end;

    WriteLn;

    WriteLn('-----------------');

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

    for i :=k downto 1 do

    begin

    Write (c[i]);

    end;

    ReadLn(c1);

    end.

    Zadatak:Napii program kojim se unosi ulazna reenica recen kao i znak(slovo), a

    zatim odreuje ukupan broj ponavljanja toga znaka u datoj reenici.

    Reenje:

    program prog;

    Uses CRT;

    var

    recen : string;

    znak : string;

    broj, i: integer;

    cc : char;

    begin

    ClrScr;

    Write('Unesi ulaznu recenicu : ');

    36

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    37/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    ReadLn(recen);

    WriteLn;

    Write('Unesi znak koji se trazi : ');

    ReadLn(znak);

    broj := 0;

    for i := 1 to length(recen) do

    begin

    if znak=recen[i] then broj := broj + 1;

    end;

    WriteLn('Ukupno pojavljivanja datog znaka :', broj:5);

    ReadLn(cc);

    End.

    Zadatak:Napii program kojim se unosi ulazna reenica recen. Unesenu reenicu

    prikai slovo po slova u novom redu.

    Reenje:

    program prog;

    Uses CRT;

    var

    recen : string;

    broj, i: integer;

    cc : char;

    begin

    ClrScr;

    Write('Unesi ulaznu recenicu : ');

    ReadLn(recen);WriteLn;

    for i := 1 to length(recen) do

    begin

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

    end;

    ReadLn(cc);

    End.

    Zadatak:Napii program kojim se unosi ulazna reenica recen. U datoj recenici

    izbrii slovo 'd' i prikai novodobijeni string.

    Reenje:

    program prog;

    Uses CRT;

    var

    recen : string;

    broj, i: integer;

    cc : char;

    beginClrScr;

    Write('Unesi ulaznu recenicu : ');

    ReadLn(recen);

    37

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    38/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    WriteLn;

    for i := 1 to length(recen) do

    begin

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

    end;

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

    ReadLn(cc);

    End.

    Zadatak:Napii program kojim se unosi ulazna reenica recen. U datoj reenici

    umesto slova 'd' upii slovo x i prikai novodobijeni string.

    Reenje:

    program prog;

    Uses CRT;

    varrecen : string;

    broj, i: integer;

    cc : char;

    begin

    ClrScr;

    Write('Unesi ulaznu recenicu : ');

    ReadLn(recen);

    WriteLn;

    for i := 1 to length(recen) do

    begin

    if 'd' = recen[i] thenbegin delete(recen, i, 1); insert('x',recen,i) end;

    end;

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

    ReadLn(cc);

    End.

    Zadatak:Napii program kojim se unosi ulazna reenica recen. U datoj recenici

    izbrii deo stringa koji nalazi izmeu malih zagrada i prikai novodobijeni string.

    Reenje:

    program prog;

    Uses CRT;

    var

    recen, recen1 : string;

    ind, i, j: integer;

    cc : char;

    begin

    ClrScr;

    Write('Unesi ulaznu recenicu : ');ReadLn(recen);

    WriteLn;

    ind := 0;

    38

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    39/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    j := 1;

    for i := 1 to length(recen) do

    begin

    if (recen[i]='(') and (ind = 0) then ind := 1;

    if ind = 0 then begin

    insert(recen[i], recen1, j); j := j+1 end;

    if (recen[i]=')') and (ind = 1) then ind := 0;

    end;

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

    ReadLn(cc);

    End.

    Za reenje ovog zadatka koristili smo varijablu ind koja je na poetkuprograma bila postavljena na nulu. Ako u unesenom stringu naiemo naotvorenu zagradu indikator se postavlja na 1 i zabranjuje dalje prenoenje uizlaznu reenicu. Pojavljivanje zatvorene zagrade dozvola za prenoenje senastavlja tj. ind se postavlja na nulu.

    Zadatak:Napii program kojim se unosi ulazna reenica recen, a zatim odredi broj

    rei u reenici. Reima smatraj deo slova jedno do drugog razmaknutprazninama.

    Reenje:

    program prog;

    Uses CRT;

    varrecen : string;

    i, broj: integer;

    cc : char;

    begin

    ClrScr;

    Write('Unesi ulaznu recenicu : ');

    ReadLn(recen);

    WriteLn;

    broj := 1;

    for i := 1 to length(recen) do

    begin

    if (recen[i]=' ') and not (pred(recen[i]=' ')) then

    begin broj := broj + 1 end;

    end;

    WriteLn('Ukupno reci u recenici je : ', broj:3);

    ReadLn(cc);

    End.

    Sutina reenja ovog zadatka se nalazi u tome to ispitujemo uslov da li sepre praznine nalazi neki karakter. Ako ga ima to je re i broja se uveava za 1.Broja je postavljen na 1 radi zadnje rei u reenici kod koje nije zadovoljen

    navedeni uslov.

    Zadatak:

    39

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    40/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Napii program kojim se unosi u tabelu a 20 prezimena i imena uenika.Nai koliko ima Milanovica i koliko ima Jelena?

    Reenje:

    program prog;

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

    var

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

    a: ucenici;

    c: char;

    begin

    ClrScr;

    Writeln;

    WriteLn;

    for i := 1 to 10 do

    beginWrite('Unesi prezime i ime ',i:2, ' : ');

    ReadLn(a[i]);

    end;

    broj1 := 0; broj2 := 0;

    for i :=1 to 10 do

    begin

    j := pos('Milanovic', a[i]);

    k := pos('Jelena',a[i]);

    if not (j = 0) then broj1 := broj1+1;

    if not (k = 0) then broj2 := broj2+1;

    end;WriteLn;

    WriteLn('Ukupno Milanovica : ', broj1);

    WriteLn('Ukupno Jelena : ', broj2);

    ReadLn(c);

    end.

    Zadatak:Napii program kojim se uneseni ulazni broj konvertuje u heksadecimaln

    broj.

    Reenje:

    program prog;

    Uses CRT;

    var

    i, i2, j, a: integer;

    linija: string[14];

    slovo: char;

    c1: char;

    begin

    ClrScr;

    Writeln;

    WriteLn;

    WriteLn('Unesi broj za pretvaranje : ');

    40

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    41/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Read(i);

    linija :='';

    repeat

    i2 :=i mod 16;

    i :=i div 16;

    if i2 =0 then slovo :='0';

    if i2 =1 then slovo :='1';

    if i2 =2 then slovo :='2';

    if i2 =3 then slovo :='3';

    if i2 =4 then slovo :='4';

    if i2 =5 then slovo :='5';

    if i2 =6 then slovo :='6';

    if i2 =7 then slovo :='7';

    if i2 =8 then slovo :='8';

    if i2 =9 then slovo :='9';

    if i2 =10 then slovo :='A';

    if i2 =11 then slovo :='B';

    if i2 =12 then slovo :='C';if i2 =13 then slovo :='D';

    if i2 =14 then slovo :='E';

    if i2 =15 then slovo :='F';

    insert(slovo,linija, 1);

    until i = 0;

    WriteLn;

    WriteLn;

    WriteLn('Broj u heksa kodu : ', linija);

    ReadLn(c1);

    Zadatak:Napii program kojim se u celobrojnu datoteku a upisuju brojevi od 1 do

    10 pojedinano.

    Reenje:

    program prog;

    Uses CRT;

    type

    broj=file of integer;Var

    a : broj;

    i : integer;

    begin

    ClrScr;

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

    rewrite (a);

    for i := 1 to 10 do

    begin

    write(a, i)

    end;close (a);

    WriteLn('Formirana je datoeka a');

    41

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    42/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    readln;

    end.

    Zadatak:Napii program kojim se iz prethodno formirane datoteke a nalazi zbir svih

    upisanih brojeva.

    Reenje:

    program prog;

    Uses CRT;

    type

    broj=file of integer;

    Var

    s, i, n : integer;

    a : broj;

    begin

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

    reset (a);

    i := 0;

    while not eof(a) do

    begin

    read(a, n);

    i := i+n;

    end;

    write ('Zbir unesenih brojeva je : ',i:5);

    close (a);

    readln; readln;end.

    Zadatak:Napii program kojim se u datoteku realnih brojeva a prvo unese i upie 5

    brojeva. Nakon toga proitaj datoteku a i nai najvei upisani broj.

    Reenje:

    program prog;

    Uses CRT;type

    broj=file of real;

    Var

    i : integer;

    a : broj;

    max, x : real;

    begin

    ClrScr;

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

    rewrite(a);

    for i := 1 to 5 dobegin

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

    Read(x);

    42

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    43/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Write(a, x);

    max := x;

    end;

    close(a);

    reset(a);

    while not eof(a) do

    begin

    read(a, x);

    if max < x then max := x;

    end;

    Write ('Najveci upisan broj je : ',max:8:5);

    close (a);

    readln; readln;

    end.

    Zadatak:Iz prethodno formirane datoteke a realnih brojeva formiraj datoteku b od

    onih brojeva koji su vei od 3. Prikai dobijenu datoteku b.

    Reenje:

    program prog;

    Uses CRT;

    type

    broj=file of real;

    Var

    a, b : broj;

    x : real;

    beginClrScr;

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

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

    reset(a);

    rewrite(b);

    while not eof(a) do

    begin

    read(a, x);

    if x > 3 then write(b, x);

    end;

    close(b);reset(b);

    WriteLn;

    while not eof(b) do

    begin

    read(b, x);

    writeLn(x:8:3);

    end;

    close(a);

    close(b);

    readln;

    end.

    43

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    44/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    ZadatakNapii program koji se u datoteku "mat.dat" unosi n realnih brojeva.

    Reenje:

    program x1;

    Uses Crt;var

    f: file of real;

    i, j, n : integer;

    x : real;

    Begin

    ClrScr;

    assign(f,'mat.dat');

    rewrite(f);

    Write('Unesite broj brojeva : ');

    ReadLn(n);

    WriteLn;for i :=1 to n do

    Begin

    Write('Unesi broj : ');

    ReadLn(x);

    if sqr(x) < 100 Then Write(f, x);

    End;

    WriteLn;

    Close(f);

    Readln

    end.

    ZadatakNapii program kojim se iz datoteke "mat.dat" prikazuju uneseni brojevi.

    Unesi zatim broj b. U datoteku "racun.dat" unesi samo one brojeve koji su veiod broja b. Srauna i prikai aritmetiku sredinu tih brojeva.

    Reenje:

    program x1;

    Uses CRT;

    varf, f1: file of real;

    i, j, n : integer;

    x, b, s, as : real;

    Begin

    ClrScr;

    assign(f,'mat.dat');

    assign(f1,'racun.dat');

    reset(f);

    rewrite(f1);

    WriteLn('Uneseni brojevi u datoteku');

    WriteLn;While not eof(f) do

    Begin

    Read(f,x);

    44

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    45/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    WriteLn(x:8:3);

    End;

    Close(f);

    reset(f);

    WriteLn;

    Write('Uneseni broj b : ');

    ReadLn(b);

    j := 0; s :=0;

    While not eof(f) do

    Begin

    Read(f,x);

    if x > b Then Begin Write(f1, x); s :=s+x; j :=j+1 End;

    End;

    WriteLn;

    If j > 0 Then

    WriteLn('Aritmetica sredina je : ', s/j:8:3);

    Close(f);

    Close(f1);Readln

    end.

    ZadatakNapii program kojim se u datoteku "odsecak.dat" unose svi neparni

    brojevi iz intervala [-14,14].

    Reenje:

    program x1;

    Uses Crt;var

    f: file of integer;

    i, j, n : integer;

    Begin

    ClrScr;

    assign(f,'odsecak.dat');

    rewrite(f);

    For i := -14 to 14 do

    Begin

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

    End;Close(f);

    Readln

    end.

    ZadatakNapii program kojim prikazuju svi uneseni se brojevi u datoteku

    "odsecak.dat". Sve negativne brojeve iz te datoteke upii u datoteku "nova.dat"i sraunaj koliko je takvih brojeva.

    Reenje:

    program x1;

    Uses Crt;

    45

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    46/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    var

    f, f1: file of integer;

    i, j, n : integer;

    Begin

    ClrScr;

    assign(f,'odsecak.dat');

    assign(f1,'nova.dat');

    reset(f);

    rewrite(f1);

    WriteLn;

    Write('Upisani brojevi');

    WriteLn;

    j :=0;

    While not eof(f) do

    Begin

    Read(f,i);

    WriteLn(i);

    if i < 0 Then Begin Write(f1,i); j :=j+1 End;End;

    Close(f);

    Close(f1);

    WriteLn;

    WriteLn('Broj negativnih brojeva je : ',j);

    Readln

    end.

    Zadatak:Neka je data datoteka realnih brojeva "broj.dat". Napii program kojim se

    itaju svi brojevi iz te datoteke i uveani za 2 upisuju u datoteku "broj1.dat".

    Reenje:

    Program x1;

    Uses Crt;

    Var

    f, f1 : file of real;

    x : real;

    i : integer;

    Begin

    ClrScr;{Otvaranje datoteke}

    Assign(f,'broj.dat');

    Assign(f1,'broj1.dat');

    Reset(f);

    Rewrite(f1);

    {Prepisivanje iz prve u drugu datoteku}

    WriteLn;

    While not eof(f) do

    Begin

    Read(f, x);

    x :=2 * x;Write(f1, x);

    End;

    46

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    47/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Close(f);

    Close(f1);

    ReadLn;

    ENd.

    Zadatak:

    Neka je data datoteka realnih brojeva "broj2.dat". Napii program kojim seu tu datoteku upisuje n brojeva. Nakon unosa prikai sve brojeve i nai i prikainajvei uneseni broj.Reenje:Program x1;

    Uses Crt;

    Var

    f : file of real;

    x, max : real;

    i, n : integer;

    Begin

    ClrScr;{Otvaranje datoteke}

    Assign(f,'broj2.dat');

    Rewrite(f);

    {Unos ukupnog broja brojeva}

    WriteLn;

    Write('Unesi ukupan broj brojeva : ');

    ReadLn(n);

    For i := 1 to n do

    Begin

    Write('Unesi ',i, ' broj = ');

    Readln(x);Write(f, x);

    End;

    WriteLn;

    WriteLn('UPISANI BROJEVI U DATOTEKU');

    WriteLn;

    CLose(f);

    Reset(f);

    i := 0;

    While not eof(f) do

    Begin

    Read(f, x);WriteLn(x:8:2);

    if i = 0 then Begin max := x; i :=1 end;

    if x > max Then max := x;

    End;

    Close(f);

    WriteLn;

    WriteLn('Najveci uneseni broj je : ', max:8:2);

    ReadLn;

    End.

    47

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    48/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Zadatak:Neka je data ulazna datoteka radnici tekstualnog tipa u koju je uneseno

    prezime i ime radnika i njegova godina roenja. Napii program kojim se nalazinajstariji i najmlai radnik kao i prosenu starost svih radnika.Reenje:program prog;

    Uses CRT;var

    radnici: text;

    ime :string[20];

    godina :integer;

    najml, najst :string[20];

    brgod, brm, brs, ukgod, broj: integer;

    prosta :real;

    c1: char;

    begin

    ClrScr;

    Writeln;WriteLn;

    assign(radnici,'radnici.dat');

    reset(radnici);

    WriteLn(' UNESENI RADNICI ');

    WriteLn;

    WriteLn;

    broj :=0; brm :=100; brs :=0; ukgod :=0;

    repeat

    readLn(radnici, ime, godina);

    brgod :=2000 - godina;

    if brgod > brs then begin najst :=ime; brs :=brgod; end;if brgod < brm then begin najml :=ime; brm :=brgod; end;

    WriteLn(ime, ' ',godina, ' ',brgod);

    broj := broj +1;

    ukgod :=ukgod + brgod;

    until eof(radnici);

    close(radnici);

    WriteLn;

    WriteLn;

    WriteLn('Najstariji radnik : ', najst, ' ima : ', brs, '

    godina');

    WriteLn('Najmladji radnik : ', najml, ' ima : ', brm, 'godina');

    prosta := ukgod / broj;

    WriteLn('Prosecna starost je : ',

    prosta:5:2,'=',ukgod,'/',broj);

    ReadLn(c1);

    end.

    48

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    49/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

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

    prezime i ime, mesto stanovanja i adresa. Program zavri kada se za prezimeunese re 'kraj'.Reenje:program prog;

    Uses CRT;Var

    ucenik : text;

    ime : string[25];

    mesto : string[15];

    adresa : string[20];

    x : real;

    begin

    ClrScr;

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

    rewrite(ucenik);

    while not (ime='kraj') dobegin

    ClrScr;

    Write('1. Prezime i ime : ');

    ReadLn(ime);

    WriteLn;

    Write('2. Mesto stanova. : ');

    ReadLn(mesto);

    WriteLn;

    Write('3. Adresa : ');

    ReadLn(adresa);

    if not (ime='kraj') thenWrite(ucenik,ime,mesto,adresa);

    end;

    close(ucenik);

    readln;

    end.

    Zadatak:Napii program kojim se iz prethodno formirane tekstualne datoteku

    ucenik, prikazuju na ekranu uneseni podaci.Reenje:program prog;

    Uses CRT;

    Var

    ucenik : text;

    ime : string;

    mesto : string;

    adresa : string;

    begin

    ClrScr;

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

    reset(ucenik);

    repeat

    ReadLn(ucenik, ime, mesto, adresa);

    WriteLn;

    49

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    50/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

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

    until eoln(ucenik);

    close(ucenik);

    readln;

    end.

    Zadatak:Napii proceduru za uitavanje i tampanje ugla koji je u glavnomprogramu opisan kao:

    typeugao=record

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

    sekund:0..59Reenje:

    procedure citajugao(var ugao1:ugao);

    begin

    WriteLn('Stepen, minut i sekund:');

    with ugao1 do ReadLn(stepen,minut,sekund)

    end;

    procedure stampajugao(var ugao1:ugao);

    begin

    with ugao1 do Writeln(stepen,minut,sekund)

    end

    Zadatak

    Neka je dat slog glumci u koji se unose podaci: prezime i ime, godinaroenja i broj odigranih uloga. Napi program kojim se unose podaci za nglumaca, a zatim prikae samo one koji imaju vie od 50 uloga. Ako nematakvih napii "Nema takvih glumaca"Reenje:program x;

    Uses CRT;

    type

    glumci=record

    ime : string[20];

    godina : integer;

    bruloga : integer;end;

    var

    i, j, n: integer;

    glumac : array [1..50] of glumci;

    Begin

    ClrScr;

    Write('Koliko ima glumaca ?');

    ReadLn(n);

    WriteLn;

    WriteLn('Unesite podatke o glumcima');WriteLn;

    for i :=1 to n do

    Begin

    50

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    51/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Write('Ime i prezime : ');

    ReadLn(glumac[i].ime);

    Write('Godina : ');

    ReadLn(glumac[i].godina);

    Write('Broj uloga : ');

    ReadLn(glumac[i].bruloga);

    End;

    WriteLn;

    j := 0;

    WriteLn('Glumci sa vise od 50 uloga');

    For i := 1 to n do

    Begin

    if glumac[i].bruloga > 50 Then Begin WriteLn(glumac[i].ime);

    j :=j+1 End;

    End;

    if j = 0 Then WriteLn('Nema takvih glumaca');

    Readln

    end.ZadatakNeka je dat slog opstina u koji se unose podaci: naziv, broj stanovnika i

    povrina. Napii program kojim se unosi est optina a zatim sortira po brojustanovnika.Reenje:program x;

    Uses Crt;

    type

    opstina=record

    ime : string[20];

    stanovnika : integer;povrsina : integer;

    end;

    var

    i, j : integer;

    opst : array [1..50] of opstina;

    p : opstina;

    Begin

    ClrScr;

    WriteLn('Unesite podatke o opstinama');

    WriteLn;

    for i :=1 to 6 doBegin

    Write('Naziv opstine : ');

    ReadLn(opst[i].ime);

    Write('Stanovnika : ');

    ReadLn(opst[i].stanovnika);

    Write('Povrsina : ');

    ReadLn(opst[i].povrsina);

    End;

    WriteLn;

    {Sortiranje po broju stanovnika}

    For i := 1 to 5 doBegin

    For j :=i+1 to 6 do

    51

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    52/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Begin

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

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

    End;

    End

    End;

    WriteLn('Prikaz sortiranih opstina');

    WriteLn;

    For i := 1 to 6 do

    WriteLn(opst[i].ime,' ',opst[i].stanovnika,' ',opst[i].povrsina);

    Readln

    end.

    Zadatak:Neka je dat slog osoba. Napi program kojim se unosi deset podatak u taj

    slog sa imenom osobe i godinom starosti. Prikai unesene osobe sortirane po

    godini starosti.Reenje:program x;

    Uses CRT;

    type

    osobe=record

    ime : string[20];

    godina : integer;

    end;

    var

    i, j : integer;

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

    Begin

    ClrScr;

    WriteLn('Unesite podatke o osobama');

    WriteLn;

    for i :=1 to 10 do

    Begin

    Write('Ime osobe : ');

    ReadLn(osob[i].ime);

    Write('Godina : ');

    ReadLn(osob[i].godina);End;

    WriteLn;

    {Sortiranje po godinama}

    For i := 1 to 9 do

    Begin

    For j :=i+1 to 10 do

    Begin

    If osob[i].godina < osob[j].godina

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

    End;

    End

    End;

    WriteLn('Prikaz sortiranih osoba');

    52

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    53/57

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    54/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    end.

    Zadatak:Napii program kojim se u slog ucenik unosi ime, visina i tezina i za n

    ucenika. Nakon unosa prikai unesene podatke.Reenje:

    Program x;Uses Crt;

    type

    ucenik=record

    ime :string[10];

    visina : integer;

    tezina : integer;

    End;

    Var

    uce: array [1..50] of ucenik;

    i, j , n: integer;

    BeginClrScr;

    Write('Unesite broj ucenika : ');

    Readln(n);

    WriteLn;

    {Unos podataka o ucenicima}

    For i := 1 to n do

    Begin

    Write('Unesite ime ucenika : ');

    Readln(uce[i].ime);

    Write('Unesite visinu : ');

    Readln(uce[i].visina);Write('Unesite tezinu : ');

    Readln(uce[i].tezina);

    End;

    {Prikaz podataka o ucenicima}

    WriteLn;

    WriteLN('PODACI O UCENICIMA');

    WriteLn;

    For i := 1 to n do

    Begin

    WriteLn(uce[i].ime:10,' ',uce[i].visina:4,' ',uce[i].tezina:3);

    End;ReadLn;

    ENd.

    Zadatak:Napii program kojim se u slog osobe unosi ime, i njegova starost za 10

    osoba. Nakon unosa sortiiraj osobe po godinama starosti i prikai dobijenepodatke.Reenje:Program x;

    Uses Crt;type

    osobe=record

    ime :string[10];

    54

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    55/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    starost : integer;

    End;

    Var

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

    p: osobe;

    i, j , n: integer;

    Begin

    ClrScr;

    {Unos podatka o osobama}

    For i := 1 to 10 do

    Begin

    Write('Unesite ime osobe : ');

    Readln(osob[i].ime);

    Write('Unesite starost : ');

    Readln(osob[i].starost);

    End;

    {Sortiranje podataka}

    WriteLn;For i := 1 to 9 do

    Begin

    For j :=i+1 to 10 do

    Begin

    If osob[i].starost < osob[j].starost Then Begin p :=osob[i];

    osob[i] :=osob[j];

    osob[j] :=p End;

    End;

    End;

    {Prikazivanje podataka}

    WriteLN('PODACI O OSOBAMA');WriteLn;

    For i := 1 to 10 do

    Begin

    WriteLn(osob[i].ime:10,' ',osob[i].starost);

    End;

    ReadLn;

    ENd.

    Zadatak:Napii program kojim se u slog dani unosi naziv i temperatura za svih 7

    dana u sedmici. Nakon unosa unesi zadatu temperaturu i prikai dane koji suimali tu temperaturu.Reenje:Program x;

    Uses Crt;

    type

    dani=record

    ime :string[10];

    temperatura : integer;

    End;

    Var

    dan: array [1..7] of dani;i, j , n, t: integer;

    Begin

    55

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    56/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    ClrScr;

    {Unos temperatura po danima}

    For i := 1 to 7 do

    Begin

    Write('Unesite ime dana : ');

    Readln(dan[i].ime);

    Write('Unesite tempraturu : ');

    Readln(dan[i].temperatura);

    End;

    {Unos temperature}

    WriteLn;

    Write('Unesi trazenu temperaturu : ');

    ReadLn(t);

    For i := 1 to 7 do

    if t = dan[i].temperatura Then Write(dan[i].ime);

    ReadLn;

    ENd.

    Zadatak:Napii program kojim se u slog artikal unosi naziv, kolicina i cena za nartikala. Nakon unosa unesi zadatu cenu i prikai artikle koji su imali tu cenu.Sraunaj ukupnu vrednost artikala.Reenje:Program x;

    Uses Crt;

    type

    artikal=record

    ime :string[10];

    kolicina : integer;

    cena : real;End;

    Var

    art: array [1..50] of artikal;

    i, j , n: integer;

    v, v1, t : real;

    Begin

    ClrScr;

    {Unos broja artikala}

    WriteLn;

    Write('Unesi broj artikala : ');

    Readln(n);WriteLn;

    {Unos artikala u magacinu}

    For i := 1 to n do

    Begin

    Write('Unesite naziv artikla : ');

    Readln(art[i].ime);

    Write('Unesite kolicinu : ');

    Readln(art[i].kolicina);

    Write('Unesite cenu : ');

    Readln(art[i].cena);

    End;{Unos zadate cene}

    WriteLn;

    56

  • 8/7/2019 Zbirka Zadataka Sa Resenjima[1]

    57/57

    ZBIRKA ZADATAKA U PASCAL-U MARKO VANCETOVIC

    Write('Unesi zadatu cenu : ');

    ReadLn(t);

    v1 := 0;

    For i := 1 to n do

    Begin

    v := art[i].kolicina * art[i].cena;

    v1 := v1 + v;

    if t = art[i].cena Then Write(art[i].ime);

    End;

    WriteLn;

    WriteLn('Ukupna vrednost je : ',v1:8:2);

    ReadLn;

    End.