Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ИП 2010-04-04 doc.doc
Скачиваний:
108
Добавлен:
13.05.2015
Размер:
5.96 Mб
Скачать

2.4.2. Безусловный переход ‑ Goto

Команда Goto <метка>передает управление на оператор, который сле­ду­ет за указанной меткой. Чрезмерное использование этой команды приво­дит к запутыванию программы ‑ спагетти, поэтому чем меньше в программе безусловных переходов, тем лучше, так как проще программа (Goto M1 ... M1: a =b+ c 'помеченный меткой M1 оператор a=b+c)

2.4.3. Условный переход ‑ If, Iif

Имеются два вида оператора If ‑ однострочный и многострочный.

Однострочный вид оператора:

If <условие> Then [<операторы-1>] [Else <операторы-2>]

Если <условие> истинно, выполняются <операторы-1>, иначе ‑ выполняются <операторы-2>. Допускается вложенность команд If. В этом случае ближайший слева от Else оператор If относится к этому Else.

Пример. Нахождение наибольшего числа из двух чисел a, b.

IF A >= B Then Max=A Else Max=B

Пример. Вычисление знака числаX

If X> 0 Then Sign = 1 Else If X = 0 Then Sign= 0 Else Sign= ‑1

Многострочный вид оператора:

If <условие-1> Then

[<блок-1>]

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

[<блок-2>]]

...

[Else

[<блок>]]

End If

<блок> ‑ последовательность операторов.

Пример. Вычисление знака числа X.

If x> 0 then ‘значений переменной x больше нуля

sign = 1 ‘присвоение единички

Elseif x = 0 then ‘значений переменной x равно нулю

sign= 0 ‘присвоение нулевого значения

Else ‘значений переменной x меньше нуля

sign= ‑1 ‘присвоение минус единички

End if ‘окончание команды if

При формировании одного из двух значений удобно использовать функцию Iif (<условие>,<выражение-1>,<выражение-2>).

Функция возвращает значение первого выражения, если условие истинно, ина­че ‑ значение второго выражения. Ее удобно использовать в вы­ра­же­ни­ях, так как устраняется необходимость в формировании промежу­точ­ных выражений (Matpom=Iif(Oklad>1000,300,Iif(Oklad>500,400,600))).

2.4.4. Выбор варианта ‑ Select

Выполняет один из нескольких блоков операторов в зависимости от значения выражения.

Select Case <тест‑выражение> ‘любое выражение

Case <список_выражений-1>

[<блок_операторов-1>]

[Case <список_выражений-2>

[<блок_операторов-2>]]...

[Case Else

[<блок_операторов-n>]]

End Select

<список_выражений-i> ‑ одно или несколько выражений для сравнения с тест‑выражением. В выражении ключевое слово Is должно стоять перед любым знаком отношения. Аргументы списка выражений могут прини­мать любую из следующих форм или их комбинацию и должны разделять­ся запятыми:

<выражение>[, <выражение>]... (список значений)

<выражение> To <выражение> (диапазон значений от и до)

Is <оператор сравнения > <выражение> (условие)

<выражение>-любое числовое или строковое выражение, совмес­ти­мое с тест_выражением.

<оператор сравнения> - один из следующих знаков отношения:

<, <=, >, >=, <> или =.

Эта команда аналогична многостроковой команде If.

Пример

Input “Введите уровень риска (1-7) “, Total

Select Case Total

Case IS >= 6 ‘условие

PRINT “Максимальный риск”

Case 3 TO 5 ‘диапазон

PRINT “Высокий риск”

Case 1,2 ‘список значений

PRINT“Риск отсутствует”

End Select