- •Техника программирования на алгоритмическом языке бейсик
- •Операторы языка
- •Операторы управления
- •Организация ветвлений
- •Input “Укажите х”, X
- •2 Print y
- •Input X
- •Input a,b,c
- •Организация циклов
- •Программа к задаче 9
- •Input "Введите числа X и y", X, y
- •Input X
- •Input X
- •Работа с массивами
- •Input "Введите число вкладчиков и процент ",n,p
- •Input X(I,j)
- •Input n
Операторы управления
В программе принят естественный порядок выполнения операторов – в той последовательности, в которой они записаны. В случае если этот порядок должен быть нарушен, используются операторы перехода.
Оператор безусловного перехода. Оператор вида:
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 THEN ”X – четное” ELSE ” X – нечетное ”
Структурный оператор анализа условий. Здесь уместно напомнить, что всюду, где в синтаксисе команд встречается слово оператор, может быть записано несколько операторов, разделенных двоеточием. Однако этого может оказаться недостаточно – внутрь выражений 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) отображаются ромбами, имеющими два выхода. Выход ДА, соответствует истинному значению, анализируемого условия, НЕТ – ложному. Обычно, блок-схемы обрамляют блоки НАЧАЛО и КОНЕЦ. Мы будем изображать последние только в случае, если возможно разночтение.