Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование.doc
Скачиваний:
70
Добавлен:
24.11.2018
Размер:
1.15 Mб
Скачать

3.3 Программирование алгоритмов разветвленной структуры

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

Операторы условного перехода используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с усло­виями, существующими на момент выполнения этих операторов. Одним из важных элементов программного оператора выбора является выражение условия, значением которого может быть истина (True) или ложь (False).

1) Общая форма оператора условного перехода такова:

If Условие Then Оператор_1 Else Оператор_2

Оператор_1 выполняется в том случае, если Условие истинно, в про­тивном случае выполняется Оператор_2.

2) Последовательность вычислений, выбранная по условию, может задаваться не одним, а несколькими операторами. При этом условный оператор имеет блочную структуру:

If Условие Then

Блок_операторов_1

Else

Блок_операторов_2

End If

Блок_операторов_1 выполняется в том случае, если Условие истинно, в противном случае выполняется Блок_операторов_2.

3) В условном операторе может проверяться несколько условий, тогда он имеет вид:

If Условие_1 Then

Блок_операторов_1

ElseIf Условие_2 Then

Блок_операторов_2

ElseIf Условие_3 Then

. . .

Else

Блок_операторов_по_умолчанию

End If

Если истинно Условие_N, выполняется Блок_операторов_N, если же все условия ложны, выполняется последний Блок_операто­ров по умолчанию.

4) В случае, когда ветвь Else является необязательной, условный оператор может быть записан в краткой форме:

If Условие Then

Блок_операторов_1

End If

Выражения-условия записы­ваются с помощью операций отношения. Отношение — это два выражения, разделенных между собой знаком операции отношения (>, <, =, <>, <=, >=). Отношение является простейшей конструкцией логического выражения. Оно вычисляет результат - истина, если выполняется заданное соотношение, и ложь - в противном случае.

Логические операции: NOT («не» - отрицание), AND («и» - логическое умножение), OR («или» - логическое сложение).

Приоритет выполнения операций при вычислении логических выражений следующий: 1) NOT; 2) AND; 3) OR.

Например, если значение переменной X принадлежит некоторому интервалу значений от а до b, то переменной Y будет присвоено значение 1, иначе переменной Y будет присвоено значение 0.

If (X>=a) and (X<=b) Then

Y=1

Else

Y=0

End If

В пункте 2.6.2 были построены математические модели и блок-схемы алгоритмов разветвлённой структуры. Рассмотрим примеры программ, где алгоритм решения является разветвлённым.

Листинг 3. Вычисление заработной платы за неделю

Sub Пример3()

Dim t, zp As Single

Dim k As Integer

k=InputBox("Введите количество отработанных часов","Окно ввода")

t = InputBox("Введите стоимость одного часа", "Окно ввода")

If k >= 40 Then

zp = 40 * t + (k - 40) * 2 * t

Else

zp = 40 * t

End If

Debug.Print "Заработная плата за неделю = "; Round(zp, 2); "руб."

End Sub

Листинг 4. Исключение неопределенности функции.

Фрагмент программы примера 4 без описания переменных и оператора ввода:

……………………………

t = a * x - b

p = 2.5 * b * x

If p = 0 Then

Debug.Print "Y не определена"

Else

If t <= 0 Then

Debug.Print "Y не определена"

Else

y = (Log(t) + c) / p

Debug.Print "y="; Round(y, 3)

End If

End If

……………………………