Создание программы линейной структуры для вычисления выражения
Задание: b = x*Exp(Sqr(x))*cos(yx/x)
Программный код:
Private Sub Command1_Click()
Dim x As Integer, y As Single
x = Val(InputBox("Введите значение x", "Окно ввода данных"))
'x = Text1.Text
b = x*Exp(Sqr(x))*cos(y*x/x)
Text2.Text = b
Debug.Print y ‘вывод в окно Откладки
MsgBox “Проверка”. vblnformation, “Окно сообщения”
MsgBox "x=" & x & Chr(13) & "b=" & y,, " Ответ "
End
End Sub
Теория, краткое описания команд:
- Dim, Option Explicit -типы данных и их объявление
- InputBox, MsgBox -функции ввода и вывода данных
- Debug.Print -конструкцию вывода
- функции преобразования: кода символа в символ Chr (код), цифровых строк в числа Val(), числа в строку Str ().
- элементы формы (Надпись (Label), Поле (TextBox), Кнопка (CommandButton))
- свойства элементов формы (Name, Caption, Text)
- метод Show; событие Click
Скриншоты:
Задание 2
Создание программы разветвляющейся структуры, операторов и функций для ее реализации.
Задание 2,3:
Программный код:
Private Sub Cmd1_Click()
Dim t As Double, w As Double
Const a As Double = 3, b As Double = 2
t = Val(TxtT.Text)
If t < 0, 1 Then
w = Sqr(a * t ^ 2 + b * Sin(t) + 1)
LblW.Caption = "w=Sqr(at ^ 2 + bsin(t) + 1)"
Else If t = 0, 1 Then
w = Sqr(a * t + b)
LblW.Caption = "w=Sqr(a * t + b)"
Else
w = Sqr(a * t ^ 2 + b * Cos(t) + 1)
LblW.Caption = "w=Sqr(a * t ^ 2 + b * Cos(t) + 1)"
End If
TxtW.Text = w
End Sub
‘Private Sub Cmd2_Click() очищает поля ввода и вывода и надпись с уравнением, а также активизирует поле ввода
Private Sub Cmd2_Click()
TxtT.Text = ""
TxtW.Text = ""
LblW.Caption = ""
TxtT.SetFocus
End Sub
‘Private Sub Option2_Click() делает видимой-невидимой картинку
Private Sub Option2_Click()
If Option2.Value = True Then Image1.Visible = False
End Sub
Private Sub Option1_Click()
If Option1.Value = True Then Image1.Visible = True
End Sub
Теория, краткое описания команд:
1) Линейный или простой
If условие Then операторы [Else операторы ]
Условный блочный
If условие1 Then
Блок операторов1
[ElseIf условие2 Then
блок операторов2
... ]
[Else
блок операторовn ]
End If
2) Select Case выражение выбора
Case список проверок1
Блок операторов1
[Case список проверок2
Блок операторов2
... ]
[Case Else
блок операторов ]
End Select
Элементы управления: Переключатель (OptionButton); Рисунок (Image).
Метод: SetFocus.
Процедуры-события: сброс данных; работа переключателя.
(Новые свойства приведены ниже в таблице, выделены жирным шрифтом).
Скриншоты:
Задание 3
Создания алгоритмов и программ циклической структуры
Программный код:
Private Sub Cmd1_Click()
Dim t As Double, w As Double
Const a As Double = 3, b As Double = 2
Dim min As Double, max As Double
Dim newline As String, space As String
newline = Chr(13) + Chr(10) ‘строка прокручивания
min = 1000: max = 0 ‘начальное значения мин\мах
Txt1.Text = " t " & " " & " w " & newline ‘начало цикла
t = Val(Txt2.Text)
Do While t <= Val(Txt3.Text)
If t < 0, 1 Then
w = Sqr(a * t ^ 2 + b * Sin(t) + 1)
Else If t = 0, 1 Then
w = Sqr(a * t + b)
Else
w = Sqr(a * t ^ 2 + b * Cos(t) + 1)
End If
‘наложение мин\мак
If min > w Then min = w
If max < w Then max = w
‘вывод значений на форму
If Chk1.Value = 1 Then
Txt1.Text = Txt1.Text & Format(t, "0.0") & " " & Format(w, "0.00") & newline
End If
‘изменение t
t = t + Val(Txt4.Text)
Loop
‘вывод мин\макс в окно сообщения
If Chk2.Value = 1 Then
MsgBox "min =" & Format(min, "0.00") & newline & _
"max=" & Format(max, "0.00"), vbOKCancel + vbInformation, "Сообщение"
End If
End Sub
‘кнопка сброс - очищает поля
Private Sub Cmd2_Click()
Txt1.Text = ""
Txt2.Text = ""
Lbl2.Caption = ""
Txt1.SetFocus
End Sub
‘кнопка выход - закрывает программу
Private Sub Cmd3_Click()
End
End Sub
Теория, краткое описания команд:
- цикла с известным числом повторений (For...Next);
- для создания итерационных циклов (Do...Loop, While...Wend);
- вывода по заданному формату (функция Format),
- элементами формы: Флажок (CheckBox); Рамка (Frame),
- свойства MultiLine, ScrolBars, TablIndex (новые свойства приведены ниже в таблице, выделены жирным шрифтом).
1) Оператор цикла с известным числом повторений For...Next повторяет выполнение группы операторов указанное число раз:
For счетчик = начало To конец [Step шаг]
Блок операторов
[Exit For]
[ блок операторов ]
Next [счетчик]
2) Оператор итерационный Do...Loop повторяет выполнение набора инструкций, пока условие имеет значение истина:
Do [{While | Until} условие]
Блок операторов
[Exit Do]
[ блок операторов ]
Loop[{While | Until} условие]
Скриншоты:
Задание 4