Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Zadatak 1. Ispisivanje niza slučajnih brojeva.
Broj brojeva upisujemo u Edit1. (n).
Brojevi se generišu klikom na dugme GENERIŠI. Svi generisani brojevi, sem što su ispisani u Memo1 komponenti, ostaju zapamćeni u nizu a (u memoriji) u za to predviđenim memorijskim lokacijama na adresi a(a[1],a[2],a[3]…).
Pri aktivaciji aplikacije treba izbrisati tekst iz Memo1. To se postiže metodom Clear.
Brisanje sadržaja u Memo1 komponenti (događaj na formu onActivate):
procedure TForm1.FormActivate(Sender: TObject); begin Memo1.Clear; Edit1.Clear; end;
Generisanje slučajnih brojeva sa definisanjem niza:
procedure TForm1.Button1Click(Sender: TObject); ); (Dugme GENERISI) var a: array[1..100] of integer; - definiše se niza od max 100 celobrojnih članova i,n:integer; - n je broj elemenata niza, i brojač (indeks elemenata niza) begin n:=StrToInt(edit1.text); randomize; for i:=1 to n do begin a[i]:=random(100); - generisanje slučajnog broja Memo1.Lines.Add(inttostr(a[i])); - u svaku liniju Memo komponente se dodaje po jedan end; element niza a[i], metodom Add end;
Brisanje sadržaja iz Edit1 I Memo1: procedure TForm1.Button2Click(Sender: TObject); (Dugme IZBRISI) begin Memo1.Clear; Edit1.Clear; end;
Izgled aplikacije:
Primer korišćena svojstva Text:
Zadatak 2: Napraviti aplikaciju koja prikazuje neparne brojeve do 100.
procedure TForm1.Button1Click(Sender: TObject); (Dugme PRIKAZI NEPARNE BROJEVE) var i,k:integer; s,t:string; begin s:=’ ’; - inicijalizacija stringa s (prazan string) i:=1; - prvi neparan broj while i
Izgled aplikacije:
Procedure:
procedure TForm1.FormCreate(Sender: TObject); - pri aktivaciji se brišu memo i edit.
begin
Memo1.Clear; - za brisanje koristi se metoda Clear
Edit1.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject); (Dugme UNOS NIZA)
var a:array[1..100] of integer; - deklarisnje niza a celobrojnog tipa
i,n: integer; - n je broj elemenata niza, i brojač (indeks elemenata niza)
begin
n:=StrToInt(Edit1.Text); - unos broja elemenata niza u Edit1
for i:=1 to n do - unos elemenata niza preko InputBax-a
a[i]:=StrToInt(InputBox('Unos niza','Unesi ' + IntToStr(i) + ' elemenata niza', ' ')); - a[i] je element niza, i indeks
for i:=1 to n do - prikaz elemenata niza u Memo komponenti
Memo1.Lines.Add(IntToStr(a[i])); - u svaku liniju Memo komponente se dodaje po jedan
element niza a[i], metodom Add
end;
procedure TForm1.Button2Click(Sender: TObject); (Dugme NOVO)
begin
Memo1.Clear; - za brisanje koristi se metoda Clear
Edit1.Clear;
end;
Zadatak 4: Napraviti aplikaciju koja omogućava unos i prikaz n (ne više od 100) elemenata niza i sabiranje elemenat niza.
Procedure:
procedure TForm1.FormCreate(Sender: TObject); - pri aktivaciji se brišu memo i editi.
begin
Memo1.Clear; - za brisanje koristi se metoda Clear
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject); (Dugme UNOS NIZA)
var a:array[1..100] of integer;
i,n,S: integer;
begin
n:=StrToInt(Edit1.Text); - unos broja elemenata niza u Edit1
S:=0; - suma je uvek pre pocetka sumiranja jednaka nuli
for i:=1 to n do
begin
a[i]:=StrToInt(InputBox('Unos niza','Unesi ' + IntToStr(i) + ' elemenata niza', ' '));
S:=S+a[i]; - suma je prethodna suma plus novi element niza
end;
for i:=1 to n do
Memo1.Lines.Add(IntToStr(a[i]));
Edit2.Text:=IntToStr(S);
end;
procedure TForm1.Button2Click(Sender: TObject); (Dugme NOVO)
begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
DOMAĆI ZADATAK:
Za vežbanje kod kuće uradite sledeće zadatke:
1. Napravi aplikaciju u delphi-ju koji će učitati niz od 20 elemenata i izračunati aritmetičku sredinu niza.
2. Napravi aplikaciju u delphi-ju koji će učitati niz od n elemenata. Izračunati proizvod pozitivnih elemenata (većih od
nule).
3. Unosi se niz od 20 elemenata. Napravi aplikaciju u delphi-ju koji računa zbir 5-og, 16-og i 18-og elementa.
4. Napravi aplikaciju u delphi-ju koji će ispisati sve brojeve do 500 koji su deljivi sa 3.
5. Napravi aplikaciju u delphi-ju koji će ispisati sve trocifrene parne brojeve.
Zadatak 1: Napravi aplikaciju u delphi-ju koji će učitati niz od 20 elemenata i izračunati
aritmetičku sredinu niza.
Procedure:
procedure TForm1.FormCreate(Sender: TObject); - pri aktivaciji se brišu memo i editi.
begin
Memo1.Clear; - za brisanje koristi se metoda Clear
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject); (Dugme UNESI NIZ)
var a:array[1..100] of integer;
i,n,S: integer;
SV:real; - aritmetička sredina niza (srednja vrednost)
begin
n:=StrToInt(Edit1.Text); - unos broja elemenata niza u Edit1
S:=0; - suma je uvek pre pocetka sumiranja jednaka nuli
for i:=1 to n do
begin
a[i]:=StrToInt(InputBox('Unos niza','Unesi ' + IntToStr(i) + ' elemenata niza', ' '));
S:=S+a[i]; - suma je prethodna suma plus novi element niz
end;
for i:=1 to n do
Memo1.Lines.Add(IntToStr(a[i]));
SV:=S/n; - aritmetička sredina niza
Edit2.Text:=IntToStr(SV);
end;
procedure TForm1.Button2Click(Sender: TObject); (Dugme NOVO)
begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
Može i ovako:
Deklarisanje globalnih promenljivih:
Lokalne promenljive se deklarišu u proceduri i važe samo u okviru te procedure. Ako želimo da
imamo promenljive koje se koriste u svim procedurama, onda su to globalne promenljive i one
mogu da se koriste u svim procedurama.
U ovom slučaju potrebno je da definišemo globalne promenljive koje će važiti i koristiti se u
svim procedurama. To se radi na isti način kao i definisanje lokalnih promenljivih sam u delu
iznad svih procedura izmađu var i implementation.
Deklarisanje promenljivih i procedure:
var
Form1: TForm1;
a:array[1..100] of integer; - deklarisanje niza kao globalne promenljive
i,n,S: integer; - deklarisanje globalnih promenljivih
SV:real;
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject); (Dugme UNESI NIZ)
begin
n:=StrToInt(Edit1.Text);
S:=0;
for i:=1 to n do
begin
a[i]:=StrToInt(InputBox('Unos niza','Unesi ' + IntToStr(i) + ' elemenata niza', ' '));
S:=S+a[i];
end;
for i:=1 to n do
Memo1.Lines.Add(IntToStr(a[i]));
end;
procedure TForm1.Button2Click(Sender: TObject); (Dugme NOVO) begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button3Click(Sender: TObject); (Dugme IZRACUNAJ)
begin
SV:=S/n; - računanje aritmetičke sredine niza.
Edit2.Text:=FloatToStr(SV);
end;
Zadatak 2. Napravi aplikaciju u delphi-ju koji će učitati niz od n elemenata. Izračunati proizvod
pozitivnih elemenata (većih od nule).
Deklarisanje promenljivih i procedure:
var
Form1: TForm1;
a:array[1..100] of integer; - deklarisanje niza kao globalne promenljive
i,n,P: integer; - deklarisanje globalnih promenljivih. P je proizvod
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject); (Dugme UNESI NIZ)
begin
n:=StrToInt(Edit1.Text);
P:=1; - P je uvek na početku 1.
for i:=1 to n do
begin
a[i]:=StrToInt(InputBox('Unos niza','Unesi ' + IntToStr(i) + ' elemenata niza', ' '));
if a[i]>0 then
P:=P*a[i]; - računanje proizvoda. Proizvod je prethodni proizvod puta tekući element niza.
end;
for i:=1 to n do
Memo1.Lines.Add(IntToStr(a[i]));
end;
procedure TForm1.Button2Click(Sender: TObject); (Dugme NOVO)
begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button3Click(Sender: TObject); (Dugme IZRACUNAJ)
begin
Edit2.Text:=FloatToStr(P); - prikaz proizvoda P
end;
Zadatak 3. Unosi se niz od 20 elemenata. Napravi aplikaciju u delphi-ju koji računa zbir 5-og,
16-og i 18-og elementa.
Deklarisanje promenljivih i procedure:
var
Form1: TForm1;
a:array[1..100] of integer; - deklarisanje niza kao globalne promenljive
i,n,S: integer; - deklarisanje globalnih promenljivih. P je proizvod
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject); (Dugme UNESI NIZ)
begin
n:=StrToInt(Edit1.Text);
for i:=1 to n do
begin
a[i]:=StrToInt(InputBox('Unos niza','Unesi ' + IntToStr(i) + ' elemenata niza', ' '));
end;
for i:=1 to n do
Memo1.Lines.Add(IntToStr(a[i]));
end;
procedure TForm1.Button2Click(Sender: TObject); (Dugme NOVO)
begin
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Button3Click(Sender: TObject); (Dugme IZRACUNAJ) begin
S:= a[5] + a[15] +a[18]; - suma elemenata
Edit2.Text:=FloatToStr(P);
end;
Zadatak 4. Napravi aplikaciju u delphi-ju koji će ispisati sve brojeve do 500 i sve brojeve od 1
do 500 koji su deljivi sa 3.
Procedure:
procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..500] of integer;
i: integer;
begin
for i:=1 to 500 do
begin
a[i]:=i;
Memo1.Lines.Add(IntToStr(a[i])); - prvi niz
end;
for i:=1 to 500 do
begin
if a[i] mod 3 = 0 then
begin
Memo2.Lines.Add(IntToStr(a[i])); - drugi niz
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
end;
Zadatak 5. Napravi aplikaciju u delphi-ju koji će ispisati sve trocifrene parne brojeve.
Procedure:
procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..900] of integer;
i: integer;
begin
for i:=100 to 999 do
begin
a[i]:=i;
Memo1.Lines.Add(IntToStr(a[i])); - prvi niz
end;
for i:=100 to 999 do
begin
if a[i] mod 2 = 0 then
begin
Memo2.Lines.Add(IntToStr(a[i])); - drugi niz
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
end;