Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕХНИКА ПРОГРАММИРОВАНИЯ НА Basic.docx
Скачиваний:
15
Добавлен:
20.04.2015
Размер:
93.04 Кб
Скачать

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

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

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

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

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

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

Оператор анализа условий имеет две разновидности:

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

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

Здесь, если заданное условие истинно, выполняется указанный оператор (в первом случае), или производится переход к оператору с указанной меткой (во втором). Если условие ложно, выполняется оператор, следующий непос­редственно за оператором IF. Например, оператор

IF a>=b–2 GOTO 40

нет

читается: “Если A>=B–2 , то идти к оператору 40, если нет – к опе­ратору, записанному ниже (непосредственно под оператором IF)”. А

IF x>z THEN ?Y читается так:

нет

Если X>Z, тогда напечатать Y, иначе идти к следующему оператору”.

После фразы THEN (тогда) может быть использовано ключевое слово ELSE (иначе):

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

Здесь, если условие истинно, выполняется оператор1, следующий после слова THEN, иначе оператор2, следующий после слова ELSE.

Например, оператор

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

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

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

IF FIX(x/2)=x/2 THENX – четное” ELSEX – нечетное ”

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

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

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

операторы1

[ELSE

операторы2]

END IF

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

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

IF a>b THEN

?”А больше В”

ELSE

?”В больше А”

END IF

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

Оператор завершения END (“конец”) завершает выполнение программы. Он может находиться в любом месте программы. Таких операторов может быть несколько в случае, если предполагается завершение программы не только в ее конце. Присутствие END в конце программы необязательно, поскольку после выполнения последнего оператора, она все равно заканчивается.

Комментарии. Написанная программа спустя некоторое время даже автору кажется малопонятным набором символов. Для облег­чения понимания программы в нее вставляются комментарии – тексты, поясняющие суть процессов и не влияющие на ее исполнение. Такие тексты должны начинаться со знака апостроф – '.

Оператор очистки CLS освобождает экран от информации и устанавливает курсор в его левый верхний угол.

CLS

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