Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ЛАБОРАТОРНАЯ РАБОТА №2
Тема: «Редактор VBA. Условный оператор. Подпрограммы»
Цель работы.
• Изучить основы компьютерной логики;
• Получить навыки использования вспомогательных подпрограмм;
• Познакомиться с алгоритмом «ветвление» и условным оператором If … Then … Else;
Задание к работе:
К работе допущен:
Работу выполнил:
Работу защитил :
Теоретическое введение
Как правило, алгоритмы обработки информации и реализующие их программы содержат проверки каких-либо условий, от которых зависит последующее действие. Для этого предназначен условный оператор, который имеет вид (рис. 2).
If условие Then инструкция 1 Else инструкция2 (если) (истинно) (то) (иначе) |
Рис. 2. Общий формат условного оператора
Этим оператором реализуется алгоритм типа «ветвление». Работает условный оператор следующим образом:
1) проверяется условие;
2) если условие истинно, то исполняется инструкция 1;
3) если условие ложно, то исполняется инструкция 2.
В инструкциях, помещаемых в ветви Then или Else, обычно фи-гурируют выполняемые операторы. Ветвь Else может отсутствовать. В качестве условия может быть использовано любое логическое выражение со знаком > (больше), < (меньше), = (равно), > = (больше либо равно), < = (меньше либо равно), <> (не равно).
В каждой ветви может быть как один оператор, так и блок опе-раторов, разделённых при линейной (строчной) записи двоеточием. Приведенный выше формат является форматом строчного условного оператора. Этот оператор удобно использовать в случае, когда в каждой ветви помещается по одному оператору. Иначе необходимо будет организовать перенос (через пробел знаком «подчерк») единой логически строки записи на вторую или несколько строк текста программы.
При помещении в ветви нескольких операторов удобнее (и это придаёт больше наглядности) использовать блочный условный оператор, имеющий следующий формат (рис. 3):
If условие Then блок инструкций Else блок инструкций End If |
Рис. 3. Формат блочного условного оператора
Начало (заголовок) блочного условного оператора (служебные слова If, Then и условие между ними), а также служебное слово Else и обозначение конца оператора End If помещаются в отдельные строки.
При включении в блок инструкций нескольких операторов можно размещать их по два или три и более, если они короткие, в од-ной или нескольких строках, разделяя внутри строки двоеточиями. Для наглядности связи рекомендуется помещать слово Else под соответствующим словом Then.
Допускается вложенность условного оператора в другой условный оператор (в любую ветвь внешнего условного оператора; обычно в ветвь Else), когда требуется дополнительное ветвление.
Практическая часть.
(Программа «выбор максимального числа из двух чисел с помощью структурированной программы, состоящей из главной и вспомогательной подпрограмм»)
Private Sub userform1(ByVal x As Integer, ByVal b As Integer, ByRef c As Integer)
(вспомогательная подпрограмма)
If a > b Then
a = b
Else
If a < b Then ''
c = b
(Оператор ветвления If … Then … Else)
Else 'Блок из 2х операторов
MsgBox "числа равные": c = a
End If
End If
End Sub
Private Sub CommandButton1_Click()
Dim a As Integer, b As Integer, c As Integer, max2 As Integer, max3 As Integer
(инструкция задания переменных и их типа)
a = CInt(TextBox1.Text)
b = CInt(TextBox2.Text)
c = CInt(TextBox3.Text)
(Операторы присваивания целочисленным переменным значений)
UserForm a, b, max3 'вызов
TextBox3.Text = max3
(вывод значения целочисленной переменной max3 в текстовое поле)
End Sub
Форма программы(рис.1)
Рис.1
(После запуска программы появляется следующая форма, в которой имеется Textbox1, Textbox2, Textbox3, Textbox4 и один CommandButton. В Textbox1, Textbox2, Textbox3 вводим целочисленные значения, после чего активируем CommandButton и наибольшее из трёх чисел выводится в Textbox4.)
Задача для нахождения решения квадратного уравнения.
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
Dim D As Single, x1 As Single, x2 As Single
re:
a = Val(InputBox("Введите а"))
If a = 0 Then
MsgBox "а не должно быть равно 0"
GoTo re
End If
b = Val(InputBox("Введите b"))
c = Val(InputBox("Введите c"))
D = b ^ 2 - 4 * a * c
If D < 0 Then
MsgBox "уравнение действительных корней не имеет"
Else
If D = 0 Then
MsgBox "уравнение имеет 2 равных действительных корня x1=x2=" & -b / (2 * a)
Else
MsgBox "уравнение имеет 2 разных действительных корня" & vbCrLf & _
"x1= " & (-b + Sqr(D)) / (2 * a) & _
vbCrLf & " x1=" & (-b - Sqr(D)) / (2 * a)
End If
End If
End Sub
(Подставляем коэффициенты в Textbox, активируем Commandbutton получаем корни )
ВЫВОДЫ:
Проделав данную лабораторную работу, мы научились составлять алгоритм, эскиз и программный код для решения задач.