1.Конструирование формы:
При выполнении задания на форме были размещены следующие компоненты:
- TLabel – используется для создания комментариев. Для этого использовалось свойство компонента Caption, которое имеет строковый тип.
- TButton – кнопка, при нажатии которой производятся вычисления. Код вычислений прописан в методе onclick, который срабатывает при нажатии кнопки во время исполнения программы. Комментарий на кнопке прописывается в свойстве кнопки Caption.
- TListBox – используется для вывода результатов программы.
2. Условие.
Задана последовательность чисел А={A1,A2,…,A6}. Выбрать из них числа, принадлежащие отрезку [x,y]. Из выбранных чисел образовать массив. Решение оформить в виде подпрограммы. Исходные данные: А={-4.1,-1,1.2,3,5,0.75}. X=-2.5, Y=1.2.
3.Форма:
4. Программа.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
A: array [1 .. 6] of real = (-4.1, -1, 1.2, 3, 5, 0.75);
type
mas = array [1 .. 6] of real;
var
A1, B: mas;
i, k: integer;
Procedure mas2(Z: mas; n: integer; var k: integer; var B: mas);
var
i: integer;
const
x = -2.5;
y = 1.2;
begin
k := 0;
For i := 1 to n do
if (Z[i] >= x) and (Z[i] <= y) then
begin
k := k + 1;
B[k] := Z[i];
end;
end;
begin
for i := 1 to 6 do
A1[i] := A[i];
mas2(A1, 6, k, B);
for i := 1 to k do
ListBox2.Items.Add('b[' + inttostr(i) + ']=' + formatfloat('##.###', B[i]));
for i := 1 to 6 do
ListBox1.Items.Add('a[' + inttostr(i) + ']=' + floattostr(A[i]));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
5.Результат: