Лекция: If <условие 1>Then

[<операторы 1>]

.. .

[ElseIf<условие n>Then

[<операторы n> ]…

[Else]

[<ИначеОператоры>]]

End If.


Порядок выполнения: вычисляется значение <условие>. Оно может принимать значения TRUE (Истина)или FALSE (Ложь). Если <условие> принимает значение TRUE, то выполняются [<операторы 1>] (операторы ветки Then), в противном случае — [<операторы 2>] (операторы ветки Else).

Изображение в блок – схеме:

Пример. Определить вид введенного числа – положительное, отрицательное или ноль.

Public Sub prog2() Dim x As Double Dim s As String x=Worksheets(1).Range(«A1»)     If x > 0 Then s = «положительное» ElseIf x = 0 Then s = «ноль» Else s = «отрицательное» End If     Worksheets(1).Range(«C2»)=s End Sub     Описание переменной строкового типа Ввод значения переменной х. Значение располагается на Листе1 (Worksheets(1)) в ячейке А1 (Range («A1»)). Условный оператор. Если условие принимает значение True (Истина), то выполняется оператор присваивания ветки Then (s=”положительное”) и завершается условный оператор, в противном случае проверяется второе условие: x=0. Если условие True, то s присваивается значение “нуль”, иначе – “отрицательное”.     Вывод результата–s–на лист1 в ячейку С2.


Рисунок 7 — Блок-схема программы prog2

2.3 Оператор цикла с параметром (For…Next)

Оператор цикла For позволяет повторять группу операторов заданное число раз.

Синтаксис: For <счётчик_цикла> =<начало> To <конец> [Step <шаг>]

<тело цикла>

[Exit For]

.. .

Next [<счётчик_цикла>],

где <счётчик_цикла>— числовая переменная;

<начало> — начальное значение (выражение) переменной <счётчик_цикла>;

<конец> — заключительное значение (выражение) переменной <счётчик_цикла>;

<тело цикла>- это последовательность операторов, которая будет выполнена заданное число раз.

Порядок выполнения: переменной <счётчик_цикла>присваивается значение<начало>и проверяется условие: <начало>£ <конец>; если условие неверно, то <тело цикла>не выполняется и управление передается на оператор, следующий за Next. Если же условие выполняется, то выполняется <тело цикла>, затем значение <счётчик_цикла>изменяется на значение <шаг> (увеличится в случае положительного значения <шаг>, и уменьшается при отрицательном значении <шаг>). Данный процесс будет выполняться, пока значение <счётчик_цикла>не достигнет значения <конец> (если шаг положителен, цикл завершится, когда впервые выполнится условие:<счетчик_цикла><конец>.Если шаг цикла отрицателен, условие его завершения: <счетчик_цикла><конец>). Досрочно завершить цикл For…Next можно и с помощью оператора Exit For. Такие операторы могут быть расположены в тех местах тела цикла, где требуется из него выйти, не дожидаясь выполнения условия завершения.

 
 

Пример. Вычислить n-ый член последовательности, заданной формулой, если .

Public Sub prog3() Dim n As Byte Dim an As Integer,a1 As Integer, a2 As Integer n=CByte(InputBox(«n =»))     a1 = 1: a2 = 1     For i = 3 To n   an = a1 + a2   a1 = a2: a2 = an   Next i MsgBox an End Sub   Описание переменной типа Byte     Ввод значения переменной n (номера элемента последовательности) через окно ввода и преобразование введенного значения к типу Byte Присваивание начальных значений переменным а1 и а2 (двоеточием разделяются операторы, записанные на одной строке) Организация цикла For…Next, в котором счетчик i изменяется от 3 до n с шагом 1 Вычисление следующего члена последовательности как сумму двух предыдущих членов последовательности Изменение последнего и предпоследнего значений последовательности на данный момент Увеличение счетчика на 1 (конец тела цикла)    

 


Рисунок 8 — Блок-схема программы prog3

2.4 Циклы с предусловием и постусловием

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

Циклы с предусловием (Do While…Loop, While…Wend, Do Until…Loop) представлены в таблице 13, а операторы циклов с постусловием (Do…Loop While, Do…Loop Until) — в таблице 14.

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

Таблица 13

Синтаксис Do While <условие> <тело цикла> [Exit Do] … Loop While <условие> <тело цикла> Wend   Do Unlil <условие> <тело цикла> [Exit Do] … Loop
Порядок выполнения <Тело цикла> будет выполняться в том случае, когда <условие> имеет значение истина (TRUE) (цикл продолжается при истинном значении <условия>). Если <условие> ложно (FALSE), то выполняются операторы, стоящие за циклом. В первом случае есть возможность досрочного выхода из цикла (это реализовано через Exit Do) <Тело цикла> выполняется до тех пор, пока <условие> не примет значение истина (цикл продолжается при ложном значении <условия>). Есть возможность досрочного выхода из цикла (это реализовано через Exit Do)
Изображение в блок-схемах

Таблица 14

Синтаксис Do <тело цикла> [Exit Do] … Loop While <условие> Do <тело цикла> [Exit Do] … Loop Until <условие>

 

Порядок выполнения <Тело цикла> будет выполняться в том случае, когда <условие> имеет значение истина (цикл продолжается при истинном значении <условия>). Если <условие> ложно, то выполняются операторы, стоящие за циклом. Предоставлена возможность досрочного выхода из цикла (это реализовано через Exit Do) <Тело цикла> выполняется до тех пор, пока <условие> не примет значение истина (цикл продолжается при ложном значении <условия>). Есть возможность досрочного выхода из цикла (это реализовано через Exit Do)

 

Окончание таблицы 14

Изображение в блок-схемах

Пример. Организовать ввод последовательности целых чисел, пока их сумма не превысит целого числа m. Вывести количество введенных чисел.

Public Sub prog4() Dim x As Integer, m As Integer Dim s As Integer Dim i As Integer m=InputBox(«Введите число m») i = 1 s =InputBox(«Введите 1 число») Do While s <= m     i = i + 1 x=InputBox(«Введите » & i & «число») s = s + x   Loop MsgBox («Количество чисел » & i) End Sub Ввод предельного числа Номер вводимого числа последовательности Ввод первого числа последовательности   Цикл с предусловием: тело цикла выполня- ется пока условие s<=m имеет значение Истина (TRUE) Тело цикла: увеличение номера на 1; ввод очередного (i-го) значения; добавление введенного значения к преды- дущему значению суммы Конец тела цикла Вывод значения переменной i  

 

 

Рисунок 9. Лист 1 — Блок-схема программы prog4

 
 

еще рефераты
Еще работы по информатике