Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 7

RAZGRANATA STRUKTURA

Za sledeće zadatke napraviti aplikaciju


1. Promenljivoj max dodeliti vrednost većeg od dva
uneta broja

procedure TForm1.Button1Click(Sender: TObject);


Var x,y,max:integer;
begin
x:=StrToInt(Edit1.Text);
y:=StrToInt(Edit2.Text);
if x>y then max:=x
else max:=y;
Label4.Caption:=IntToStr(max);
end;

2. Promenljivoj max dodeliti vrednost većeg od tri


uneta broja

procedure TForm1.Button1Click(Sender: TObject);


Var x,y,z,max:integer;
begin
x:=StrToInt(Edit1.Text);
y:=StrToInt(Edit2.Text);
z:=StrToInt(Edit3.Text);
max:=x;
if y>max then max:=y;
if z>max then max:=z;
Label5.Caption:=IntToStr(max);
end;

procedure TForm1.Button1Click(Sender: TObject);


Var x,y,z,max:integer;
begin
x:=StrToInt(Edit1.Text);
y:=StrToInt(Edit2.Text);
z:=StrToInt(Edit3.Text);
if (x>y)and (x>z) then max:=x
else if (y>x)and (y>z) then max:=y
else max:=z;
Label5.Caption:=IntToStr(max);
end;

3. Od tri uneta imena štampati ono koje je prvo po


abecedom redosledu.

procedure TForm1.Button1Click(Sender: TObject);


Var x,y,z,min:string;
begin
x:=Edit1.Text;
y:=Edit2.Text;
z:=Edit3.Text;
if (x<y)and (x<z) then min:=x
else if (y<x)and (y<z) then min:=y
else if (z,x)and (z<y) then min:=z;
Label5.Caption:= min;
end;
4.
 -1, za x<0
Izračunati vrednost funkcije: y= 0, za x=0
1, za x>0
procedure TForm1.Button1Click(Sender: TObject);
Var x:real;y:integer;
begin
x:=StrToFloat(Edit1.Text);
if x<0 then y:=-1
else if x=0 then y:=0
else y:=1;
Label3.Caption:=IntToStr(y);
end;

5.
 5x, za x<0
Izračunati vrednost funkcije: y= X2+5 , za 0<=x<1
x  5 , za 1<=x<5
15x + 1, za x>=5
procedure TForm1.Button1Click(Sender: TObject);
Var x,y:real;
begin
x:=StrToFloat(Edit1.Text);
if x<0 then y:=5*x
else if x<1 then y:=sqr(x)+5
else if x<5 then y:=sqrt(x+5)
else y:=15*x+1;
Label3.Caption:=FloatToStr(y);
end;
6.
 x , za x<0
Izračunati vrednost funkcije: y= 5, za x=0
x , za x>0

procedure TForm1.Button1Click(Sender: TObject);


Var x:integer;y:real;
begin
x:=StrToInt(Edit1.Text);
if x<0 then y:=abs(x)
else if x=0 then y:=5
else y:=sqrt(x);
Label3.Caption:=FloatToStr(y);
end;
7.
 x1+x2, za x1<x2
Izračunati vrednost funkcije: y= 3x1, za x1=x2
5x1-x2, za x1>x2

procedure TForm1.Button1Click(Sender: TObject);


Var x1,x2,y:integer;
begin
x1:=StrToInt(Edit1.Text);
x2:=StrToInt(Edit2.Text);
if x1<x2 then y:=x1+x2
else if x1=x2 then y:=3*x1
else y:=5*x1-x2;
Label4.Caption:=IntToStr(y);
end;

8.
 min(x,y), za y>=0
Izračunati vrednost funkcije: z= Max(x2,y2), za y<0
procedure TForm1.Button1Click(Sender: TObject);
Var x,y,z:integer;
begin
x:=StrToInt(Edit1.Text);
y:=StrToInt(Edit2.Text);
if y>=0 then if x<y then z:=x
else z:=y
else if sqr(x)>sqr(y) then z:=sqr(x)
else z:=sqr(y);
Label4.Caption:=IntToStr(z);
end;

9. Uneti dužine tri duži. Ako je od njih moguće napraviti


trougao, štampati njegovu površinu, u suprotnom štampati
da je nemoguće napravi trougao.

procedure TForm1.Button1Click(Sender: TObject);


Var x,y,z:integer; s,p:real;
begin
x:=StrToInt(Edit1.Text);
y:=StrToInt(Edit2.Text);
z:=StrToInt(Edit3.Text);
if (x+y>z) and (abs(x-y)<z) then begin
s:=(a+b+c)/2;
P:=sqrt(s*(s-a)*(s-b)*(s-c));
label4.Caption:='Povrsina je'+FloatToStr(P);
end;
else label4.Caption:='Trougao nije moguc!'

1. Ana, Boban, Vera, Goran, Dara, Đorđe, Ema i Žarko idu u isto odeljenje. Ana, Boban, Vera i Goran su dobri
matematičari a Ana, Boban, Dara i Đorđe su dobri sportisti. Jednog dana jedan od njih ne dođe u školu.
Odgovorima na pitanja Da li je dečak?, Da li je matematičar? i Da li je sportista? prikazati ime učenika koji nije u
školi.

procedure TForm1.Button1Click(Sender: TObject);


Var x,y,z,ime:string;
begin
x:=Edit1.Text;
y:=Edit2.Text;
z:=Edit3.Text;
if x='da'then
if y='da' then
if z='da' then ime:='Boban'
else ime:='Goran'
else if z='da' then ime:='Djordje'
else ime:='Zarko'
else if y='da' then
if z='da' then ime:='Ana'
else ime:='Vera'
else if z='da' then ime:='Dara'
else ime:='Ema';
Label5.Caption:=ime;
end;

2. Za dva uneta trocifrena broja A i B odrediti kome je veća suma cifara.


3. Dati su površina kruga S i kvadrata P. Odrediti da li se može smestiti krug u kvadrat
4. Napisati program kojim se za dva uneta cela broja proverava da li su istog znaka
5. Napisati program kojim se vrednosti dva uneta cela broja A i B premeštaju tako da važi A<=B
6. Napisati program kojim se za dva uneta cela broja proverava da li je veći deljiv manjim bez ostatka
7. Date se koordinate tri tačke. Napisati program kojim se proverava da li sve tri tačke pripadaju jednoj pravoj
8. Napisati program koji se za dva intervala realne prave (a1,b1) i (a2,b2) određuje:
a. Dužinu zajedničkog dela ta dva intervala
b. Najveći interval sadržan u datim intervalima (presek), ako ne postoji prikazati poruku
c. Dužinu realne prave koju pokrivaju ta dva intervala
d. Najmanji intervalkoji sadrži date intervale
9. Dva automobila kreću sa startne pozicije u trenucima T1<T2 i kreću se konstatntnim bryinama V1 i V2. Odrediti
trenutak sustizanja, ako ga je bilo.
10. Putniku kome je mesto stanovanja S km od železničke stanice do polaska voza je ostalo T sati. Ako je njegova
brzina kretanja V1 km/h, a taksija V2 km/h, odrediti koliko treba da ide peške, a koliko taksijem da bi se
najjeftinije (bez kašnjenja) prebacio do voza.
1. Učitanom trocifrenom broju odrediti najveću i najmanju cifru

2. Napisati program koji za tri realna broja A,B i C određuje zbir dva najmanja.

3. Tri automobila kreću sa startne pozicije u trenucima T1<T2<T3 i kreću se konstantnim brzinama V1,V2,V3.
Ispisati startne brojeve automobila koji su na vodećoj poziciji u trenutku T>T3(moguće je da više od jednog
automobila bude na vodećoj poziciji).

4. Novogodišnji poklon paketić treba da sadrži X čokolada, Y bombona i Z pomorandži. Napisati program kojim se
određuje koliko se može napraviti poklon paketića od A čokolada, B bombona i C pomorandži.

5. Napisati program kojim se vrednosti tri realna broja A,B i C premeštaju tako da važi poredak A<=B<=C

Dodatni zadaci

6. U gradu A nalazi se zaliha goriva od V (0 < V < 20000) litara, od koje kamion-cisterna treba da dostavi što je
moguce vecu kolicinu u grad B. Od grada A do grada B ima tacno d (0 < d <= 200) kilometara. Cisterna troši 1
litar na jedan kilometar, a može da primi ukupno C (0 < C <= 500) litara za prevoz i potrošnju. Napisati program
koji za date V, d, C, ispisuje koliko najviše goriva može da se dostavi iz A u B, i koliko PRI TOME najviše može
ostati u A. Cisterna može ostati u gradu koji daje povoljniji ishod. Prikazati najvecu kolicinu goriva koja se može
dopremiti u grad B i najvecu kolicina koja pri tome može ostati u gradu A.

7. Kengur se nalazi u koordinatnom početku, tj. u tački (0,0). On za 1 sekundu skoči za 1 na Gore, Dole, Levo ili
Desno. Nakon učitavanja celog broja N koji predstavlja broj sekundi, na koliko različitih tačaka u koordinatnoj
ravni se kengur može naći posle tačno N sekundi.

8. Gusenica Milica želi da pojede veliku pravougaonu tablu čokolade koja se sastoji od M redova i N kolona. Ona
jede čokoladu tako da se na početku nalazi na polju koje se nalazi u gornjem levom uglu i jede prvo njega a sme se
kretati u smeru kazaljke na satu spiralno prema centru čokolade, uvek se krećući po ivici nepojedenog dela, sve
dok je celu ne pojede. Napišite program koji će izračunati koliko je puta Milica morala skrenuti da bi pojela celu
čokoladu (M i N, 2 <= M,N <= 100)

9. Mali Z se ozbiljno priprema za predstojeći ciklus programerskih takmičenja. Pošto je Z-ov razred poznat po
dobrim programerima, profesor Dule ima velikih problema da rezultate svih dosadašnjih on-line takmičenja pokači
po oglasnoj tabli. Inače ova oglasna tabla je veliki okrugli stub u holu škole.Stub je obima na koji može da stane
tačno K kvadratnih papira sa rezultatima (kada se oni malko preklope, da bi Dule mogao jednom čiodom da bocne
više od jednog papira), a dovoljno je visok da na njega može da se poslažu rezultati sa svih N takmičenja. Dule
stalno kuburi sa čiodama za pričvršćivanje. Pomozite mu da isplanira optimalan broj čioda kako bi svi rezultati bili
pokačeni ali tako da svali list dobije deo neke čiode u sva svoja četiri ćoška (jedna čioda može hvatati 1, 2, 3 ili 4
papira, 1<=K).
1. Дате су две картонске кутије у облику квадра. Свака кутија је задата својом дужином, ширином и
висином. Испитати да ли се једна кутија може убацити у другу. Једна кутија се може убацити у другу
ако се може окренути тако да јој одговарајуће димензије буду строго мање од одговарајућих димензија
друге кутије.
min1:=a1; max2:=a2;
if b1<min1 then min1:=b1; if b2>max2 then max2:=b2;
if c1<min1 then min1:=c1; if c2>max2 then max2:=c2;
max1:=a1; if (a2<>min2) and (a2<>max2) then sr2:=a2
if b1>max1 then max1:=b1; else if (b2<>min2) and (b2<>max2) then sr2:=b2
if c1>max1 then max1:=c1; else sr2:=c2;
if (a1<>min1) and (a1<>max1) then sr1:=a1
else if (b1<>min1) and (b1<>max1) then sr1:=b1 if (min1<min2) and (sr1<sr2) and (max1<max2) then
else sr1:=c1; writeln('Moze')
else if (min2<min1) and (sr2<sr1) and (max2<max1)
min2:=a2; then
if b2<min2 then min2:=b2; writeln('Moze')
if c2<min2 then min2:=c2; else writeln('Ne moze');

2. Један лист календара приказује један месец. Лист је организован


у редове и колоне, тако да сваки ред садржи једну недељу,
почевши са понедељком и закључно са недељом. Уколико месец
не почиње у понедељак, нека поља у првом реду (пре првог
дана) ће бити празна. Слично, ако се месец не завршава у
недељу, нека поља у задњем реду (након задњег дана) ће такође
бити празна. На пример, ако месец са 30 дана почиње у среду,
одговарајући лист календара ће изгледати овако (прва колона је
понедељак): Познат је број дана у месецу М и дан у недељи
којим месец почиње D (D може имати следеће вредности 1-понедељак, 2-уторак....7-недеља).
Напишите програм који одређује колико поља је празно на листу календара који приказује задати
месец.
BrP:=D-1+(7-(M-8+D) mod 7) mod 7;

3. Под правоугаоног облика је потребно обложити плочицама беле и тегет боје.


Плочице се постављају у две боје (беле и тегет) по одређеној шеми. Гледано по
ширини пода:
У првом реду плочице се слажу наизменично једна тегет, па једна бела, па опет
једна тегет и тако даље. Ред се започиње тегет плочицом.
Други ред се слаже тако да се између две тегет плочице постављају беле. Ред се
започиње са две беле плочице, затим једна тегет, па две беле, па једна тегет, па
опет две беле и тако даље до краја реда.
Трећи ред се слаже тако да се између две тегет плочице постављају три беле. Ред
се започиње са једном белом плочицом, затим једна тегет, па три беле, па опет
једна тегет, па опет три беле и тако до краја реда.
Ова три реда се затим понављају до краја. Написати програм који за унет број
плочица које стају по ширини, изрчунава колико је тегет плочица потребно за
поплочавање. Дужина је К пута већа од ширине.

S:=Br*K;
BRP:= (Br+1 )div 2+ (Br div 3)+((Br+2) div 4);

Ukupno:= S div 3*BrP ;


if S mod 3=1 then Ukupno:=Ukupno+(Br+1) div 2
else if S mod 3=2 then Ukupno:=Ukupno+(Br+1) div 2+Br div 3;
Napisati program koji na osnovu rednog broja dana u nedelji ispisuje naziv dana ( 1-ponedeljak..7-nedelja)

RBr:=StrToInt(Edit1.text);
Case RBr of
1:Label1.Text:=’Ponedeljak’;
2:Label1.Text:=’Utorak’;
...
7: Label1.Text:=’Nadelja’;
End;

1. Napisati program kojim se na osnovu slovne ocene A,B,C,D,E ispisuju brojne ocene5,4,3,2,1
2. Napisati program kojim se na osnovu broja poena na testu izračunava ocean
(90..100 - 5; 75..89 - 4; 60..74 - 3; 45..59 - 2; 0..44 - 1)
3. Napisati program koji na osnovu unetog datuma (dan, mesec i godina) određuje sutrašnji i jučerašnji datum
Svaka četvrta je prestupna, osim svake stote (a izuzetak je svaka 400 godina, koja je ipak prestupna).
Naprimer: 1900, 2100, 2200 godine nisu prestupne, jer su deljive sa 100. Dok 2000. godina je prestupna, jer je
onda deljiva i sa 400.

//određivanje sutrašnjeg datuma 4,6,9,11: if dan=31 then


procedure TForm1.Button1Click(Sender: TObject); begin
var dan,mesec,godina:integer; dan:=1;
begin mesec:=mesec+1;
dan:=StrToInt(Edit1.Text); end;
mesec:=StrToInt(Edit2.Text); 2: if (dan=29) and ((godina mod 100=0) and (godina mod
godina:=StrToInt(Edit3.Text); 400<>0)) or (godina mod 4<>0) then
dan:=dan+1; begin
case mesec of dan:=1; mesec:=3;
1,3,5,7,8,10,12:if dan=32 then end
begin else if (dan=30) then
dan:=1; begin
mesec:=mesec+1; dan:=1; mesec:=3;
if mesec=13 then end;
begin end;
mesec:=1; Edit4.Text:=IntToStr(dan);
godina:=godina+1; Edit5.Text:=IntToStr(mesec);
end; Edit6.Text:=IntToStr(godina);
end;

4. Data su četiri broja A, B, C i op. Vrednost op ima sledeće značenje:


- op = 1 označava sabiranje,
- op = 2 označava oduzimanje,
- op = 3 označava množenje,
- op = 4 označava deljenje.
Za date ulazne vrednosti ispisati 1 ako A op B = C, inače ispisati 0.

You might also like