Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1958

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
3.16 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Продолжение табл. 2

8

x a cos(ln(x)); еслиx 3;

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b x2 ;еслиx 3.

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

tg(x); еслиx 5;

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a x ln(b x) c;еслиx 5.

 

10

a x b x sin(c x); еслиx 3.4;

 

 

y

 

 

 

 

 

sin(a x) b;еслиx 3.4.

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

abx

; еслиx 2.7;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y a b e

 

 

 

 

 

 

ln(a b x);еслиx 2.7.

 

12

 

 

 

 

 

 

 

 

a x2; если x 4;

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a bx3

ln(x);еслиx 4.

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

2

c); еслиx 7.3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y a/(b x

 

 

 

a x b x3 c;еслиx 7.3.

 

14

 

ax

 

b; еслиx 6.4;

 

 

y e

 

 

 

 

 

 

e ax

c;еслиx 6.4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

ln(a x) b; еслиx 3.9;

 

 

y

 

 

b x c;еслиx 3.9.

 

 

 

 

 

 

16

 

 

 

 

2

(a x) b x; еслиx 3.7;

 

 

sin

 

 

 

 

y

 

 

 

 

 

 

 

ln3 (x);еслиx 3.7.

 

 

 

 

 

 

 

 

 

 

 

17

ln

 

x

 

; если x 3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если x 2;

 

 

y x;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| sin(x) |;востальных случаях.

 

 

 

 

 

19

Продолжение табл. 2

18

 

 

ax

; если x 3;

 

e

 

 

 

 

 

 

 

 

y 0.75 a x; если x 2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a x;востальных случаях.

19

(1 b x2 )2; если x 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

(1 b x3 )2 ; если x 3;

 

 

 

 

 

 

 

 

 

 

x;востальных случаях.

 

 

 

 

 

 

 

 

 

 

20

ln

 

sin(x)

 

; если x 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y e

 

x

 

 

 

 

 

x

 

; если x 2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5 | x|;востальных случаях.

21

tg(x); если x 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin(x) cos(x); если x 2;

 

y

 

 

 

 

 

 

 

 

 

1; если x 3;

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7;востальных случаях.

22

 

 

 

 

 

3

 

x

2

 

5; если x 1;

 

x

 

 

 

 

 

 

 

 

 

y 1; если x 2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1;востальных случаях.

23

x5

 

x; если x 1;

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;

 

если x 2;

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; если x 3;

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x5 x

 

 

;востальных случаях.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончание табл. 2

24

ctg(x 5); если x 0или x 2;

 

 

 

 

 

 

 

 

 

 

если x 2;

 

 

 

 

y 2.5;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1/(sin(x 5) 1);востальныхслучаях.

 

25

cos(x a); еслиx 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

; еслиx 2

или x 3или x 4 ;

 

 

y 7 a

 

 

 

 

 

 

 

 

 

1

 

;востальныхслучаях.

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

c x2; еслиc 0;

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

;

 

 

 

еслиc 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(c x2 )

 

 

 

 

 

 

 

 

 

 

 

0;если c 0.

 

 

 

 

 

 

 

 

 

 

27

 

 

2

4 a c; еслиa 0;

 

 

b

 

 

 

 

 

y

 

 

 

 

 

b2

 

 

 

 

;еслиa 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4 a c)

 

 

 

 

 

 

 

 

 

 

 

 

28

 

 

 

 

 

 

1; еслиx 0;

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln(x)

 

 

 

 

;еслиx 0.

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29

0; если x 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y x 3; если x 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

| x a | b c

;если

x 0.

 

 

 

 

 

 

 

30

c (x a) eb; еслиb 0;

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| x a| b c2;еслиb 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21

 

 

 

 

4.ЗАДАНИЕ № 3. СОЗДАНИЕ ГРАФИКА ФУНКЦИИ

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

Главная форма программы должна состоять из двух закладок и иметь вид, приведенный на рис. 5 и 6 (приведена главная форма программы с активной первой и второй закладкой).

Рис. 5. Главная форма с активной первой закладкой

22

Рис 6. Главная форма с активной второй закладкой

Для создания закладок следует воспользоваться компонентом класса TPageControl (закладка Win32). Его следует разместить на форме, растащив компонент, можно задать нужный размер. С помощью контекстного меню можно создать на нем две закладки (пункт NewPage). Затем необходимо щелкнуть по имени закладки (например, по TabShit1) и по рабочей области закладки. Потом следует с помощью свойства Caption для каждой закладки задать поясняющую надпись, первую назвать «Функции», вторую - «Графики».

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

TStringGrid (вкладка Additional) для отображения значений аргумента Х и функций Y1, Y2;

TEdit (вкладка Standard) для создания полей ввода;

TLabel (вкладка Standard) для создания поясняющих надписей;

23

TButton (вкладка Standard) для создания кнопок Выход, Рассчитать.

На второй закладке следует разместить компонент TChart (вкладка Additional) для отображения графиков функций.

В программе должно быть реализовано следующее.

1) Задание параметров функций.

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

значения коэффициентов и констант в уравнениях функций;

начальное и конечное значения аргумента функции (т.е. интервал расчета);

шаг изменения аргумента функции.

Ввод данных параметров должен осуществляться через компоненты типа TEdit.

2) Расчет значений функций на заданном интервале.

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

StringGrid.

При установке таблицы на форму следует осуществить следующие настройки:

свойства FixedRows (фиксированные строки) и FixedCols (фиксированные столбцы) установить в значение 1;

свойство RowCount установить в значение 2;

свойство ColCount установить в значение 4. Добавление заголовков в таблицу осуществляется про-

граммно. Например, для формы в целом в событии OnShow можно написать следующую процедуру:

StringGrid1.Cells [0,0]:='№ п/п'; StringGrid1.Cells [1,0]:=' x '; StringGrid1.Cells [2,0]:=' y1 '; StringGrid1.Cells [3,0]:=' y2 ';

24

Замечание: при указании номера ячейки сначала идет номер столбца, потом строки.

Занесение данных в таблицу тоже осуществляется программно с присвоением соответствующим ячейкам вычисленных значений.

3) Построение графиков функций согласно рассчитанным значениям.

Для компонента класса TChart после размещения на форме во второй закладке следует настроить следующие свойства:

через контекстное меню вызвать редактор компонента (пункт Edit Chart) и добавить две серии (закладка 1-го уровня Chart, закладка 2-го уровня Series, кнопка Add, выбрать вид графика, например, Fast line); нажатие кнопки Add надо повторить два раза для каждого графика; затем нажать кнопки ОК и

Close;

в свойствах компонента Chart через окно Инспектор объектов указать следующее:

в группе свойств Title (щелчок по +) прописать заголовок «Графики функций» в свойстве Text, с помощью свойства Font можно задать шрифт;

в группах свойств LeftAxis и BottomAxis (щелчок по кнопке +) прописать заголовки осей Y и X (подгруппа свойств Title, свойство Caption); с помощью свойства Font можно задать шрифт;

по желанию можно отключить псевдотрехмерное изображение графика (свойство Viev3D) и настроить градиентную заливку (группа свойств Gradient).

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

Chart1.SeriesList[0].Title:='y(x)=k*x+b';

Chart1.SeriesList[1].Title:='y(x)=a*x^2+c';

25

Здесь свойство SeriesList – список серий графика (т.е. первая серия имеет индекс 0, вторая 1 и т.д.).

Добавление точек на график осуществляется в программе через метод AddXY (добавляется точка с двумя координатами):

Chart1.SeriesList[0].AddXY(x1,k*x1+b);

Chart1.SeriesList[1].AddXY(x1,a*sqr(x1)+c);

Возможный текст программы для кнопки «Рассчитать» приведен ниже. В данной программе осуществляется:

-преобразование введенных данных в числа;

-вывод на графике названия линий;

-в цикле while расчет функций, вывод в таблицу номера, аргумента и рассчитанных функций с преобразованием их в строку, добавление точек на график, увеличение количества строк в таблице на единицу и увеличение аргумента функций на шаг.

var

a, b, c, d, y1, y2, x, xn, xk, xh : real; i : integer;

begin

 

a := StrToFloat(Edit1.Text);

b := StrToFloat(Edit2.Text);

c := StrToFloat(Edit3.Text);

d := StrToFloat(Edit4.Text);

xn := StrToFloat(Edit5.Text); xk := StrToFloat(Edit6.Text); xh := StrToFloat(Edit7.Text);

x := xn; i := 1; Chart1.SeriesList[0].Title :='Y1'; Chart1.SeriesList[1].Title :='Y2'; while x <= xk do

begin

y1 := a*x*x+c;

y2 := b*sqrt(abs(x))+d; StringGrid1.Cells[0,i] := IntToStr(i); StringGrid1.Cells[1,i] := FloatToStr(x);

StringGrid1.Cells[2,i] := floatToStrF(y1,ffFixed,6,2); StringGrid1.Cells[3,i] := floatToStrF(y2,ffFixed,6,2);

26

Chart1.SeriesList[0].AddXY(x,y1);

Chart1.SeriesList[1].AddXY(x,y2); StringGrid1.RowCount := StringGrid1.RowCount + 1; i := i+1; x := x+ xh; end; end;

Возможный текст программы для кнопки «Очистить»

приведен ниже.

 

 

 

var

 

 

 

j, j1: integer;

 

 

 

begin

 

 

 

Edit1.Text := '';

Edit2.Text := '';

Edit3.Text := '';

Edit4.Text := '';

Edit5.Text := '';

Edit6.Text := '';

Edit7.Text := '';

 

 

 

j1 := StringGrid1.RowCount;

 

 

StringGrid1.RowCount := 2;

 

 

For j := 1 to j1 do

 

 

 

begin

 

 

 

StringGrid1.Cells[0,j] := '';

StringGrid1.Cells[1,j] := '';

StringGrid1.Cells[2,j] := '';

StringGrid1.Cells[3,j] := '';

end;

 

 

 

end;

 

 

 

Варианты задания по расчету функций и по построению графиков приведены в табл. 3.

Обе функции следует вывести на одном и том же графи-

ке.

Таблица 3

Варианты задания № 3

№ ва-

Функция 1

 

Функция 2

рианта

 

 

 

 

 

 

 

 

 

1

y(x)=a*x2+c

 

y(x) b*

 

 

 

 

 

d

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

2

y(x)=a*x2+b*x+c

 

y(x)=a*x+d

 

 

 

 

 

3

y(x)=a*sin(x)+c

 

y(x)=b*cos(x)+d

4

y(x)=a*sin2(x)+b

 

y(x)=c*cos2(x)+d

 

 

27

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Продолжение табл. 3

5

y(x)=ax+b

 

 

 

 

 

 

 

 

 

 

y(x)=cx2+d

 

6

y(x)=a*sin2(x)+b*cos2(

y(x)=c*sin(x)*cos(x)+d

 

 

x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

y(x)=(x-a)*(x+b)

y(x)=(x+c)*(x-d)

 

8

y(x) b*

 

 

 

 

 

 

 

 

 

 

 

y(x) c*ln

 

x

 

d

 

 

 

 

x -a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

y(x)=a*x2+b*ln|x|

y(x)=c*ln(x)*x+d

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(x) a*

 

x

 

b

y(x) c/

 

x d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

y(x)=a*x2+b*x

y(x)=c*x3+d*x2

12

y(x)=a*x+b*x2+c*x3

y(x)=d*x2

 

 

 

 

 

 

 

 

 

 

 

 

 

13

y(x)=a*sin(x)+b*cos(x)

y(x)=c*|sin(x)|+d*|cos(x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

y(x)=a*x+b*sin(x)

y(x)=c*x+d*cos(x)

 

15

y(x)=a*x+b*sin2(x)

y(x)=c*x+d*cos2(x)

 

16

y(x) = x4+x+a

y(x) = x3-x2-a

 

17

y(x) = a/(x2+a)

y(x) = (a+x)/x3

 

18

 

a*

 

 

 

 

 

 

 

 

 

 

y(x) c*

 

 

 

 

 

 

d

 

y(x)

 

 

x

 

b

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

y(x)=a*x2+b*sin(x)

y(x)=c*x2+d*cos(x)

 

20

y(x)=a*x2+b*ln(x)

y(x)=a*x3+b*ln(x)

 

21

y(x)=a*x3+b

y(x)=c*|x3|+d

 

22

y(x)=|a*x2+b*x+c|

y(x)=d*x2-|x|

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(x) a*

 

sin(x)

 

 

b

y(x) c*

 

 

sin(x)

 

 

d

 

 

 

 

 

 

 

 

 

 

24

y(x)=ln|x+a|+b

y(x)=cos|x-c|+d

25

y(x)=(a+x3)/(x2+b)

y(x)=(c+x4)/(x3+d)

 

26

y(x)=a*sin2(x)+b/x

y(x)=c*cos2(x)+d/x

 

27

y(x)=a/x3+b/x2

y(x)=c/x4+d/x3

 

28

y(x) = 1/x2+a

y(x) = 1/x3

 

 

 

 

 

 

 

 

 

 

 

 

 

29

y(x) = sin(x2+a)

y(x) = sin2(x+a)

 

30

y(x) = x3+a

 

 

 

 

 

 

 

 

 

 

y(x) = (x+a)3

 

 

 

 

 

 

 

28