Операторы PRINT, LPRINT, PRINT USING, функции SPC и TAB

ОператорPRINT выводит данные на экран

ОператорLPRINTпечатает данные на принтере LPT1.

Синтаксис:

PRINT [выражения] [{; | ,}]

LPRINT [выражения] [{; | ,}]

■ выражения - одно или несколько выражений для печати. Разделяются “;” или “,” .

■ символы “;” и “,” определяют, где начинается следующий вывод:

“;”- печать сразу после последнего значения ( PRINT А; В),

“,” - печать в новой зоне (PRINT А, В)

Выводная строка разбита на зоны по 14 позиций каждая. Ширина зоны печати - 14 символов.

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

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

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

Оператор PRINTвыводит пустую строку.

Пример:

PRINT “A”;”A”,”A”;-1;1,1

PRINT 2;

PRINT “A”

Эта программа выведет на дисплей следующий результат:

AA A-1 1 1

A (15) (29)

Функции SPC и TAB

Используются для вывода на экран (на печать) данных в удобной форме.

SPC(X) – число Х пробелов (1≤X≤80)

Пример:

PRINT “Иванов”; SPC(5); “студент”

На экран с первой позиции будет выведено:

Иванов студент.

ТАВ: PRINT TAB (выражение1); выражение2

(Выражение1) определяет положение значения (выражения2) при печати, относительно начала строки. Если значение (Выражение1) имеет дробную часть, то дробная часть отбрасывается. Значение (Выражение1) должно быть в диапазоне 0 – 79, определяющем номера позиций строки экрана.

Пример:

PRINT “ФАМИЛИЯ”; TAB (20); “ИМЯ”

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3

ФАМИЛИЯ ИМЯ

Функцию TAB(), например, можно использовать для вывода результатов вычислений в виде графиков относительно начала строки. Так, если табулируется у и определяются его мах и мin, то, по значениям А = 75*(у – мin)/(мах – мin) + 1, можно оператором PRINT TAB(А); “*” построить вертикально расположенный график зависимости функции у от аргумента.

Оператор форматированного вывода

Синтаксис:

PRINT USING формат; список выражений [{;|,}]

“Формат” – текстовое выражение, содержащее один или более спецификаторов формата.

Спецификаторы формата для числовых данных:

#- позиция цифры,

.- позиция десятичной точки,

+- позиция знака числа,

,- разделение каждых трех разрядов с помощью запятой,

$- знак доллара перед числом.

Пример:

A=1234.567

PRINT USING “####”; A 1234

PRINT USING “####.#”; A 1234.5

PRINT USING “####.##”; A 1234.56

PRINT USING “###.###”; A %1234.567

В последней строке символ % свидетельствует о несоответствии заданного формата фактическому значению переменной.

Спецификаторы формата для символьных данных:

&- вывод всего текстового значения,

!- вывод первого символа текстового значения,

\\- число выводимых символов.

Пример:

A=”Студент”

PRINT USING “&”; A Студент

PRINT USING “!”; A С

PRINT USING “\\\”; A Сту

В одном операторе PRINT USING применение и символьных, и числовых переменных не допускается.

Оператор позиционирования курсора LOCATE

Синтаксис:

LOCATE [<строка>],[<колонка>],[<курсор>]

<строка> -значение из диапазона 1..24

<колонка> -значение из диапазона 1..80

<курсор> - 1(курсор виден) или0(курсор невиден)

<строка>,<колонка>могут быть числовыми выражениями.

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

Лекция 7

Управление ходом выполнения программы

Организация цикла

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

Оператор цикла FOR … NEXT

FOR <счетчик> = <начало> TO <конец> [STEP <приращение>]

[блок операторов]

NEXT [счетчик]

[счетчик]- числовая переменная (переменная цикла),

<начало> , <конец>- начальное и конечное значение счетчика,

<приращение>- приращение счетчика при каждом шаге цикла.

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

Пример:

FOR I = 1 TO 15 FOR I = 7 to -6 STEP -3

PRINT I PRINT I

NEXT I NEXT I

Оператор цикла DO … LOOP

Оператор цикла DO … LOOP- оператор цикла с предусловием, без счетчика (с неопределенным числом циклов). Блок операторов повторяется, пока условие верно, или до тех пор, пока условие не станет верным. Синтаксис:

DO DO {WHILE | UNTIL} <условие>

<блок операторов> <блок операторов>

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

Где <условие> - числовое выражение, которое BASIC оценивает как «истина» (1)или«ложь» (0).

Проверка в конце цикла – операторы будут выполнены хотя бы один раз. В этом основное различие двух форм записи. При этом WHILE– цикл продолжается пока условие – «истина»; UNTIL – цикл продолжается, пока условие «ложь».

Пример:

DO

INPUT “ВВЕДИТЕ ЗНАЧЕНИЕ Х<10”

INPUT X

LOOP UNTIL X<10

(Выполнять до тех пор, пока не выполнится условие)

Операторы PRINT, LPRINT, PRINT USING, функции SPC и TAB - student2.ru INPUT X

DO

PRINT X

X=X-1

LOOP WHILE X >10

(Выполнять до тех пор, пока истинно условие)

Операторы PRINT, LPRINT, PRINT USING, функции SPC и TAB - student2.ru I = 0

PRINT "Значение I в начале цикла равно "; I

DO WHILE I < 10

I = I + 1

LOOP

PRINT "Значение I в конце цикла равно "; I

(Выполнять до тех пор, пока истинно условие)

Операторы PRINT, LPRINT, PRINT USING, функции SPC и TAB - student2.ru I = 0

PRINT "Значение I в начале цикла равно "; I

DO LOOP WHILE I < 10

I = I + 1

LOOP

PRINT "Значение I в конце цикла равно "; I

(Выполнять до тех пор, пока не выполнится условие)

Оператор цикла без счетчика WHILE …WEND

Синтаксис:

WHILE условие

[блок операторов]

WEND

Пример:

INPUT X

WHILE X>10

SOUND 1000 X*99,10

Х=Х-1

WEND

SOUND X,Y – оператор выдающий звуковой сигнал, где

X– частота (в ГЦ),

Y – длительность в тактах (16.2 Т= 1 сек).

Цикл с предусловием DO...LOOP предоставляет больше возможностей для организации цикла.

Наши рекомендации