Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Операторы языка




Операторы языка описывают алгоритмические действия, которые

необходимо выполнить для решения задачи. Программа представляет собой

последовательность таких операторов. Каждый оператор помещается в строке, длина которой не превышает 255 байт.

Все операторы можно разбить на выполняемые и невыполняемые. Выполняемые операторы служат для выполнения определенных операций или изменения порядка выполнения операторов в программе. К невыполняемым операторам относятся: оператор конца программы END, объявления массивов DIM, комментария RЕМ.

Выполнимые операторы могут быть вычислительными и невычислительными.

В QBASIC используются блочные операторы, состоящие из групп операторов.

Оператор присваивания. Спомощью оператора присваивания (= или LET) какой-либо переменной присваивается значение, например:

F%= 5

ST$=QWERTY

LET 1=(A+B+C)/C

Let может быть опущен.

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

Блочные операторы.К блочным операторам относятся:

• условный оператор IF/THEN/ELSE/END IF;

• оператор выбора SELECT CASE;

• оператор цикла FOR... TO;

оператор цикла DO LOOP [{WHILE I UNTIL}];

• операторы цикла DO WHILE/UNTIL LOOP и WHILE WEND;

• процедурные блоки SUB и FUNCTION.

Условный оператор IF/THEN/ELSE/END IF. Условный оператор позволяет исполнять те или иные действия в зависимости от выполнения логического условия. Условный оператор может иметь вид:

IF F THEN <оператор 1>:<оператор 2>:<оператор М>

или IF F THEN

<оператор 1>

<оператор 2>

<оператор М>

ENDIF

 

 

IF F THEN <оп. 1>:..:<оп.. M>ELSE<оператор Х>:...<оператор У>

или

IF F THEN

<оператор 1>

<оператор 2>

<оператор М>

ELSE

<оператор Х>

<оператор У>

ENDIF

В первом случае, при истинности логического условия F, выполняется последовательность операторов 1...М. Ели условие ложно, ничто не выполняется.

Во втором случае, при истинности логического условия F, также выполняется последовательность операторов 1...М, в противном случае - последовательность операторов Х...У.

Например, чтобы определить, является ли введенные 3 числа А, В, С углами треугольника, нужно записать:

If (А > 0) AND (В > 0) AND (С > О) AND (А + В + С = 180) THEN

PRINT "ЯВЛЯЮТСЯ УГЛАМИ ТРЕУГОЛЬНИКА"

ELSE

PRINT "HE ЯВЛЯЮТСЯ УГЛАМИ ТРЕУГОЛЬНИКА"

ENDIF

Оператор выбора SELECT CASE.С помощью оператора CASE можно выбрать любой вариант из допустимых значений переменной. Он имеет следующую структуру:

SELECT CASE параметр

CASE значение параметра I

<оператор 1>

CASE значение параметра 2

<оператор 2>;

Р1: <оператор N>

CASE значение параметра X

<оператор Х>

CASE ELSE

<оператор L>

END SELECT

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

SELECT CASE A$

CASE “0” ТО “9”

PRINT "ЦИФРА"

CASE ELSE

PRINT "HE ЦИФРА"

END SELECT

Конструкция CASE ELSE не обязательна и может, быть опушена.

Оператор цикла FOR... TO.Оператор безусловного цикла имеет

следующую структуру:

FOR X=A ТО В STEP С

<Тело цикла>

NEXT X

где

X - переменная цикла, которая должна быть числом;

А - начальное значение переменной цикла;

В - конечное значение переменной цикла;

C - шаг, изменения переменной цикла.

Цикл выполняется заданное число раз.

Оператор цикла DO LOOP [{WHILE | UNTIL}]. Этот оператор называется циклом с постусловием, т. к. проверка условия осуществляется после каждого выполнения тела цикла,

DO

<операторы>

LOOP [{WHILE | UNTIL} условие]

Цикл выполняется до тех пор, пока условие не станет истинным. Например, проверка на то, чтобы задать длину последовательности, осуществляется следующим образом:

DO

PRINT "ВВЕДИТЕ ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N = "

INPUT N%

LOOP UNTIL N% >0

Цикл выполняется до тех пор, пока пользователь не введет положительное число.

При использовании UNTIL цикл выполняется до тех пор, пока не выполнится условие, а при использовании WHILE цикл выполняется только при выполнении условия и заканчивается, если условие нарушается.

Операторы цикла DO WHILE/UNTIL LOOP и WHILE WEND.

Эти циклы называются циклами с предусловием, т. к. проверка проводится до начала очередной операции:

О [{WHILE UNTIL}condition]

<тело цикла>

LOOP

или

WHILE <условие>

<тело цикла>

WEND

Цикл WHILE выполняется, пока условие истинно. Как только условие нарушается, выполнение цикла завершается. Если используется UNTIL, то выполнение происходит до тех пор, пока условие не станет истинным.

Например, та же проверка вводимой длины последовательности может быть задана как

INPUT N%

WHILE N% <=0

PRINT "ВВЕДИТЕ ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N = "

INPUT N%

WEND

Обратите внимание, что до первого входа цикл переменной N% уже должно быть присвоено какое-либо значение!

Процедурные блоки SUB и FUNCTION. В QBASIC можно объявлять и использовать подпрограммы.

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

Основное, не формальное, различие между процедурой и функцией состоит в том, что процедура только выполняет какую-либо законченную по­следовательность действий, не возвращая результата работы в основную программу, а функция и выполняет действия, и возвращает результат. На­пример, вызов функции М = MIN (X, Y) вернет в основную программу значение наименьшего из двух чисел, и это значение будет присвоено переменной М.

Функция может быть объявлена следующим образом:

FUNCTION имя функции [(список параметров)] [STATIC]

<операторы>

имя функции = выражение

<операторы>

END FUNCTION

где имя функции - имя функции и тип данных, которые она возвращает (%, &, !, # or $); список параметров - список переменных, с помощью которых функция вызывается с указанием типов в этих переменных:

переменная [()] [AS тип ] [, переменная[0] [AS тип]]...

тип (INTEGER, LONG, SINGLE, DOUBLE, STRING и т. д.).

STATIC - объявляет, что локальные переменные данной функции сохраня­ются между вызовами самой функции.

Можно объявлять функции и по-другому. Главное, чтобы вызовы функции в программе следовали после ее объявления.

DEF FN имя функции [(список параметров)]

<операторы>

FNимя функции = выражение

<операторы>

[EXIT DEF]

<операторы>

END DEF

Считается, что второй способ объявления функций более традиционен. Процедура объявляется следующим образом:

SUB имя подпрограммы [(список параметров)] [STATIC]

<операторы>

END SUB.


Поделиться:

Дата добавления: 2015-01-01; просмотров: 113; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты