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

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

Лекция 7

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

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

ФАМИЛИЯ ИМЯ

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

Функции SPC и TAB

A (15) (29)

AA A-1 1 1

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

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

Пример:

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

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

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

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

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

Пример:

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

 

Функцию 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 [<строка>],[<колонка>],[<курсор>]

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

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

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

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

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

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


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

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

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

NEXT [счетчик]

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

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

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

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

Пример:

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

PRINT I PRINT I