Дивитися підручник Інформатика 9 клас Бондаренко
Розглянемо найбільш поширені дії з елементами масиву на прикладі
Заповнення масиву
Перший рядок - це номери стовпчиків і це ж номери елементів масиву (заповнюються одночасно з запуском програми)
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
For i :=1 to 10 do
StringGrid1.Cells[i-1, 0] := IntToStr(i);
end;
Заповнення масиву
Заповнимо масив випадковими числами від 0 до 20
var i: Integer;
begin
Randomize;
For i := 1 to 10 do begin
a[i] := Random(20);
StringGrid1.Cells[i-1, 1] := IntToStr(a[i]); end;
end;
Сума елементів масиву
Знаходження суми елементів масиву і їх добутку
procedure TForm1.Button4Click(Sender: TObject);
var i,sum,pr: Integer;
begin
sum:=0;
pr:=1;
For i := 1 to 10 do begin
sum:= sum + a[i];
pr:=pr*a[i];
end;
Edit1.Text:=IntToStr(sum);
Edit6.Text:=IntToStr(pr);
end;
Середнє значення елементів масиву
procedure TForm1.Button2Click(Sender: TObject);
var sr_znach: Real;
begin
sr_znach:=StrToInt(Edit1.Text)/10;
Edit2.Text:=FloatToStr(sr_znach)
end;
Знаходження кількості елементів масиву
Знайдемо кількість елементів масиву, які більші за середнє значення
procedure TForm1.Button3Click(Sender: TObject);
var i,kol: Integer;
begin
kol:=0;
For i := 1 to 10 do
if a[i]>StrToFloat(Edit2.Text) then
kol:=kol+1;
Edit3.Text:=IntToStr(kol)
end;
Знаходження мінімального елементу
procedure TForm1.Button5Click(Sender: TObject);
var i,min,n: Integer;
begin
min:=a[1];
For i := 2 to 10 do
if a[i]<min then begin
min:=a[i];
n:=i;
end;
Edit4.Text:=IntToStr(min);
Edit7.Text:=IntToStr(n);
end;
Знаходження максимального елементу
procedure TForm1.Button6Click(Sender: TObject);
var i,max,m: Integer;
begin
max:=a[1];
For i := 2 to 10 do
if a[i]>max then begin
max:=a[i];
m:=i;
end;
Edit5.Text:=IntToStr(max);
Edit8.Text:=IntToStr(m);
end;
Ведення елементів масиву з клавіатури
Змінення елементів масиву
а) зміна розташування обміном (поміняти місцями сусідні елементи)
procedure TForm1.Button11Click(Sender: TObject);
var i: Integer;
begin
For i:=1 to 10 do begin
if i mod 2 = 0 then
b[i]:=0;
StringGrid4.Cells[i-1,1]:=IntToStr(b[i]);
end;
end;
Очистка масиву
procedure TForm1.Button10Click(Sender: TObject);
begin
StringGrid2.Rows[1].Clear;
StringGrid3.Rows[1].Clear;
StringGrid4.Rows[1].Clear;
end;
Алгоритми упорядкування масиву
Сортування перестановкою (за зростанням)
procedure TForm1.Button12Click(Sender: TObject);
var i,k,max,m,c: integer;
begin
For k:=10 downto 2 do
begin
m:=1; max:=a[1];
for i:=2 to k do
if a[i]>max then
begin
max:=a[i]; m:=i;
end;
c:=a[m]; a[m]:=a[k]; a[k]:=c;
end;
For i:=1 to 10 do
StringGrid5.Cells[i-1,1]:=IntToStr(a[i]);
end;
Сортування бульбашкою (за спаданням)
var i,k,max,m,c: integer;
begin
For k:=10 downto 2 do
begin
m:=1; max:=a[1];
for i:=2 to k do
if a[i]>max then
begin
max:=a[i]; m:=i;
end;
c:=a[m]; a[m]:=a[k]; a[k]:=c;
end;
For i:=1 to 10 do
StringGrid5.Cells[i-1,1]:=IntToStr(a[i]);
end;
procedure TForm1.Button13Click(Sender: TObject);
var i,j,c: integer;
flag:boolean;
begin
j:=1;
repeat flag:=false;
for i:=1 to 9 do
if a[i]<a[i+1] then begin
c:=a[i]; a[i]:=a[i+1]; a[i+1]:=c;
flag:=true end;
j:=j+1;
Until flag=false;
for i:=1 to 10 do
StringGrid6.Cells[i-1,1]:=IntToStr(a[i]);
end;
І ще раз про очистку
procedure TForm1.Button7Click(Sender: TObject);
begin
StringGrid1.Rows[1].Clear;
StringGrid5.Rows[1].Clear;
StringGrid6.Rows[1].Clear;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
end;
Немає коментарів:
Дописати коментар