Министерство образования
Республики Беларусь
Гомельский государственный
технический университет
имени П.О. Сухого
Лабораторная работа № 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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.