- •Задача 1
- •Interface
- •Implementation
- •Задача 2
- •Interface
- •Implementation
- •Задача 3
- •Interface
- •Implementation
- •Задача 4
- •Implementation
- •Interface
- •Implementation
- •Var I:integer;
- •Задача 5
- •Implementation
- •Var k:integer; b,s:Extended;
- •Interface
- •Var m:integer;
- •Implementation
- •Var X,y:Extended; I,x1,y1,xmax,ymax:Integer;
- •Задача 6
- •Implementation
- •Var k:integer; b,s:Extended;
- •Interface
- •Implementation
- •Var X,y:extended; I:integer;
- •Задача 7
- •Implementation
- •Interface
- •Implementation
- •Var x1,y1,ymax:integer;
- •Задача 9
- •Implementation
- •Interface
- •Implementation
- •Var X,y,h:extended; I:integer;
- •Задача 10
- •X1,y1,x2,y2,x3,y3,h:extended;
- •Implementation
- •Interface
- •Implementation
- •Var Xmax,ymax:integer;
- •Задача 11
- •Implementation
- •Interface
- •Implementation
- •Var tmp:string; I:integer;
- •Задача 12
- •Implementation
- •Interface
- •Implementation
- •Var I,k:integer; s:Set of char;
- •If not(st[I] in s) then
- •Include(s,st[I]);
- •Задача 13
- •Implementation
- •If savedialog1.Execute then
- •Interface
- •Implementation
- •Var ch:char;
- •Задача 14
- •Implementation
- •Interface
- •Implementation
- •Var n,i1,I:integer; tmp:string;
- •Задача 15
- •Implementation
- •If SaveDialog1.Execute then
- •Interface
- •Implementation
- •Var n:integer; ch:char;
Задача 1
Составить и оформить в виде отдельного модуля подпрограмму вычисления предела рекуррентной последовательности второго порядка с заданной точностью, определяемой правилом:
для заданных x0, x1, a, е.
Формальные параметры: a, е, x0, x1.
Составить программу - обработчик события в которой при нажатии кнопки организованы ввод исходных данных, обращение к подпрограмме, вывод исходных данных и результатов в окно TMemo.
Решение
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='1'; Edit2.Text:='1';
Edit3.Text:='5'; Edit4.Text:='1e-3';
Memo1.clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.clear;
x0:=StrToFloat(edit1.text);
x1:=StrToFloat(edit2.text);
a:=StrToFloat(edit3.text);
e:=StrToFloat(edit4.text);
Memo1.lines.Add('Результат '+FloatToStrF(Resh(a,e,x0,x1),fffixed,4,3));
end;
unit Unit2;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
Function Resh(a,e,x0,x1:extended):extended;
Implementation
Function Resh;
var
a0,a1,a2:extended;
begin
a0:=x0; a1:=x1;
a2:=0.5*(a1+a/a0);
While abs(a2-a1)>e do
begin
a0:=a1;
a1:=a2;
a2:=0.5*(a1+a/a0);
end;
Result:=a2;
end;
end.
Задача 2
Составить и оформить в виде отдельного модуля подпрограмму вычисления числа М, получаемого из заданного натурального числа N заменой порядка следования его цифр (тип string не использовать).
Формальные параметры: N.
Составить программу - обработчик события в которой при нажатии кнопки организованы ввод исходных данных, обращение к подпрограмме, вывод исходных данных и результатов в окно TEdit.
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='3467'; Edit2.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
N:=StrToInt(Edit1.Text);
Edit2.Text:=IntToStr(Resh(N));
end;
end.
unit Unit2;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
Function Resh(N:Integer):Integer;
Implementation
Function Resh;
Var
M,N1,ost:integer;
begin
M:=0; N1:=N;
While N1>0 do
begin
ost:=N1 mod 10;
M:=M*10+ost;
N1:=N1 div 10;
end;
Result:=M;
end;
end.
Задача 3
Составить и оформить в виде отдельного модуля подпрограмму табуляции функции f(x) на интервале [a, b] с шагом h=(b-a)/n.
Формальные параметры: a, b, n, f(x), Fl:textfile
Составить программу - обработчик события в которой при нажатии кнопки организованы ввод исходных данных, обращение к подпрограмме для вывода таблицы функции
(S(x) описать в вызывающей программе, m передать через глобальную переменную), вывод исходных данных и результатов в текстовый файл.
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='1'; Edit2.Text:='5'; Edit3.Text:='10'; Edit4.Text:='10';
end;
Function Sx(x:extended):extended;
var k:integer; b,s:Extended;
begin
k:=1; s:=0; b:=1;
while k<m do
begin
b:=b*x/k;
S:=S+b;
k:=k+1;
end;
Result:=s;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
M:=StrToInt(Edit4.Text); a:=StrToFloat(edit1.Text);
b:=StrToFloat(edit2.Text);
N:=StrToInt(edit3.Text);
If SaveDialog1.Execute then
begin
FileNameT:=SaveDialog1.FileName;
AssignFile(Fl,FileNameT);
Rewrite(Fl);
end;
Resh(a,b,n,Sx,fl);
closefile(fl);
ShowMessage('Сохранение в файл выполнено');
end;
end.
unit Unit2;