Табулирование функций

Страницы работы

Содержание работы

Министерство образования

Республики Беларусь

Гомельский государственный

технический университет

имени П.О. Сухого

Лабораторная работа № 9

«ТАБУЛИРОВАНИЕ ФУНКЦИЙ»

Выполнил студент гр. ЭП-12

Желдак Д.А.

Принял преподаватель Самовендюк Н.В.

г. Гомель 2008

Задание: В соответствии с видом функции, приведенном в таблице 3.1,  вычислить значения функции y=f(x,b) для значений аргумента x, изменяющегося в интервале от xнач  до xкон с шагом  dx, и заданных констант a и b.

Исходные данные  для отладки программы (xнач, xкон, dx, b), выбрать самостоятельно из интервала значений, где заданные функции определены. Для ввода исходных данных использовать главную форму. Для выводы таблицы результатов использовать поле Memo1.

Исходные данные:

X нач – переменная (вещественный тип)

X кон – переменная (вещественный тип)

Шаг dx – переменная (вещественный тип)

b – переменная (вещественный тип)

Результат:

y – переменная (вещественный тип)

Условие задачи:

Графическая схема алгоритма

Таблица  переменных

Имя переменной

Тип переменной

Назначение

X нач

real

исходные данные

X кон

real

исходные данные

dx

real

исходные данные

b

real

исходные данные

Xi

real

результат

Yi

real

результат

i

integer

N  строки

Проектирование интерфейса программы

Таблица компонентов

Элемент интерфейса

Визуальный компонент

Свойство компонента

Значение свойства

Заголовок окна

Form1

Caption

задание 3.1.

Ввести x нач

Label1

Caption

Введите x нач =

Поле ввода x нач

Edit1

Text

Ввести x кон

Label2

Caption

Введите x кон =

Поле ввода x кон

Edit2

Text

Ввести шаг dx

Label3

Caption

Введите dx =

Поле ввода dx

Edit3

Text

Ввести b

Label4

Caption

Введите b =

Поле ввода b

Edit4

Text

Поле для выводы таблицы

Memo1

Lines

Вычислить

Button1

Caption

Вычислить

Процедура обработки действия нажатия кнопки

procedure TForm1.Button1Click(Sender: TObject);

var

b,y,x,d,xn,xk:real;

i:integer;

Sx, Sy, Si:string;

begin

memo1.Clear;

xn:=StrToFloat(Edit1.Text);

xk:=StrToFloat(Edit2.Text);

d:=StrToFloat(Edit3.Text);

b:=StrToFloat(Edit4.Text);

x:=xn;

i:=1;

memo1.Lines.add('Исходные данные:');

memo1.Lines.add('X нач = '+FloatToStr(xn));

memo1.Lines.add(' X кон = '+FloatToStr(xk));

memo1.Lines.add('Шаг = '+FloatToStr(d));

memo1.Lines.add('b = '+FloatToStr(b));

memo1.Lines.add('');

memo1.Lines.add('*******************************************');

memo1.Lines.add('**     N     **      X      **     Y     **');

memo1.Lines.add('*******************************************');

While X<=Xk do

begin

y:=arctan(b*x)/(1+sqr(sin(x)));

Str(x:7:2,Sx);

Str(y:7:2,Sy);

Str(i:3,Si);

memo1.Lines.add('**   '+Si+'   **   '+Sx+'   **   '+Sy+'   **');

i:=i+1;

x:=x+d;

end;

memo1.Lines.add('*******************************************');

end;

end.

Тестовые наборы

X нач = 45

X кон = 75

Шаг = 5

b = 9

*******************************************

**     N     **      X      **     Y     **

*******************************************

**     1   **     45.00   **      0.91   **

**     2   **     50.00   **      1.47   **

**     3   **     55.00   **      0.78   **

**     4   **     60.00   **      1.44   **

**     5   **     65.00   **      0.93   **

**     6   **     70.00   **      0.98   **

**     7   **     75.00   **      1.36   **

*******************************************

X нач = 0

X кон = 13

Шаг = 2

b = 5

*******************************************

**     N     **      X      **     Y     **

*******************************************

**     1   **      0.00   **      0.00   **

**     2   **      2.00   **      0.81   **

**     3   **      4.00   **      0.97   **

**     4   **      6.00   **      1.43   **

**     5   **      8.00   **      0.78   **

**     6   **     10.00   **      1.20   **

**     7   **     12.00   **      1.21   **

*******************************************

X нач = 7

X кон = 69

Шаг = 8

b = 3

*******************************************

**     N     **      X      **     Y     **

*******************************************

**     1   **      7.00   **      1.06   **

**     2   **     15.00   **      1.09   **

**     3   **     23.00   **      0.91   **

**     4   **     31.00   **      1.34   **

**     5   **     39.00   **      0.81   **

**     6   **     47.00   **      1.54   **

**     7   **     55.00   **      0.78   **

**     8   **     63.00   **      1.52   **

*******************************************

Вывод: В соответствии с видом функции, приведенном в таблице 3.1,  вычислил значения функции y=f(x,b) для значений аргумента x, изменяющегося в интервале от xнач  до xкон с шагом  dx, и заданной константы b.

Исходные данные  для отладки программы (xнач, xкон, dx, b), выбирал самостоятельно из интервала значений, где заданная функция определена. Для ввода исходных данных использовал главную форму. Для выводы таблицы результатов использовал поле Memo1.

Похожие материалы

Информация о работе