Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВТ и ПР_контр. методичка.doc
Скачиваний:
0
Добавлен:
02.01.2020
Размер:
1.06 Mб
Скачать

3 Пример оформления контрольной работы по четвертому, пятому и шестому пунктам задания

Задача 4. Разработать приложение в Delphi для вычисления

, исходные данные a,b,c,d.

Форма приложения

Одним из основных элементов приложения является форма, из которой пользователь управляет событиями, происходящими во время работы приложения. Форма приложения представлена на рисунке 1.

Рисунок 1 – Форма приложения

На форме размещены следующие компоненты:

Label1, Label2, Label3, Label4, Label5, Label6 – метки, содержащие статичный текст и несущие информацию о назначении других компонентов;

Edit1, Edit2, Edit3, Edit4, Edit5 – текстовые строки, содержащие значения вводимых и выводимых значений;

Button1, Button2 – кнопки для принятия данных и завершения работы приложения.

Текст программного кода.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Edit5: TEdit;

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);

Var

a,b,c,d,v:real;

str:string;

begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

c:=StrToFloat(edit Text);

d:=StrToFloat(edit4.Text);

v:=(a*Sqrt(Abs(Sin(b*c)+a))-Exp(-a*c))/

Sqrt(Abs(2*b+d));

str:=' v = '+FloatToStrF(v,ffFixed,10,4);

edit5.text:=str;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Close;

end;

end.

Описание основных операторов, процедур, функций и методов.

В процессе создания программного приложения использовались следующие процедуры, функции и методы:

- StrToFloat(S:String):Extended: - функция, которая преобразует строку в число, возвращаемый результат типа Extended;

FloatToStrF(V:Extended;Format:TFloatFormat;Precision,Digits:Integer):String – функция преобразования числа с плавающей точкой;

Sqrt(x) – возвращает квадратный корень аргумента х;

Abs(х) – возвращает абсолютное значение аргумента х;

Sin(х) – возвращает синус аргумента х;

Exp(х) – возвращает значение ех.

В приложении использованы методы обработки событий, происходящих на форме, код которых создан во время работы приложения

procedure Button1Click(Sender: TObject); - нажатие на кнопку Button1

procedure Button2Click(Sender: TObject); - нажатие на кнопку Button2

Задача 5. Создать приложение для вычисления интеграла с заданной точностью. При написании кода использовать подпрограммы.

Форма приложения.

На рисунке 2 представлена форма после выполнения.

Рисунок 2 - Форма приложения после выполнения расчетов

На форме размещены следующие компоненты:

Label1, Label2, Label3, Label4 – метки, содержащие статичный текст и несущие информацию о назначении других компонентов;

Label5 – метка предназначена для вывода результатов вычислений;

Edit1, Edit2, Edit3 – текстовые строки, содержащие значения вводимых значений;

Button1, Button2 – кнопки для принятия данных и завершения работы приложения.

Текст программного кода.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Button1: TButton;

Button2: TButton;

Label5: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

Function F(x:real):real;

begin

f:=sin(x)/x;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,eps:real;

S1,S2:real;

x,h:real;

i,n:integer;

begin

a:=strtofloat(edit1.Text);

b:=strtofloat(edit2.Text);

eps:=strtofloat(edit3.Text);

n:=1;

s2:=0;

repeat

h:=abs(b-a)/n;

x:=a;

S2:=0;

for i:=1 to n do

s2:=S2+F(x+(i-1)*h)*h;

until (s2-s1)<=eps;

Label5.Caption:='Значение интеграла равно '

+floattostrF(s2,ffFixed,8,3);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close

end;

end.

Описание основных операторов, процедур, функций и методов.

В процессе создания программного приложения использовались следующие процедуры, функции и методы:

- StrToFloat(S:String):Extended: - функция, которая преобразует строку в число, возвращаемый результат типа Extended;

FloatToStrF(V:Extended;Format:TFloatFormat;Precision,Digits:Integer):String – функция преобразования числа с плавающей точкой;

Abs(х) – возвращает абсолютное значение аргумента х;

Sin(х) – возвращает синус аргумента х;

В приложении использованы методы обработки событий, происходящих на форме, код которых создан во время работы приложения:

procedure Button1Click(Sender: TObject) - нажатие на кнопку Button1

procedure Button2Click(Sender: TObject) - нажатие на кнопку Button2

Function F(x:real):real; - пользовательская функция вычисления значения F(x);

При написании кода использовались следующие операторы:

1) Условный оператор

If <логическое выражение> Then <оператор1>

else <оператор2>;

Если логическое выражение истинно, то выполняется < оператор 1>, в противном случае выполняется <оператор2>.

2) Оператор повтора

Repeat

<оператор1>;

< оператор2>;

< операторN>

until <логическое выражение >;

Тело цикла выполняется пока значение логического выражения ложно.

Рисунок 3 – Блок-схема алгоритма

Задача 6. Создать приложение для вычисления и построения графика функции для .

Главная форма приложения.

Главная форма приложения для выполнения второй задачи представлена на рисунке 4.

Рисунок 4 – Главная форма

На форме размещены следующие компоненты:

Button1, Button2, Button3 – кнопки для принятия данных и завершения работы приложения.

Текст программного модуля главной формы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

form2.ShowModal;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

form3.ShowModal;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

end.

Описание основных операторов, процедур, функций и методов.

В программном коде использовался метод вызова формы ShowModal – вызов формы для модального выполнения

Форма приложения для вычисления значений функции

Форма приложения для вычисления значений функции приведена на рисунке 5

Рисунок 5 –Форма приложения для вычисления значений функции

На форме размещены следующие компоненты:

Label1, Label2, Label3, Label4, Label5, Label6 – метки, содержащие статичный текст и несущие информацию о назначении других компонентов;

Edit1, Edit2, Edit3– текстовые строки, содержащие значения вводимых и выводимых значений;

StringGrid1 – компонент для вывода табличных данных;

Button1, Button2 – кнопки для принятия данных и завершения работы приложения.

Текст программного кода для вычисления значения функции на заданном интервале.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

StringGrid1: TStringGrid;

Label5: TLabel;

Edit3: TEdit;

Label4: TLabel;

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);

Var

x,x1,x2,dx:real;

y:real;

i:integer;

begin

x1:=StrToFloat(edit1.Text);

x2:=StrToFloat(edit2.Text);

dx:=StrToFloat(edit3.Text);

stringgrid1.Cells[0,0]:='Значения Х';

stringgrid1.Cells[0,1]:='Значения Y';

x:=x1;

i:=0;

while x<=x2 do

begin

i:=i+1;

stringgrid1.ColCount:=i;

y:=2*sin(x)*exp(x/5);

stringgrid1.Cells[i,0]:=floatToStrF(x,ffFixed,6,2);

stringgrid1.Cells[i,1]:=floatToStrF(y,ffFixed,6,2);

x:=x+dx;

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end.

Описание основных операторов, процедур, функций и методов.

В процессе создания программного приложения использовались следующие процедуры, функции и методы:

- StrToFloat(S:String):Extended: - функция, которая преобразует строку в число, возвращаемый результат типа Extended;

FloatToStrF(V:Extended;Format:TFloatFormat;Precision,Digits:Integer):String – функция преобразования числа с плавающей точкой;

В приложении использованы методы обработки событий, происходящих на форме, код которых создан во время работы приложения

procedure Button1Click(Sender: TObject) - нажатие на кнопку Button1

procedure Button2Click(Sender: TObject) - нажатие на кнопку Button2

При написании кода использовался оператор повтора

While <логическое выражение> do <оператор>. При работе оператора While <оператор>, стоящий после зарезервированного слова do выполняется до тех пор, пока <логическое выражение> истинно.

Рисунок 6 – Блок-схема алгоритма

Форма приложения для построения графика функции.

Форма приложения для построения графика функции приведена на рисунке 7.

Рисунок 7 – Форма приложения для построения графика функции

На форме размещены следующие компоненты:

Button1, Button2 – кнопки для принятия данных и завершения работы приложения;

Image1 – компонент для построения графика.

Текст программного кода приложения для построения графика.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

Function F(x:real):real;

begin

F:=2*sin(x)*exp(x/5);

end;

Procedure Graf;

Var

x1,x2:real;

y1,y2:real;

x,y:real;

dx:real;

l,b:integer;

w,h:integer;

mx,my:real;

x0,y0:integer;

begin

l:=10;

b:=form1.image1.ClientHeight-20;

h:=form1.image1.ClientHeight-40;

w:=form1.image1.Width-40;

x1:=0;

x2:=25;

dx:=0.01;

y1:=f(x1);

y2:=f(x1);

x:=x1;

repeat

y:=f(x);

if y<y1 then y1:=y;

if y>y2 then y2:=y;

x:=x+dx;

until (x>=x2);

my:=h/abs(y2-y1);

mx:=w/abs(x2-x1);

x0:=1;

y0:=b-abs(Round(y1*my));

with form1.Image1.Canvas do

begin

MoveTo(l,b); LineTo(l,b-h);

MoveTo(x0,y0); LineTo(x0+w,y0);

TextOut(l+5,b-h,FloatToStrF(y2,ffFixed,6,3));

TextOut(l+5,b,FloatToStrF(y1,ffFixed,6,3));

x:=x1;

repeat

y:=f(x);

Pixels[x0+Round(x*mx),y0-round(y*my)]:=clRed;

x:=x+dx;

until (x>=x2);

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Graf;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end.

Описание основных операторов, процедур, функций и методов.

В процессе создания программного приложения использовались следующие процедуры, функции и методы:

FloatToStrF(V:Extended;Format:TFloatFormat;Precision,Digits:Integer):String – функция преобразования числа с плавающей точкой;

В приложении использованы методы обработки событий, происходящих на форме, код которых создан во время работы приложения

procedure Button1Click(Sender: TObject) - нажатие на кнопку Button1

procedure Button2Click(Sender: TObject) - нажатие на кнопку Button2

Graf – оператор вызова пользовательской процедуры;

При написании кода использовались следующие операторы:

1) Условный оператор

If <логическое выражение> Then <оператор1>

else <оператор2>;

Если логическое выражение истинно, то выполняется < оператор 1>, в противном случае выполняется <оператор2>.

2) Оператор повтора

Repeat

<оператор1>;

< оператор2>;

< операторN>

until <логическое выражение >;

Тело цикла выполняется пока значение логического выражения ложно.

Метод MoveTo(x,y) – перемещение текущей позиции в точку с координатами (х, y).

Метод LineTo(x,y) – вычерчивание прямой линии от текущей позиции до точки с координатами (x,y).