Информатика |
Глава 10. Описание языка Basic | назад оглавление вперед |
10.4. Основные операторы Basic
10.4.1. Оператор присваивания.
Оператор присваивания служит для присваивания переменной значения арифметического выражения и имеет следующий формат:
LET v = ар. выр.
(LET можно опустить), где v — переменная, которой присваивается значение.
При выполнении оператора присваивания вычисляется выражение в правой части и присваивается переменной в левой части v.
Примеры
L=8
Р==Р+1
При употреблении оператора присваивания необходимо следить за тем, чтобы к моменту его выполнения переменные, входящие в выражение правой части, были определены (имели числовые значения).
10.4.2. Оператор безусловного перехода
Формат оператора
GO ТО N
где N —
номер строки.
Этот оператор передает
управление первому оператору в строке с номером N.
Оператор GО ТО используется, в частности, при организации разветвлений для того, чтобы обойти операторы второй ветви, если выполнена первая.
Условные операторы служат для изменения порядка выполнения операторов в зависимости от какого-либо условия. Существуют два формата условного оператора.
Первый формат условного оператора:
IF условие
ТНЕN
блок_операторов_1
ELSE
блок_операторов_2
END IF
где:
условие - любое
выражение, значением которого является true (не нуль) или false (нуль);
блок_операторов_1, блок_операторов_2 – один или более операторов, записанных на одной или более строк.
Действие такого условного оператора заключается в следующем: если условие истинно, то выполняется первый блок операторов, после чего осуществляется переход к оператору, следующему за условным оператором. Если условие ложно, то выполняется второй блок операторов, после чего осуществляется переход к оператору, следующему за условным оператором.
Второй формат условного оператора:
IF условие ТНЕN операторы
где:
условие - любое
выражение, значением которого является true (не нуль) или false (нуль);
операторы – один или более операторов, записанных на одной строке и разделенных двоеточиями.
Пример 10.2. Составить программу табулирования функции у==х ln х на отрезке [2; 3] с шагом 0, 1 (см. программу 10.2).
Программа 10.2
Х=2
10 Y=X*LOG
(X)
PRINT X, Y
Х=Х+.1
IF X<=3 GO TO 10
END
2 |
1.3862 |
2.1 |
1.55807 |
2.2 |
1.73461 |
2.3 |
1.91569 |
2.4 |
2.10112 |
2.5 |
2.29073 |
2.6 |
2.48433 |
2.7 |
2.68178 |
2.8 |
2.88293 |
2.9 |
3.08766 |
3 |
3.29583 |
В приведенной
программе условный оператор используется для организации цикла. Если условие
ХЗ выполняется, то осуществляется
возврат в начало цикла к строке 10 для вычисления и печати значения функции
в очередной точке.
Пример 10.3. Составить программу для вычисления площади круга или площади квадрата в зависимости от введенного признака (см. программу 10.3).
Программа 10.3
INPUT
X, M
IF M<0 THEN
S=X*X
PRINT"ПЛОШАДЬ КВАДРАТА";S
ELSE
S=PI*X*X
PRINT "ПЛОЩАДЬ КРУГА";S
END FI
END
Приведенная
программа в зависимости от введенного значения М вычисляет площадь квадрата
со стороной Х или площадь круга с радиусом X. Если М<0, то вычисляется и
выводится площадь квадрата с помощью операторов, следующих за THEN. Если МО,
то операторы, следующие за ТНЕN, не выполняются, а вычисляется и выводится площадь
круга с помощью операторов, следующих за ELSE.
Цикл является типичной структурой алгоритмов, реализуемых на ЭВМ. Для организации циклов в алгоритмических языках предусмотрены специальные операторы. В языке BASIC имеется несколько различных операторов цикла.
Оператор FOR — NЕXТ. Формат оператора:
FOR I = A1 TO A2 STEP A3
операторы
NEXT i
где:
i — любая неиндексированная переменная — управляющая переменная цикла;
A1, A2, A3 — начальное и конечное значения и шаг изменения управляющей переменной цикла — любые арифметические выражения.
Если Аз=1, то конструкцию STEP A3 можно опустить. Операторы, расположенные между операторами FOR и NEXT, образуют тело цикла и выполняются многократно.
Выполнение
цикла, образованного операторами FOR — NЕХТ, заключается в следующем: переменной
i присваивается начальное значение А1, и она сравнивается с конечным
значением А2. Если при положительном шаге Аз удовлетворяется условие
А1Аз или при
отрицательном шаге Аз удовлетворяется условие А1
А2,
то выполняются операторы, расположенные между операторами FOR и NЕXТ, и по оператору
NЕXТ осуществляется возврат к началу цикла.
Значение i изменяется на шаг Аз, т. е. i=i+Аз, и снова проверяется условие. Если условие удовлетворяется, то тело цикла выполняется повторно. В противном случае происходит выход из цикла и переход к оператору, следующему за NЕХТ. Так как первая проверка условия выхода из цикла осуществляется до первого выполнения тела цикла, то возможна ситуация, когда тело цикла не будет выполнено ни разу.
Пример 10.4. Составить программу для вычисления квадратов четных чисел от 2 до 10 (см. программу 10.4).
Программа 10.4
FOR J=2
ТО 10 SТЕР 2
PRINT J, J*J
NEXT J
END
Оператор DO - LOOP. Оператор имеет четыре формата:
Первый формат оператора:
DO WHILE
условие
операторы
LOOP
где:
условие - любое
выражение, значением которого является true (не нуль) или false (нуль);
операторы –
один или более операторов, записанных на одной строке или нескольких строках
(тело цикла).
Оператор цикла повторяет выполнение операторов, составляющих тело цикла, пока условие, записанное после слова WHILE истинно.
Пример 10.5.. Составить программу для вычисления квадратов четных чисел от 2 до 10 (см. программу 10.5).
Программа 10.5
J=2
DO WHILE J<=10
PRINT
J, J*J
J=J+2
LOOP
END
Второй формат оператора:
DO UNTIL
условие
операторы
LOOP
где:
условие - любое
выражение, значением которого является true (не нуль) или false (нуль);
операторы –
один или более операторов, записанных на одной строке или нескольких строках
(тело цикла).
Оператор цикла повторяет выполнение операторов, составляющих тело цикла, пока условие, записанное после слова UNTIL не станет истинным.
Пример 10.6. Составить программу для вычисления квадратов четных чисел от 2 до 10 (см. программу 10.6).
Программа 10.6
J=2
DO UNTIL J > 10
PRINT J, J*J
J=J+2
LOOP
END
Третий формат оператора:
DO
операторы
LOOP WHILE
условие
где:
условие - любое
выражение, значением которого является true (не нуль) или false (нуль);
операторы –
один или более операторов, записанных на одной строке или нескольких строках
(тело цикла).
Оператор цикла повторяет выполнение операторов, составляющих тело цикла, пока условие, записанное после слова WHILE истинно.
Пример 10.7. Составить программу для вычисления квадратов четных чисел от 2 до 10 (см. программу 10.7).
Программа 10.7
J=2
DO
PRINT J, J*J
J=J+2
LOOP WHILE
J <= 10
END
Четвертый формат оператора:
DO
операторы
LOOP UNTIL
условие
где:
условие - любое выражение, значением которого является true (не нуль)
или false (нуль);
операторы –
один или более операторов, записанных на одной строке или нескольких строках
(тело цикла).
Оператор цикла повторяет выполнение операторов, составляющих тело цикла, пока условие, записанное после слова UNTIL не станет истинным.
Пример 10.8. Составить программу для вычисления квадратов четных чисел от 2 до 10 (см. программу 10.8).
Программа 10.8
J=2
DO
PRINT J, J*J
J=J+2
LOOP UNTIL
J > 10
END
Для облегчения восприятия и большей наглядности программы в нее целесообразно включать комментарии, которые поясняют работу отдельных частей программы, характеризуют используемые переменные и т. д.
Для записи комментариев используется оператор REMARK (или сокращенно RЕМ). В этом операторе за служебным словом RЕМ могут быть записаны любые символы Basic. Все, что записано за словом RЕМ до конца строки, воспринимается как комментарий и при выполнении программы игнорируется. Вместо слова можно использовать символ ‘ (апостроф). В качестве примера дополним комментариями приведенную выше программу 10.2.
Программа 10.9
REM ПРОГРАММА
ТАБУЛИРОВАНИЯ ФУНКЦИИ Y=X*LOG (X)
Х=2
‘ НАЧАЛО ЦИКЛА ПО Х
10 Y=X*LOG
(X)
PRINT X, Y
Х=Х+.1
IF X<=3 GO TO 10 ‘ КОНЕЦ ЦИКЛА
END
Включение операторов RЕМ в программу никак не влияет на ее выполнение, так что программа 10.9 будет выполняться точно так же, как программа 10.2.
Оператор SТОР прекращает выполнение программы. При этом на экране появляется текст программы с подсвеченным оператором SТОР.
Останов программы позволяет распечатать значения переменных, т.е. оператор SТОР является удобным средством для отладки программы.
Выполнение программы может быть продолжено нажатием клавиши F5.
Допускается использование в программе нескольких операторов SТОР. Использование оператора SТОР не является обязательным в Basic. Если оператор SТОР отсутствует, то выполнение программы продолжается до ее естественного завершения, т. е. до выполнения операторов, расположенных в строке с наибольшим номером.
Оператор END указывает на физический конец программы. При выполнении оператора ЕND закрываются все открытые файлы и останавливается выполнение программы. Никакого сообщения на экран при этом не выводится.