Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР(информатика) / Бейсик (курс 'Информатика') №6.doc
Скачиваний:
13
Добавлен:
14.03.2016
Размер:
523.78 Кб
Скачать

2. Операторы управления

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

Оператор безусловного перехода. Оператор вида:

GOTO метка_оператора

вынуждает программу выполнять не следующий по порядку оператор, а опера­тор с указанной меткой. Например, оператор GOTO 25 читается как “Идти к оператору с меткой 25” и передает управление оператору с меткой 25.

В некоторых версиях Бейсика все операторы в программе нумеруются. В QBasic, однако, сплошная нумерация не обязательна, хотя и возможна. Здесь для организации ссылок используются метки (в частном случае это могут быть и номера операторов), которые расставляются слева от тех операторов, на которые есть ссылки. Метками могут быть любые целые числа, идущие в произвольном порядке (не обязательно по возрастанию). Важно только, чтобы они не повторялись.

Оператор анализа условий. Если переход, или какое то другое действие должно быть выполнено в зависимости от некоторых условий, то используется оператор IF. Его формат:

IF логическое_условие THEN оператор1 ELSE оператор2

Здесь, если заданное условие истинно, выполняется оператор1, если нет – оператор2. Например, оператор

IF a>b THEN ? "А больше В"ELSE ? "А не больше В"

выводит сообщение о фактическом соотношении переменных A и В.

Фраза ELSE необязательна, т.е. возможен и такой формат

IF логическое_условие THEN оператор

Например, следующий оператор читается: “Если X>Z, напечатать Y, иначе идти к следующему оператору (непосредственно под оператором IF)”.

IF x>z THEN ?Y

нет

Н

да

апример

IF a>=b-2 THEN GOTO 40 читается так:

нет

Если AB–2, то идти к оператору 40, иначе – к опе­ратору, стоящему ниже ”.

Если требуется осуществить только переход слово THEN можно опустить

IF логическое_условие GOTO метка

Другой пример. На практике иногда приходится выяснять, четное число (например, X) или нечетное. Это можно сделать с помощью любого из следующих выражений

IF FIX(x/2)=x/2 THEN "X – четное" ELSE "X – нечетное"

IF x MOD 2=0 THEN "X – четное" ELSE "X – нечетное"

Структурный оператор анализа условий. Здесь уместно напомнить, что всюду, где в синтаксисе команд встречается слово оператор, может быть записано несколько операторов, разделен­ных двоеточием. Однако этого может оказаться недостаточно – внутрь выражений THEN/ELSE может потребоваться включить много действий и даже целые процессы. В этом случае используется структурный оператор, позволяющий формировать условия, включающие любое число строк программы.

Вид оператора:

IF логическое_условие THEN

операторы1

ELSE

операторы2

END IF

Здесь если логическое условие истинно, выполняются операторы1, если нет – операторы2. Присутствие фразы ELSE и следующих за ней операторов2 необязательно.

Для примера используем предыдущую задачу о сравнении двух чисел A и В.

IF a>b THEN

? "А больше В"

ELSE

? "А не больше В "

END IF

Замечание к нотации. Для придания более наглядного вида программе удобно использовать отступы при вводе “подчиненных” операторов в структурах IF, FOR и других, как показано выше. В данном случае подчиненными операторами по отношению к структуре IF являются операторы печати.

Блок-схема. При разработке алгоритма программы сначала удобно построить его графическое представление – блок-схему. В блок-схеме отдельные операции или группы операций помещаются в прямоугольные блоки. Операции анализа (операторы IF) отображаются ромбами, имеющими два выхода. Выход ДА, соответствует истинному значению, анализируемого условия, НЕТ – ложному. Обычно, блок-схемы обрамляют блоки НАЧАЛО и КОНЕЦ. Мы будем изображать последние только в случае, если возможно разночтение.