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

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

Вычислить значение функции некоторой переменной х, изменяющейся от начального значения х0 до конечного хk с постоянным шагом h.

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

 

 

 


При решении данной задачи необходимо учесть, что тригонометрические функции в Qbasic вычисляются от угла заданного в радианах, поэтому переведем исходные данные из градусов в радианы:

Алгоритм решения задачи:

Программа:

CLS

'Вводим значения чисел х0, хk, h

INPUT “X0,XK,H=”; X0,XK,H

X0=X0*3.14/180: XK=XK*3.14/180: H=H*3.14/180

FOR X=X0 TO XK STEP H

Y=SIN(X)

PRINT X, Y

NEXT X

END

Результаты работы программы:

X Y
-3,14 -0,001592653
-2,791111111 -0,343350116
-2,442222222 -0,643736039
-2,093333333 -0,8665558
-1,744444444 -0,984961013
-1,395555556 -0,98468459
-1,046666667 -0,865759839
-0,697777778 -0,642516449
-0,348888889 -0,341853849
0,348888889 0,341853849
0,697777778 0,642516449
1,046666667 0,865759839
1,395555556 0,98468459
1,744444444 0,984961013
2,093333333 0,8665558
2,442222222 0,643736039
2,791111111 0,343350116
3,14 0,001592653


График:

При построении графика полученные результаты необходимо округлить до десятых.

 

 

 


Алгоритм решения задачи:

Программа:

CLS

'Вводим значения х0,хk,h

INPUT “X0,XK,H=”; X0,XK,H

FOR X = X0 TO XK STEP H

IF X < = 1 THEN

Y = X ^ 2

ELSE

Y = SQR(X)

ENDIF

PRINT X, Y

NEXT X

END

 

Результаты работы программы:

X Y
-2
-1,5 2,25
-1
-0,5 0,25
0,5 0,25
1,5 1,224745
1,414214
2,5 1,581139
1,732051

 

График:  

 

 

 


Уравнение прямой на отрезке [0;2]: .

Найдем уравнение прямой, проходящей через точки (-2;0) и (0;1) используя уравнение прямой, проходящей через две точки:

.

Аналогично определяем уравнения остальных прямых. В результате кусочно-гладкая функция примет вид:

Алгоритм решения задачи:

Программа:

CLS

INPUT “X0,XK,H=”; X0,XK,H

FOR X = X0 TO XK STEP H

SELECT CASE X

CASE IS<0

Y = 0.5 * X + 1

CASE IS>3

Y = -X + 3

CASE 0 TO 2

Y = 1

CASE ELSE

Y = X - 1

END SELECT

PRINT X, Y

NEXT X

END

 

Результаты работы программы:

X Y X Y X Y X Y
-3 -0,5 -0,6 0,7 1,8 4,2 0,8
-2,8 -0,4 -0,4 0,8 4,4 0,6
-2,6 -0,3 -0,2 0,9 2,2 1,2 4,6 0,4
-2,4 -0,2 2,4 1,4 4,8 0,2
-2,2 -0,1 0,2 2,6 1,6
-2 0,4 2,8 1,8 5,2 -0,2
-1,8 0,1 0,6 5,4 -0,4
-1,6 0,2 0,8 3,2 1,8 5,6 -0,6
-1,4 0,3 3,4 1,6 5,8 -0,8
-1,2 0,4 1,2 3,6 1,4 -1
-1 0,5 1,4 3,8 1,2    
-0,8 0,6 1,6    

 

 

Алгоритм решения задачи:

Программа:

CLS

'Вводим значения чисел х0, хk, h

INPUT “X0,XK,H=”; X0,XK,H

MIN = TAN(2 * X0 + 3)

MAX = TAN(2 * X0 + 3)

FOR X = X0 + H TO XK STEP H

Y = TAN(2 * X + 3)

IF Y<MIN THEN MIN = Y

IF Y>MAX THEN MAX = Y

NEXT X

PRINT “MIN, MAX=”; MIN, MAX

END

 

Результаты работы программы:

MIN, MAX=-225,9508465 0,871447983


 


Алгоритм решения задачи:

Программа:

CLS

Y = 2: P = 2

FOR X = 0 TO 1.2 STEP 0.3

Z = EXP(X + Y) * P

PRINT X, Y, P, Z

Y = Y + 1

P = P + 1

NEXT X

END

Результаты работы программы:

X Y P Z
14,7781122
0,3 81,33791676
0,6 397,9372626
0,9 1825,187339
1,2 8036,584586

 

 

 
 

 


Программа:

CLS

a = 0.4

FOR i = 1 TO 10

y = sin(a) ^2 - a

PRINT a, y

a = a + 0.2

NEXT i

END

Алгоритм решения задачи:

Результаты работы программы:

a y
0.4 0.2483534
0.6 0.2811789
0.8 0.2854002
0.2919266
1.2 0.3313031
1.4 0.4288889
1.6 0.6008528
1.8 0.8516211
1.173179
2.2 1.546334