Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачи КР ОАИП.docx
Скачиваний:
0
Добавлен:
22.11.2019
Размер:
54.08 Кб
Скачать

Задача 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;