Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_ukazaniya.pdf
Скачиваний:
5
Добавлен:
15.11.2022
Размер:
1.26 Mб
Скачать

1.5 Функции управления процессом выполнения программ

1.5.1 Линейный вычислительный процесс (следование)

Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи, каждая операция является са- мостоятельной, независимой от каких-либо условий.

При мер вычис лен ия пло щади кр уга :

Sub s_kruga () ‘заголовок программы

Const pi as single = 3.1459

Dim r as single, s as single ‘объявление переменных

r = InputBox(“Введите радиус круга”)‘ввод радиуса с клавиатуры

S = pi * r ^ 2 ‘расчет площади круга

MsgBox (“S=” & S) ‘вывод результата в диалоговое окно

End Sub

1.5.2 Разветвляющийся вычислительный процесс (ветвление)

Обычно шаги алгоритма выполняются в том порядке, в котором они перечис- лены. Однако во многих алгоритмах последовательность шагов зависит от значений исходных данных, позволяющих выбрать ту или иную последовательность шагов.

Выбор нужной ветви алгоритма обычно производится по результату проверки некоторого условия. Шаг алгоритма, на котором выполняется проверка условия, на- зывается шагом выбора или шагом ветвления. Простейший вид шага выбора пред- ставляет собой проверку логического условия, т.е. условия, которое может быть ис- тинным или ложным.

Условный оператор If

Для организации ветвления используют оператор if. Синтаксис:

If условие then

инструкция-да

Else

инструкция-нет

End If

9

Здесь условие список, содержащий логические выражения вида a < b, a = b, a > b и т.п.; инструкция-да инструкция, которая будет выполнена, если условие верно; инструкция-нет инструкция, которая будет выполнена, если условие неверно.

При мер ве твлен ия с одн ой а л ьте рна ти во й :

If x >0 then

y = sqr(x)’код выполняется, если х > 0

End If

При мер ве твлен ия с д вумя ал ьте рна ти вам и :

If x <> 0 Then

y = Sin(x)/x ’код выполняется, если х ≠ 0

Else

y = 1 ’код выполняется, если х = 0

End IF

При мер ве твлен ия с тр емя а л ьтерна ти вам и :

If x > 0 then

MsgBox(“x — положительное число”)’код выполняется, если х > 0 Else

If x < 0 tnen

MsgBox(“x — отрицательное число”)’код выполняется, если х < 0 Else

MsgBox(“x =0”) ’код выполняется, если х = 0

End IF

End IF

Оператор выбора Select Case

Оператор выбора используется для реализации нескольких альтернативных вариантов действий, каждый из которых соответствует своим значениям параметра.

Условия проверяются последовательно до первого истинного. Если истинно сразу несколько условий, то выполняются только инструкции, относящиеся к пер- вому из них, а остальные условия даже не проверяются.

Синтаксис:

Select Case

<проверяемое выражение>

Case <значение, список значений, диапазон значений>

<инструкции>

10

...

<инструкции>

Case <значение, список значений, диапазон значений> <инструкции>

...

<инструкции> Case Else

<инструкции> End Select

При мер оп ера ци и выб ора :

Select Case x

Case Is < 0

y = a^2 + x ’код выполняется, если х < 0 Case 0

y = x + 5 ’код выполняется, если х = 0 Case Is > 0

y = x – 5 ’код выполняется, если х > 0 End Select

1.5.3 Циклический вычислительный процесс (цикл)

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

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

Цикл выполняет двоякую функцию:

выполнение одного и того же участка программы более одного раза;

передачу управления (под управлением понимается выполняемый в дан- ный момент элемент программы) “назадили вверх” (т.е. ближе к началу

программы).

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

11

счетные циклы, или циклы с заданным количеством повторений (про-

стые циклы). Количество повторений известно, цикл повторяется, пока переменная (параметр) цикла принимает значения в заданном диапазоне с определенным шагом;

циклы с неявно заданным числом повторений (условные циклы). Это та-

кие циклы, число повторений которых заранее не известно. Выход из них происходит при достижении определенного условия, а на каком шаге это произойдет, заранее сказать невозможно.

Любой цикл состоит из двух частей: условие цикла и тело цикла. У любого цикла есть параметр. Параметр цикла это переменная, которая изменяется в теле цикла, а также участвует в условии его окончания.

Простой цикл

Простой цикл реализуется с помощью оператора For.

Синтаксис оператора For:

For переменная = выражение1 To выражение2 [Step выражение3]

операторы

Next [переменная]

Здесь переменная параметр цикла; выражение1 — начальное значение па- раметра цикла; выражение2 конечное значение параметра цикла; выражение3 шаг изменения параметра цикла (при шаге, равном 1, его можно не задавать).

Переменная (параметр цикла) должна иметь числовой тип.

При мер вычисл ен ия с ум мы н атура л ьн ы х че тн ы х чисе л в диап азо не от 2 до 2 0 :

Sub summa ()

Dim n as byte, sum as byte

sum = 0

For n = 2 to 20 step 2

12

sum = sum + n

Next n

Sheets(“Лист1”).Cells(1,1) = sum

End Sub

В результате выполнения программы переменная sum примет значение 110.

Условные циклы

Условные циклы можно разделить на два вида: циклы с предусловием и цик- лы с постусловием.

Цикл с предусловием условие проверяется на входе в цикл, реализуется с помощью операторов Do While…Loop и Do Until…Loop.

Синтаксис цикла с оператором Do While…Loop:

Do While условие ‘цикл выполняется, пока условие истинно

операторы

Loop

Синтаксис цикла с оператором Do Until…Loop:

Do Until условие ‘цикл выполняется, пока условие ложно

операторы

Loop

При мер ци кла с п ред усл о вие м :

Dim

x As Integer

‘объявление переменной x

x =

0

‘начальное

значение переменной x

Do While x <= 10

‘проверка условия выполнения цикла

x

= x + 1

‘пока условие истинно, выполняется расчет x

Loop

 

‘возврат к

началу программы

MsgBox(Сумма чисел равна & x)’вывод результата расчета

В результате выполнения программы переменная x примет значение 11.

13

Цикл с постусловием условие проверяется на выходе из цикла, реализуется с помощью операторов Do…Loop While и Do…Loop Until.

Синтаксис цикла с оператором Do…Loop While:

Do

операторы

Loop While условие

Синтаксис цикла с оператором Do…Loop Until.

Do

операторы

Loop Until условие

При мер вычис лен ия с умм ы :

Dim

x As Integer

‘объявление переменной x

x =

0

‘начальное значение переменной x

Do

 

‘начало цикла

x

= x + 2

‘пока условие истинно, выполняется расчет x

Loop While x <= 10

‘проверка условия выполнения цикла

MsgBox(Сумма чисел равна & x) ’вывод результата расчета

В результате выполнения программы переменная x примет значение 12.

14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]