Скачиваний:
109
Добавлен:
21.01.2014
Размер:
2.38 Mб
Скачать

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

Условные операторы позволяют осуществит “ветвление ” программы, т.е. передать управление по условию на ту либо иную “ветку” - это может быть фрагмент текста, процедура SUB или FUNCTION, подпрограмма GOSUB ... RETURN, либо даже другой модуль. Виды условных операторов BASIC.

IF

THEN

ELSE

Операторы

Выполняет условное ветвление операций, основанное на оценке логического выражения.

‘Блочная форма

IF логическое_выражение_1 THEN

[блок_операторов_1]

[ELSEIF логическое_выражение_2 THEN

[блок_операторов_2]

[ELSE

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

END IF

‘Линейная форма

IF логическое_выражение THEN блок_опер_1[ELSE блок_опер_2]]

  • логическое_выражение_1 - любое выражение, которое может быть оценено как

  • логическое_выражение_2 ‘истинное (не-ноль) или ложное (ноль);

  • блок_операторов_ 1 - один или несколько операторов, в одной или нескольких

  • блок_операторов_2] ‘строках;

  • блок операторов-n

  • блок_опер_1 - один или несколько операторов, разделенных двоеточиями.

  • блок_опер_2

  • В случае блочной формы:

  • QuickBASIC тестирует первое логическое выражение. Если оно не равно “0” (“истина”), выполняются операторы блока THEN, в противном случае QuickBASIC оценивает каждое условие ELSEIF. При выполнении такого условия выполняются операторы данного блока, иначе (все = “ложь”) -операторы блока ELSE.

  • Блоки ELSE и ELSEIF могут быть опущены.

  • Условий ELSEIF может быть любое количество.

  • Каждый из блоков может содержать вложеные блочные структуры IF.

  • Операторы IF, ELSE, ELSEIF и END IF должны быть первыми в строке.

  • Блок должен заканчиватся оператором END IF.

  • В случае линейной формы:

  • Структура считается линейной если после THEN есть операторы.

  • Линейная форма имеет смысл при проверке не более двух условий.

INPUT "1 или 2? ", i%

IF i% = 1 OR i% = 2 THEN

PRINT "OK"

ELSE

PRINT "Вне диапазона"

END IF

SELECT

END SELECT

Операторы

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

SELECT CASE выражение_выбора

[CASE список_выражений_1]

[блок_операторов _1]

[CASE список_выражений_2]]

[блок_операторов _2]

[CASE ELSE

[блок_операторов_n]]

END SELECT

  • выражение_выбора - любое числовое или символьное выражение;

  • список_выражений - одно или более выражений такого же типа, как и выражение_выбора. Ключевое слово IS должно стоять перед любыми знаком отношения. Аргументы списка выражений могут могут принимать любую из следующих форм или их комбинацию, и должны разделяться запятыми:

  1. выражение [,выражение]...

  2. выражение TO выражение

  3. IS выражение с операцией

  • выражение - любое числовое или символьное выражение, такого же типа, как и выражение_выбора

  • операция - любая из следующих операций: <, <=, >, >=, <> или =;

  • блок_операторов - один или несколько операторов в одной или нескольких строках.

  • Если выражение_выбора отвечает условиям списка_выражений данного блока CASE, выполняются операторы из этого блока. После чего управление передается оператору, следующему за END SELECT.

  • При использовании для определения пределов выражения ключевого слова ТО меньшее значение должно быть первым.

  • Операции сравнения можно использовать только с ключевым словом IS.

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

  • Если выражение_выбора удовлетворяет нескольким условиям CASE, выполняется блок операторов, идущий первым.

  • Блоки SELECT CASE могут быть вложенными. Каждый блок должен иметь завершение END SELECT.

INPUT "Введите ответ (1-10): ", Otvet

SELECT CASE Otvet

CASE IS > 10

PRINT "Вы ошиблись при вводе"

CASE 2 TO 4, 7

PRINT "Ответ содержит лишь 40% верной информации"

CASE 8

PRINT " Ответ содержит 75% верной информации "

CASE 5

PRINT "Верный ответ"

СASE ELSE

PRINT "Неверный ответ"

END SELECT