Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
10.04.2015
Размер:
2.15 Mб
Скачать

2.3. Дополнительное задание

Составить алгоритм и программу решения системы двух уравнений методом подстановки при произвольных коэффициентах a, b, u, c, d, v:

Ввод коэффициентов произвести с помощью оператора InputBox, вывод результатов – на рабочий листExcel.

Выполнить проверку полученных результатов.

Лабораторная работа 3

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ. ПРОСТОЕ ВЕТВЛЕНИЕ

Цель работы: изучение особенностей разработки алгоритмов с разветвляющейся структурой и их реализации с помощью операторов условного перехода.

3.1. Краткие теоретические сведения

Для записи разветвляющихся алгоритмов используется оператор If, он имеет две формы записи:

однострочную:

If условие Then [оператор1] [Else оператор2];

многострочную:

If условие-1 Then [ оператор1]

[ElseIf условие-2 Then [оператор2] ...

[Else [оператор3]]

End If

В условии записывается логическое выражение, в котором используются операции сравнения. Для создания сложных условий применяются логические операции and (и) и or (или).

Пример. Вычислить значение функции при любых значенияхa и b. На первый взгляд решение этой задачи можно описать алгоритмом линейной структуры, однако при условии ab = 0 задача не может быть решена, так как деление на ноль невозможно. Для корректного решения задачи необходимо предусмотреть вывод сообщения, если вычисление y невозможно. В этом случае вычислительный процесс можно описать следующим образом: вычислить y, если ab ≠ 0, или вывести сообщение, если ab = 0.

ВГСА решения этой задачи (рис. 3.1) используется блок проверки условия, имеющий один вход и два выхода по выполнению проверяемого условия – «Да» и «Нет» (в данном примере – это блок 2, в котором проверяется условиеab = 0). В зависимости от результата проверки условия возможны два пути продолжения решения задачи. Каждый из путей называется ветвью, а алгоритм – разветвляющимся.

Как и во всех разветвляющихся алгоритмах в данном примере нарушается ес-тественный порядок следования блоков. Так, за блоком 2 может выполняться блок 3, образуя ветвь 1, или блок 5, образуя ветвь 2; за блоком 4 всегда выполняется блок 6.

Любое изменение естественной (линейной) последовательности выполнения блоков называется переходом. Переходы бывают двух типов: условные и безусловные. Условный переход реализуются с помощью оператора условия (условного оператора).

Для рассматриваемого примера оператор условия для блочной структуры можно записать в виде:

Программный код

Sub V ( )

Dim a As Single, b As Single, y As Single

a=Val(InputBox("a ="))

b=Val(InputBox("b ="))

If a*b=0 Then

MsgBox ("ab=0")

Else y=1/ (a*b)

MsgBox ("y="& y)

End If

End Sub

Если условие выполняется, т. е. ab = 0, то в окне вывода на экран монитора оператором MsgBox выводится сообщение "ab=0", в противном случае, когда ab ≠ 0, вычисляется значение y по формуле y=1/(a*b), которое выводится в стандартном окне вывода.

Вариант программы с линейной формой записи оператора:

Программный код

Option Explicit

Sub V ( )

Dim a As Single, b As Single, y As Single

a=Val(InputBox("a="))

b=Val(InputBox("b="))

IF a*b=0 Then MsgBox("ab=0") Else y=1/(a*b): MsgBox ("y="& y)

End Sub

Соседние файлы в папке Лаб. работы по VBA