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

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

Оператор является основной единицей программы и выполняет какое-то элементарное действие. Во многих версиях Бейсика операторы в программе нумеруются. В QBasic, однако, сплошная нумерация не обязательна. При задании формата оператора символами [ ] будем ограни­чивать необязательную часть оператора.

Оператор присваивания. Формат оператора:

переменная=выражение

Такая запись означает, что выражение, стоящее справа, вычисляется и его результат присваивается переменной, стоящей слева.

Примеры операторов: Z=2, А=3.5+EXP(8), S=X^4+Y/2.

Присваивание не является равенством в обычном смысле. Справа и слева от знака “=” можно указывать одну и ту же переменную, например: М=М+2, X=X/3. Эти выражения следует понимать как реализацию так называемых рекуррентных соотношений, то есть новое содержимое ячейки М будет равно старому, увеличенному на 2, и новое Х будет равно старому, деленному на 3. По обе стороны равенства могут стоять переменные разных типов. Но если слева от знака равенства – целочисленная переменная, а справа получено вещественное число, то его дробная часть будет отброшена. Так, если А=2, то после вычислений в операторе М%=А*0.2+0.5 получим не М%=0.9, а М%=0.

Часто возникает необходимость в перестановке значений переменных. Так, если нужно поменять значения Х и Y, следует запи­сать три оператора: A=X, X=Y, Y=A. Здесь понадобилась дополнительная “тран­зитная” перемен­ная А, в которой временно запоминается значение Х.

Оператор

SWAP переменная1, переменная2

позволяет выполнить обмен значений сразу.

Например: SWAP X,Y

Наше общение с компьютером имеет характер переписки. Мы пишем, он читает. Он пишет, читаем мы. Эти действия реализуются следующими специальными операторами ввода-вывода.

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

PRINT [список_выводимых_переменных]

или ? [список_ выводимых_переменных]

Здесь вопросительный знак может заменять слово PRINT, что экономит время ввода программы. Например, оператор:

PRINT a, m читается так – “Печатать переменные А, М”.

Оператор PRINT может вообще использоваться без аргументов. Тогда при выводе будет формироваться только пустая строка.

В оператор вывода могут включаться не только переменные, но константы и целые выражения. Например, если Х=12, а Y=100, то применение оператора

? “СУММА=” x+y

даст следующий результат: СУММА=112

При выводе данных имеет значение, какой разделительный знак использован для перечислении переменных. Если используется точка с запятой или пробел, следующая переменная будет выведена непосредственно за предыдущей. Если запятая – следующая переменная будет выведена с начала следующей зоны вывода. Бейсик разделяет каждую строку вывода на зоны по 15 символов. Это означает, что первое выводимое значение займет колонки с 1 по 15, второе – с 16 по 30, третье с 31 по 45 и т.д.

Если необходимо управлять положением и разрядностью выводимых данных, следует использовать оператор

PRINT USING шаблон; список,_выводимых_переменных

Здесь шаблон содержит символы, определяющие эти параметры. Символ “#” в шаблоне указывает на то, что в этой позиции будет выведена цифра. Символ “.” определяет место десятичной точки. Например, положим, что Х=2539.23745. Оператор

PRINT USING “######.##”; x

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

Оператор ввода. Исходные данные, обрабатываемые програм­мой, можно задавать оператором присваивания. Пусть нужно вычислить площадь круга S=2ПR2. Если задать непосредственно в программе значение радиуса окружности, например оператором R=5, то программа будет вычислять площадь только такой окружности. Если нужно вычислить значение S с иным радиусом, придется изменить оператор непосредственно в программе. Это очень неудобно, поскольку пользователь программы не имеет квалификации и возможности изменять что-нибудь в программе. Необходимо сделать так, чтобы результаты вычислений зависели не от текста программы, а только от данных. Для этого имеется оператор чтения данных вида:

INPUT [приглашение ;/,] список_вводимых_переменных

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

Все переменные в списке переменных разделяются запятыми. Если список переменных содержит более одной переменной, вводимые значения следует разделять запятыми. Число вводимых данных по количеству и типу должно соответствовать списку переменных. По завершении ввода всех переменных для данного оператора INPUT следует нажать клавишу ENTER. Если ввод был осуществлен неверно, ПК выдаст сообщение “Redo from start” о необходимости его повторить.

Пример: INPUT “Введите переменные R и L”; r, l

Дословно оператор интерпретируется следующим образом: “Читать в па­мять ЭВМ, введенные с клавиатуры, переменные R и L”. При этом на экра­не сначала будет выведено приглашение вида “Введите переменные R и L?”