1.Napisati program kojim se prati stanje na tekucem racunu, tako sto se unosi n brojeva pri cemu svaki
predstavlja promenu stanja na racunu. Broj moze da bude negativan (znaci isplata sa racuna), ili pozitivan
(uplata na racun). Na izlazu posebno prikazati zavrsno stanje, zbir ukupnih uplata i zbir ukupnih isplata sa
racuna.
program StanjeRacun;
uses wincrt;
var s,u,is,p:real;
i,n:integer;
begin
write('Unesite broj promena:'); readln(n);
write('unesite stanje na racunu:');readln(s);
u:=0;
is:=0;
for i:=1 to n do
begin
write('Unesite promenu:');readln(p);
s:=s+p;
if p>0 then u:=u+p
else is:=is+p;
end;
writeln('Ukupno stanje na racunu je; ',s:0:2);
writeln('Ukupna uplata je: ',u:0:2);
writeln('Ukupna isplata je: ',is:0:2);
end.
2.Unosi se odredjen broj ucenika (p) i za svakog ucenika ocene iz odredjenog broja predmeta (n) i racuna se
prosecna ocena za svakog ucenika. Ukoliko je uneta ocena <1 ili >5 ispisuje se poruka o pogresno unetoj oceni i
daje se mogucnost da se ponovo unese ocena iz tog predmeta. Izracunati i prosecnu ocenu svih unetih
učenika(odeljenja).
program prosek;
uses wincrt;
var i,j,p,n,ocena,s,so:LongInt;
ime: string;
begin
write('Unesite koliko ucenika unosite:'); readln(p);
write('Unesite broj predmeta:'); readln(n);
so:=0;
for i:=1 to p do
begin
s:=0;
write('Unesite ime i prezime ucenika:'); readln(ime);
for j:=1 to n do
begin
write('Unesite ocenu za predmet br. ',j,': '); readln(ocena);
if (ocena<1) or (ocena>5)then
begin
writeln('Greska! Unesite ocenu izmedju 1 i 5:');
readln(ocena);
end;
s:=s+ocena;
end;
writeln('Ucenik ',ime,' ima prosek ocena ',s/n:0:2);
so:=so+s;
end;
writeln(' Prosecna ocena svih ucenika ',so/(n*p):0:2);end.
1
3. За н ученика се путем тастатуре уносе бодови из усменог и писменог дела испита. Ако ученик има
више од 50 укупних бодова, онда је прошао, иначе је пао. Ученик који има више од 30 бодова из оба
предмета добија бонус од 10 бодова. За сваког ученика приказати укупно добијене бодове, и поруку да
ли је пао или прошао.
program ucenici;
uses wincrt;
var bu,bp,uk,i,n:integer;
begin
write('koliko ucenika?');
readln(n);
for i:=1 to n do
begin
bu:=0;
bp:=0;
write('unesi bodove iz usmenog za ',i,'. ucenika');
readln(bu);
write('unesi bodove iz pismenog za ',i,'. ucenika');
readln(bp);
if (bp>30) and (bu>30) then uk:=bp+bu+10
else uk:=bp+bu;
if uk>50 then writeln ('Ucenik je prosao, ukupno bodova: ',uk)
else writeln('Ucenik nije polozio, ukupno bodova: ',uk);
end;
end.
4.. Написати програм који ће од н унетих бројева избројати бројеве који су мањи од задатог броја к, а
већи од задатог броја l.
program brojevi;
var k,l,i,n,br,x:integer;
begin
writeln(‘koliko brojeva unosis?’);
readln(n);
br:=0;
writeln(‘unesi broj k’);
readln(k);
writeln(‘unesi broj l’);readln(l);
writeln(‘unesi brojeve’);
for i :=1 to n do
begin
readln(x);
if (x<k) and (x>l) then br:=br+1;
end;
writeln(‘brojeva koji zadovoljavaju uslov ima ‘,br);
readln;
end.
2
5.. Написати програм који ће од н унетих бројева сабрати и пребројати позитивне бројеве мање од 10.
program brojevi2;
var n,i,x,br,s:integer;
begin
writeln(‘unesi n’);
readln(n);
br:=0;
s:=0;
writeln(‘unesi brojeve’);
for i:=1 to n do
begin
readln(x);
if (x<10) and (x>0) then begin
s:=s+x;
br:=br+1;
end;
end;
writeln(‘zbir brojeva koji zadovoljavaju uslov je ‘,s);
writeln(‘ukupno brojeva koji zadovoljavaju uslov ima ‘,br);
readln;
end.
6.. Написати програм у којем се приказују парни природни бројеви из интервала од n до m.
program interval;
var n,m,i:integer;
begin
writeln(‘unesi donju granicu intervala’);
readln(n);
writeln(‘unesi gornju granicu intervala’);
readln(m);
for i:=n to m do
if i mod 2=0 then
write (i:4);
readln;
end.
7.. Написати програм који за унете висине n ученика (у cm) рачуна просечну висину и колико је ученика
ниже од 165 cm и приказује најмању и највећу висину.
program visine;
var v,i,n,minv,maxv,bn,s:integer;
begin
bn:=0;
writeln(‘koliko ucenika?’);
readln(n);
writeln(‘unesi visinu 1. ucenika’);
readln(v);
minv:=v;
maxv:=v;
s:=v;
if v<165 then bn:=1;
for i:=2 to n do
begin
writeln(‘unesi visinu ‘,i,’. ucenika’);
readln(v);
s:=s+v;
if v>maxv then maxv:=v;
if v<minv then minv:=v;
if v<165 then bn:=bn+1;
end;
writeln(‘prosecna visina:’, s/n:0:2);
writeln(‘broj nizih od 165:’,bn);
writeln(‘najvisi ucenik:’,maxv);
writeln(‘najnizi ucenik:’,minv);
end.
3
8.. Написати програм у којем се рачуна производ од n унетих бројева који су непарни и позитивни.
program proizvod;
var n,p,i,x:integer;
begin
writeln(‘unesi n’);
readln(n);
p:=1;
writeln(‘unesi brojeve’);
for i:=1 to n do
begin
readln(x);
if (x mod 2<>0 ) and (x>0) then p:=p*x;
end;
writeln(‘p=’,p);
end.
9.Napisati program u kojem se unosi n brojeva i prikazuje najveći uneti broj, kao i njegov redni broj
program ty;
var x,i,n,max,maxi:integer;
begin
writeln(‘Koliko brojeva uosis?’); readln(n);
write(‘Unesi 1. broj:’);readln(x);
max:=x;
maxi:=1;
for i:=2 to n do
begin
write(‘unesi ‘,i,’. broj:’); readln(x);
if x>max then
begin
max:=x;
maxi:=i;
end;
end;
writeln(‘max=’,max,’ redni broj:’,maxi);
end.
10. Napisati program koji će za prvih n celih brojeva prikazati i izbrojati one brojeve čija je zadnja cifra 4
program vghj;
var i,n,br:integer;
begin
writeln(‘Unesi n’);
readln(n);
br:=0;
for i:=1 to n do
if i mod 10 =4 then begin
writeln(i);
br:=br+1;
end;
writeln(‘Ukupno ih ima ‘,br);
end.
4
11. Napisati program koji će za prvih n brojeva naći proizvod i broj onih brojeva koji su deljivi brojem k
program nkm;
var i,n,k,br:integer;p:longint;
begin
writeln(‘unesi n’);
readln(n);
write(‘unesi k:’);
readln(k);
p:=1;
br:=0;
for i:=1 to n do
if i mod k=0 then begin
p:=p*i;
br:=br+1;
end;
writeln(‘P=’,p);
writeln(‘Ima ih ‘,br);
readln;
end.
12. Napisati program koji će od n unetih brojeva izbrojati veće od 1
program imjv;
var x,n,i,br:integer;
begin
writeln(‘unesi n’);
readln(n);
br:=0;
writeln(‘unesi brojeve:’);
for i:=1 to n do
begin
readln(x);
if x>1 then br:=br+1;
end;
writeln(‘brojeva vecih od 1 ima ‘,br);
readln;
end.
5
13. Napisati program koji računa zbir prvih n članova reda:
a) 1+1/2+1/3+1/4+…
b) 1+1/3+1/5+1/7+…
c) 1-2+3-4+5-6+…
d) 1-1/3+1/5-1/7+…
Rešenja:
a) program vgb;
var i,n:integer; s:real;
begin
writeln(‘unesi n’);
readln(n);
s:=0;
for i:=1 to n do
s:=s+1/i;
writeln(‘s=’,s:0:2);
end.
b) program vgb;
var i,n:integer; s:real;
begin
writeln(‘unesi n’);
readln(n);
s:=0;
for i:=1 to n do
s:=s+1/(2*i-1);
writeln(‘s=’,s:0:2);
end.
c) program vgb;
var i,n,z:integer; s:real;
begin
writeln(‘unesi n’);
readln(n);
s:=0; z:=1;
for i:=1 to n do
begin
s:=s+z*i;
z:=-z;
end;
writeln(‘s=’,s:0:2);
end.
d) program vgb;
var i,n,z:integer; s:real;
begin
writeln(‘unesi n’);
readln(n);
s:=0; z:=1;
for i:=1 to n do
begin
s:=s+z*1/(2*i-1);
z:=-z;
end;
writeln(‘s=’,s:0:2);
end.
14.a) Svi moguci slucajevi rezultata za bacanje 3 kockice u jambu
program pj;
uses wincrt;
var s,i,j,k:integer;
begin
for s:=3 to 18 do
begin
writeln('Slucajevi kada je zbir ',s);
for i:=1 to 6 do
for j:=1 to 6 do
for k:=1 to 6 do
if (i+j+k)=s then writeln(i:3,j:3,k:3);
end;
end.
6
14. b)Bacaju se tri kockice za jamb. Ako se unesi broj koji predstavlja zbir (pretpostavka je da se unosi
3<=S<=18), prikazati sve moguce kombinacije kockica.
program pj;
uses wincrt;
var s,i,j,k:integer;
begin
write('Unesi s vece od 3 i manje od 18:');
readln(s);
for i:=1 to 6 do
for j:=1 to 6 do
begin
k:=s-i-j;
if (k>0)and ((i+j+k)=s) then writeln(i:3,j:3,k:3);
end;
end.
k>0, jer bi uvek dobili s=i+j+k, a k mora biti pozitivan broj
14.c) 24.Bacaju se 3 kockice za jamb. Naci sva jedinstvena resenja gde je zbir S
(3<=S<=18).
program p28JAMB;
uses wincrt;
var i,j,k,s:integer;
begin
write('Unesi zbir S'); readln(s);
for i:=1 to 6 do
for j:=1 to i do
begin
k:=s-i-j;
if(k>0) and(k<=j) then writeln(i:2,j:2,k:2);
end;
end.
15. Napisati program kojim se izracunava s=((…((x+a)2+a)2+…+a)2, ako se kvadriranje izvrsi n puta.
program p27;
uses wincrt;
var n,i:integer;
s,x,a:real;
begin
write('Unesite n:'); readln(n);
write('Unesite x,a:'); readln(x,a);
s:=x;
for i:=1 to n do
s:=sqr(s+a);
writeln(s:0:2);
end.
7
16. Napisati program kojim se izracunava
a) s= 3  3  ...  3  3 , ako se koren primeni n puta
b) s= 3  6  ...  3(n  1)  3 n
program p33a;
uses wincrt;
var i,n:integer;
s:real;
begin
write('unesite n:'); readln(n);
program p33b;
uses wincrt;
var i,n:integer;
s:real;
begin
write('unesite n:'); readln(n);
s:=0;
for i:=1 to n do
s:=sqrt(3+s);
s:=0;
for i:=n downto 1 do
s:=sqrt(3*i+s);
writeln(s:0:2);
writeln(s:0:2);
end.
end.
17)Sa tastature se ucitava temperatura prvih N dana u godini. Napisati program koji izracunava :
a) max i min temperature za taj period;
b) redni br. dana kada je temp. bila max i red.br. dana kada je temperatura bila minimalna;
program tempA;
program TEMPb;
uses wincrt;
uses wincrt;
var i,n,t,maxt,mint:integer;
var i,n,t,maxt,mint,danmax,danmin:integer;
begin
begin
write('Unesite broj dana:'); readln(n);
write('Unesite broj dana:'); readln(n);
write('unesite temperaturu na dan 1.:'); readln(t);
write('unesite temperaturu na dan 1.:'); readln(t);
maxt:=t;{pretpostavka da je 1. dan bila max temp}
maxt:=t;{pretpostavka da je na prvi dan bila max
mint:=t;{pretpostavka da je 1. dan bila min temp}
temp}
for i:=2 to n do{i pocinje od 2, jer za 1. dan uneta}
mint:=t;{pretpostavka da je na prvi dan bila min
begin
temp}
write('Unesite temp. na dan ',i,'.:'); readln(t);
for i:=2 to n do{i pocinje od 2, jer za 1. dan uneta}
if t>maxt then maxt:=t;
begin
if t<mint then mint:=t;
write('Unesite temp. na dan ',i,'.:'); readln(t);
end;
if t>maxt then
writeln('Max temp. je: ',maxt);
begin
{begin u begin}
writeln('Min temp. je: ',mint);
maxt:=t;
end.
danmax:=i;
end;
if t<mint then
begin
mint:=t;
danmin:=i;
end;
end;
writeln('Max temp. je ',maxt,' na dan ',danmax);
writeln('Min temp. je: ',mint,' na dan', danmin);
end.
8
18) Napisati program kojim se proverava tacnost matematickuh formula za izracunavanje sume
1+3+5+…+(2n-1) = n2
(2n-1) je opsti clan
program ppa;
uses wincrt;
var n,i,r,s:integer;
begin
write('Unesite broj:');readln(n);
s:=0;
for i:=1 to n do
s:=s+(2*i-1);
r:=n*n;
writeln(s);
writeln(r);
if s=r then writeln('jeste')
else writeln('nije');
end.
19) Napisati program kojim se odredjuje prvih N clanova aritmeticke progresije na osnovu vrednosti prvog
clana a i razlike d. Npr a=2m, d=3 dobija se sledeca aritmeticka progresija 2,5,8,11…
program ppp;
uses wincrt;
var n,a,s,i,d:integer;
begin
write('Unesite broj clanova sume:'); readln(n);
write('Unesite prvi clan aritmeticke progresije:');readln(a);
write('unesite razliku progresije:'); readln(d);
s:=0;
for i:=1 to n do
begin
s:=s+a;
a:=a+d;
end;
writeln('s=',s);
end.
20) Izracunati zbir s=2+22+23+…+2n
program kkk;
uses wincrt;
var n,i:integer;
st,s:integer;
begin
writeln('Unesite stepen n ');
readln(n);
s:=0;
st:=1;
for i:=1 to n do
begin
st:=st*2;
s:=s+st;
end;
writeln(s);
end.
9
21)Napisati program kojim se za realno x izracunava
a) s=x+x2+x3+…xn
b) s= x+2x2 +3x3+…nxn
c) s=1+1/x+1/x2+1/x3+…+1/xn
a) program pka;
uses wincrt;{ s=x+x2 +x3+…xn}
var n,i:integer;
st,s,x:real;
begin
writeln('Unesite osnovu x i stepen n ');
readln(x,n);
s:=0;
st:=1;
for i:=1 to n do
begin
st:=st*x;
s:=s+st;
end;
writeln(s:0:2);
end.
c) program ppc;
uses wincrt; {1+1/x+1/x2+1/x3+…+1/xn }
var n,i:integer;
st,s,x:real;
begin
writeln('Unesite osnovu x i stepen n ');
readln(x,n);
s:=1;{zbir se postavlja na 1 zbog prvog clana}
st:=1;
for i:=1 to n do
begin
st:=st*x; {st je imenilac}
s:=s+1/st;
end;
writeln(s:0:2);
end.
b) program pb;
uses wincrt;{ s= x+2x2 +3x3+…nxn }
var n,i:integer;
st,s,x:real;
begin
writeln('Unesite osnovu x i stepen n ');
readln(x,n);
s:=0;
st:=1;
for i:=1 to n do
begin
st:=st*x;
s:=s+i*st;
end;
writeln(s:0:2);
end.
22) Napisati program kojim se izracunava
a) p=(1-1/2)(1-1/3)…(1-1/(n+1))
b) p=(1+1/2!)(1+1/3!)…(1+1/n!)
a) program pa;
uses wincrt; { p=(1-1/2)(1-1/3)…(1-1/(n+1))}
var i,n:integer;
p:real;
begin
write('Unesite n'); readln(n);
p:=1;
for i:=2 to n+1 do {i=2 do n+1 omoguceno
da dobijemo prvi i poslednji clan samo uz
pomoc jedne promenljive i}
p:=p*(1-1/i);
writeln(p:0:2);
end.
10
b) program pb;
uses wincrt;{ p=(1+1/2!)(1+1/3!)…(1+1/n!)}
var i,n,q:integer;
p:real;
begin
write('Unesite n'); readln(n);
p:=1;
q:=1;
for i:=2 to n do
begin
q:= q*i;
p:=p*(1+1/q);
end;
writeln(p:0:2);
end.
23)Napisati program kojim se izracunava proizvod prvih N faktora izraza 1/2*3/4*5/6*…
program p22;
uses wincrt;
var i,n:integer;
p:real;
begin
write('Unesite n:'); readln(n);
p:=1;
for i:=1 to n do
p:=p*(2*i-1)/(2*i);
writeln(p:0:2);
end.
11
Download

1 1.Napisati program kojim se prati stanje na tekucem