Информатика
Глава 10. Описание языка Basic назад оглавление вперед

10.4. Основные операторы Basic

10.4.1. Оператор присваивания.

Оператор присваивания служит для присваивания переменной значения арифметического выражения и имеет следующий формат:

LET v = ар. выр.

(LET можно опустить), где v — переменная, которой присваивается значение.

При выполнении оператора присваивания вычисляется выражение в правой части и присваивается переменной в левой части v.

Примеры

L=8
Р==Р+1

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

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

Формат оператора

GO ТО N

где N — номер строки.
Этот оператор передает управление первому оператору в строке с номером N.

Оператор GО ТО используется, в частности, при организации разветвлений для того, чтобы обойти операторы второй ветви, если выполнена первая.

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

Условные операторы служат для изменения порядка выполнения операторов в зависимости от какого-либо условия. Существуют два формата условного оператора.

Первый формат условного оператора:

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.

10.4.4. Операторы цикла

Цикл является типичной структурой алгоритмов, реализуемых на ЭВМ. Для организации циклов в алгоритмических языках предусмотрены специальные операторы. В языке 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

10.4.5. Оператор-комментарий

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

Для записи комментариев используется оператор 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.

10.4.6. Операторы SТОР и ЕND

Оператор SТОР прекращает выполнение программы. При этом на экране появляется текст программы с подсвеченным оператором SТОР.

Останов программы позволяет распечатать значения переменных, т.е. оператор SТОР является удобным средством для отладки программы.

Выполнение программы может быть продолжено нажатием клавиши F5.

Допускается использование в программе нескольких операторов SТОР. Использование оператора SТОР не является обязательным в Basic. Если оператор SТОР отсутствует, то выполнение программы продолжается до ее естественного завершения, т. е. до выполнения операторов, расположенных в строке с наибольшим номером.

Оператор END указывает на физический конец программы. При выполнении оператора ЕND закрываются все открытые файлы и останавливается выполнение программы. Никакого сообщения на экран при этом не выводится.


назад оглавление вперед

 

Яндекс.Метрика