Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsia_8.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
163.84 Кб
Скачать
  1. Глобальные объявления

implementation

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

var X:mas;

N:integer;

  1. Процедура обработки щелчка на кнопке «Этап 1» (кн. Button_etap1)

procedure TForm1.Button_etap1Click(Sender: TObject);

Var

A,B,S:real;

i,i0,k:integer;

begin

A:=StrToFloat(Edit_A.Text);

B:=StrToFloat(Edit_B.Text);

N:=Memo_X.Lines.Count; // размерность X

k:=0; S:=0;

for i:=1 to N do

begin

X[i]:=StrToFloat(Memo_X.Lines[i-1]);

if (X[i]>=A) and (X[i]<=B) then

begin

k:=k+1;

S:=S+X[i];

i0:=i; // номер последнего элемента из интервала [A,B]

end;

end;

If (k=0) then

ShowMessage('Массив X не содержит элементов из интервала ['+

FloatToStr(A) + ',' + FloatToStr(B)+']')

else

begin

Edit_k.Text:=IntToStr(k);

Edit_S.Text:=FloatToStr(S);

for i:=i0 to N-1 do

X[i]:=X[i+1];

N:=N-1;

// вывод в поле Memo_X1 массива Х после удаления эл-та

for i:=1 to N do

Memo_X1.Lines.Add(FormatFloat('##0.0',X[i]))

end

end;

  1. Процедура обработки щелчка на кнопке «Этап 2» (кн. Button_etap2)

procedure TForm1.Button_etap2Click(Sender: TObject);

Var

C,min:real;

i,j,nmin:integer;

begin

for i:=1 to N-1 do

begin

min:=X[i]; nmin:=i;

for j:=i+1 to N do

if (X[j]<min) then

begin

min:=X[j]; nmin:=j; //минимальный эл-т и его номер

end; // for j

X[nmin]:= X[i]; // перестановка элементов

X[i]:= min;

// вывод отсортированного массива Х в поле Memo_X2

Memo_X2.Lines.Add(FormatFloat('##0.0',X[i]))

end; //for i

//вывод последнего(N-го)эл-та

Memo_X2.Lines.Add(FormatFloat('##0.0',X[N]));

C:=(X[N]+X[N-1]+X[N-2]+X[N-3])/4;

Edit_C.Text:=FloatToStr(C);

i:=1;

while (i<=N) do

begin

if (i mod 2 =0) then X[i]:=C;

// вывод в поле Memo_X3 массива Х после его преобразования

Memo_X3.Lines.Add(FormatFloat('##0.0',X[i]));

i:=i+1

end;

end;

  1. Процедура обработки щелчка на кнопке «Очистка» (кн. Button_clear)

procedure TForm1.Button_clearClick(Sender: TObject);

begin

Edit_A.Clear ;

Edit_B.Clear ;

Edit_k.Clear ;

Edit_S.Clear ;

Memo_X.Clear ;

Edit_C.Clear ;

Memo_X1.Clear ;

Memo_X2.Clear ;

Memo_X3.Clear ;

end;

11

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]