x = Text1.Text
If x = 0 Then
Text3.Text = 99
ElseIf x > 0 Then
Text2.Text = x ^ (1 / 2)
Else
Text4.Text = -(Abs(x) ^ (1 / 3))
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
8. Результаты расчетов в VB 6
9. Результаты расчетов в Mathcad (листинг приведен ниже)
10. Результаты в VB и Mathcad полностью совпадают
Задание 3
Табулирование разветвляющихся функций на отрезке
Указания к выполнению задания
Для организации счетного цикла используется оператор For/Next. Формат оператора:
For i=iнач To iкон Step di
<тело цикла>
Next I
В данном формате iнач – начальное значение переменной цикла, iкон – конечное значение переменной цикла, а di – шаг приращения значения переменной цикла.
Между For и Next заключено тело цикла.
Объект MSFlexGrid – сетка предназначен для вывода данных на экран.
Для активизации MSFlexGrid необходимо выполнить пункт меню Components в меню Project и выбрать Microsoft Flex Grid Control 5.0.
Основные свойства MSFlexGrid
Cols, Rows – устанавливает число колонок и столбцов.
Col, Row - возвращают/ устанавливают номер колонки и строки.
ColWidth, RowHeight - ширина и высота столбца. Синтаксис использования этих свойств аналогичен предыдущему примеру.
Text, TextMatrix - возвращает или устанавливает текст, хранящийся в текущей ячейке. Свойство TextMatrix имеет синтаксис:
TextMatrix (номер строки, номер столбца) = информация
ColAlignment - выравнивание текста в ячейках:
Синтаксис: ИмяCетки. ColAlignment (индекс) = Значение
Можно использовать 10 возможных значений свойства Alignment для управления выравниванием информации в ячейках.
Варианты задач
№ | Функция | Условие | Итервал | Шаг | Исходные данные |
1. | ì a+b___ ½ ½ ex +cos x z=í(a+b)/(x+1) îex+sin x | x<2,3 2,3£ x<5 x³5 | xÎ[0;7] | 0,5 | a=2,7 b=-0,27 |
2. | ìai4+bi y=ítg(i+0,5) ½ ____ îe2i+Öa2+i3 | i<10 i=10 i>10 | iÎ[7;12] | a=2,2 b=0,3 | |
3. | ìax3/2+bx2/3+c s=íax5 î(ax3/2+bx2/3)c | x<0,2 0,2£x£1 x>1 | xÎ[0,1;1,5] | 0,15 | a=2,1 b=-3,7 c=0,75 |
4. | ì _______ ½Öat2+bsint+1 z=íat+b ½ __________ îÖ at2+bcost+1 | t<0,1 t=0,1 t>0,1 | tÎ[-1;1] | 0,2 | a=2,1 b=0,37 |
5. | ìaesin x +2,5 y=íecos x+a î(sinx)/(a+ex) | x<0,3 x=0,3 x>0,3 | xÎ[0;1] | 0,2 | a=1,5 |
6. | ìctg t+(t+d)3 f=íc/(dt)+ln(t2+c) îsin(c+dt)+cos(d-t) | t<0,4 t=0,4 t>0,4 | tÎ[0,1;1,1] | 0,15 | c=0,5 d=1,3 |
7. | ì a ½¾ +bi2+c ½ i y=íi îai+bi3 | i<3 3£i£7 i>7 | iÎ[2;10] | c=-1,5 a=2,1 b=3,15 | |
8. | ìax+bx2-c ½ ___ y=ía/x+Öx+1 ½ ___ î(a+bx)/ Öx+1 | x<1,2 x=1,2 x>1,2 | xÎ[1,2] | 0,25 | a=1,8 b=-0,5 c=3,5 |
___ ì(ln3x+x2)/Öx+t ï ___ z=íÖx+t +1/x ï îcosx+tsin2x | x<0,5 x=0,5 x>0,5 | xÎ[0,1;2] | 0,2 | a=1,5 t=2,2 | |
ìpx2-7/x2 ï _ y=íax3+7Öx ï _ îlg(x+7Öx) | x<1,3 x=1,3 x>1,3 | xÎ[0,9;2] | 0,2 | a=1,5 | |
ìai+b/i ï z=íai2+b îi3 | i<5 5£i£10 i>10 | iÎ[3;15] | a=2 b=-0,5 | ||
3 ___ ìt Ö t-a s=ít sin at îe-atcos at | t>a t=a t<a | tÎ[1;5] | 0,5 | a=2,5 | |
ìax-lg ax f=í1 îax+lg ax | ax<1 ax=1 ax>1 | xÎ[0,1;1] | 0,1 | a=1,5 | |
ìe-bxsin bx y=ícos ax îe-axcos bx | x<a a£x£b x>b | xÎ[0;4] | 0,5 | a=1 b=3 | |
ìe-Öx cos ax s=ísin ax îe-Öx sin ax | x<a x=a x>a | xÎ[2;3] | 0,1 | a=2,7 |
Пример выполнения задания
1. Протабулировать функцию на указанном отрезке
2. Результаты отобразить в MSFLEXGRID
3. Интерфейс пользователя, соответствующий описанному выше, выглядит следующим образом
4. Программный код, реализующий алгоритм решения
Private Sub Command1_Click()
Dim x As Double
Dim y As Double
Dim k As Integer
Dim xn As Double
Dim xk As Double
Dim dx As Double
k = 0
xn = 0: xk = 6: dx = 0.5
g1.Rows = (xk - xn) / dx + 2
g1.Cols = 4
For i = 0 To 3
g1.ColAlignment(i) = 4
g1.ColWidth(i) = 1800
Next i
g1.TextMatrix(0, 0) = "x"
g1.TextMatrix(0, 1) = "x<2"
g1.TextMatrix(0, 2) = "x=2"
g1.TextMatrix(0, 3) = "x>2"
k = k + 1
For x = xn To xk Step dx
g1.TextMatrix(k, 0) = x
If x < 2 Then
y = x ^ 2
g1.TextMatrix(k, 1) = y
k = k + 1
ElseIf x = 2 Then
y = Log(x) + Tan(x)
g1.TextMatrix(k, 2) = y
k = k + 1
Else
y = (Sin(x) ^ 2) ^ (1 / 3)
g1.TextMatrix(k, 3) = y
k = k + 1
End If
Next x
End Sub
6. Результаты расчетов в VB 6