
Решение задачи 3
Для решения задачи нужны элементы ввода, вывода и элемент запуска счёта чисел. Для ввода и вывода чисел будет использоваться объект Edit. Для запуска вычисления чисел будет использоваться объект Button.
Внешний вид вкладки приведён на рисунке 11.
Рис. 11 (Внешний вид вкладки для решения третьей задачи)
Процедура, вызываемая при нажатии на кнопку расчета чисел, приведена ниже:
procedure TForm1.ButtonRez3Click(Sender: TObject);
var D,S:Real;
i:Integer;
begin
if EditEps.Text=' '
then ShowMessage ('Укажите Eps')
else
if EditN.Text=' '
then ShowMessage ('Укажите N')
else
if (StrToFloat(EditN.Text))<3
then ShowMessage ('Укажите N>3')
else
s:=0;
D:=0;
begin
for i:=1 to StrToInt(EditN.Text) do
begin
begin
D:=(1/i*(i-1));
S:=(S)+(D);
end;
end;
end;
EditRez3.Text:=FloatToStr(s)
end;
На рисунках с 12-ой по 15-ую приведены иллюстрации работы процедуры:
Рис. 12(Результат вычисления при корректных данных)
Рис. 13 (Результат вычисления при некорректных данных)
Рис. 14 (Результат вычисления при некорректных данных)
Рис. 15 (Результат вычисления при некорректных данных)
Решение задачи 4
Для решения задачи нужны элементы ввода, вывода и элемент запуска обработки массива. Для ввода и вывода чисел будет использоваться объект Memo. Для запуска обработки массива будет использоваться объект Button.
Внешний вид вкладки приведён на рисунке 16.
Рис. 16 (Внешний вид вкладки для решения четвертой задачи)
Процедура, вызываемая при нажатии на кнопку обработки массива, приведена ниже:
procedure TForm1.ButtonRez4Click(Sender: TObject);
var i,j:Integer;
z,k:Real;
begin
if Memo1.Lines.Count=0
then ShowMessage ('Укажите массив')
else
Memo3.Lines.Clear;
for i:=0 to Memo1.Lines.Count-1 do
begin
Memo3.Lines.Add('0');
for j:=0 to Memo1.Lines.Count-1-i do
begin
Memo3.Lines.Strings[i]:=FloatToStr(StrToFloat(Memo1.Lines.Strings[j]))
end;
end;
end;
На рисунках с 17-ой по 18-ую приведены иллюстрации работы процедуры:
Рис. 17 (Результат вычисления при корректных данных)
Рис. 18 (Результат вычисления при некорректных данных)
Решение задачи 5
Для решения задачи нужны элементы ввода, вывода, отображение строк и столбцов и элемент запуска обработки матрицы. Для ввода и вывода чисел будет использоваться объект Edit. Для отображения строк и столбцов будет использоваться объект StringGrid. Для запуска обработки матрицы будет использоваться объект Button.
Внешний вид вкладки приведён на рисунке 19.
Рис. 19 (Внешний вид вкладки для решения пятой задачи)
Процедуры, изменения размера матрицы при вводе их значений:
procedure TForm1.EditMChange(Sender: TObject);
begin
if EditM.Text<>' '
then
begin
StringGrid1.RowCount:=strtoint(EditM.Text);
StringGrid2.RowCount:=strtoint(EditM.Text)
end;
end;
procedure TForm1.EditWChange(Sender: TObject);
begin
if EditW.Text<>' '
then
begin
StringGrid1.ColCount:=strtoint(EditW.Text);
StringGrid2.ColCount:=strtoint(EditW.Text);
end;
end;
Процедура, вызываемая при нажатии на кнопку обработки матрицы, приведена ниже:
procedure TForm1.ButtonRez5Click(Sender: TObject);
var z,i,j,imax,jmax:Integer;
m:Real;
begin
if EditM.Text=' '
then ShowMessage ('Укажите количество строк')
else
if EditW.Text=''
then ShowMessage ('Укажите количество столбцов')
else
begin
z:=0;
for i:=0 to stringgrid1.RowCount-1 do
begin
for j:=0 to stringgrid1.ColCount-1 do
begin
if StringGrid1.Cells[i,j]=' '
then z:=1
end;
end;
end;
if z=1
then ShowMessage ('Введите числа матрицы')
else
begin
imax:=1;
jmax:=1;
m:=1;
for i:=0 to stringgrid1.RowCount-1 do
begin
for j:=0 to stringgrid1.ColCount-1 do
begin
if StrToFloat(StringGrid1.Cells[i,j])>StrToFloat(StringGrid1.Cells[imax,jmax])
then
imax:=i;
jmax:=j;
end;
end;
for i:=0 to stringgrid1.RowCount-1 do
begin
for j:=0 to stringgrid1.ColCount-1 do
begin
m:=StrToFloat(StringGrid1.cells[i,j])*m;
end;
end;
for i:=0 to stringgrid1.RowCount-1 do
begin
for j:=0 to stringgrid1.ColCount-1 do
begin
if StrToFloat(StringGrid1.Cells[i,j])>StrToFloat(
StringGrid1.Cells[imax,jmax])
then
StringGrid2.Cells[i,j]:=FloatToStr(m)
else
StringGrid2.Cells[i,j]:=StringGrid1.Cells[i,j]
end;
end;
end;
end;
На рисунках с 20-ой по 23-ую приведены иллюстрации работы процедуры:
Рис. 20 (Результат вычисления при корректных данных)
Рис.
21 (Результат вычисления при некорректных
данных)
Рис.
22 (Результат вычисления при некорректных
данных)
Рис.
23 (Результат вычисления при некорректных
данных)