Ввод и вывод

Вывод на экран

Оператор PRINT позволяет выводить данные на экран. Синтаксис оператора PRINT:

PRINT [Выражение] [{;|,} Выражение]…[{;|,}]
Выражение — Арифметическое или строковое выражение. Значение выражения выводится на экран.
{;|,} — Устанавливает начало последующего вывода:
;: — значение очередного выражения следует непосредственно за значением предыдущего,
, — значение очередного выражения размещается в начале следующей области вывода. Область вывода — блок из 14 символов.

Если в конце PRINT-выражения нет ни знака «;», ни «,», то выполняется перевод строки, и вывод следующего значения начинается с новой строки.
Оператор LPRINT выводит данные на печатающее устройство (принтер). В остальном синтаксис LPRINT идентичен синтаксису оператора  PRINT.

Очистка экрана

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

Пример:
‘В данной программе демонстрируется очистка экрана
CLS
‘Экран очищен
PRINT «Вывод в левый верхний угол, «;
PRINT «остальное поле экрана свободно» 
‘Конец программы

Ввод с клавиатуры

Описанный далее оператор INPUT дает возможность вводить данные во время выполнения программы, после чего эти данные обрабатываются программой. Появление на экране вопросительного знака означает запрос ввода. Ввод данных завершается нажатием клавиши ,  и введенное значение сохраняется в заданной переменной.

INPUT [Текст{;|,}] Имя_переменной [, Имя_переменной].
Текст— Текст, который будет выведен на экран перед тем, как пользователь осуществит ввод.
{;|,} — Точка с запятой обозначает, что после текста выводится знак вопроса для обозначения необходимости ввода данных. Если вместо точки с запятой стоит запятая, знак вопроса после текста не появится. 
Имя_переменной — Переменные, в которых сохраняются вводимые данные. Объявление переменных должно быть выполнено в начале программы. 

Пример 1:
Вводим значения трех переменных — height!, breadth!, length!. Результат вычислений выводится на экран.

‘Пример 1
DIM height!, breadth!, length!
CLS
INPUT height!
INPUT breadth!
INPUT length!
PRINT
PRINT «Результат «; height! * breadth! * length!
‘Конец программы
Пример 2: 
В операторе INPUT имеется возможность перед каждым вводом данных выводить
на экран текст. 

‘Пример 2
DIM height!, breadth!, length!
CLS
INPUT «Введите, пожалуйста, высоту :»; height! 
INPUT «Введите, пожалуйста, ширину :»; breadth! 
INPUT «Введите, пожалуйста, длину :»; length!
PRINT
PRINT «Результат V=»; height! * breadth! * length!
‘Конец программы

Применение точки с запятой приводит к тому, что после вывода текста на экране появляется знак вопроса, вывод которого можно отменить, если точку с запятой заменить запятой. Предложение INPUT будет выглядеть так:

INPUT "Введите, пожалуйста, высоту :", height!

Оператор INPUT проверяет, соответствует ли тип вводимой величины типу указанной переменной. Если число с плавающей запятой записать в переменную типа INTEGER, то вводимая величина будет округлена до ближайшего большего целого числа. Если текст вводится в числовую переменную, QBASIC отказывается воспринимать данные и выдает сообщение об ошибке — «Redo from start» (Начните еще раз).

Форматированный вывод на экран.

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

PRINT USING Шаблон Выражение [;]
Шаблон— Определяет вид, в котором выводятся выражения.
Выражение— Арифметическое или строковое выражение. Значение выражения появляется на экране, преобразованное шаблоном.

Как и в операторе PRINT, точка с запятой подавляет перевод строки. Шаблон в операторе PRINT USING всегда заключен в двойные кавычки («»). Внутри кавычек находятся символы, определяющие формат вывода.

Символы для вывода чисел

#      Вывод одного цифрового разряда. Если выводимое значение короче, чем количество цифровых знаков в шаблоне, то число выравнивается по правому краю и лишние (свободные) позиции слева заполняется пробелами.

+      Вывод знака. Выводит в явном виде знак «+». Вывод пробела, если выводимое значение положительно.

       Вывод пробела, если выводимое значение положительно, и знака «-«, если
значение отрицательно.

**     Ведущие пробелы заменяются звездочками

$$     Ведущие пробелы заменяются знаком доллара

Символы шаблона для вывода строк

&     Указание на вывод всего строкового выражения

!      Указание на вывод лишь первого символа строкового выражения

\\     Указывает на вывод строки определенной длины. Количество выведенных символов определяется интервалом между двумя знаками «косая черта». Причем, считаются как ограничители (знак «косая черта»), так и пробелы между ними.

Специальные символы внутри шаблона

Текст Реализуется возможность вводить текст в шаблон
_ Вывод следующего символа в непосредственном виде

Пример 1: 
Принципиальное различие между операторами PRINT и PRINT USING.
‘Пример вывода с помощью оператора PRINT USING
CLS
PRINT «Сначала несколько арифметических шаблонов
PRINT
PRINT «Вывод с шаблоном:»
PRINT USING «#####» 112
PRINT USING «#####» 10
PRINT USING «#####» 1123
PRINT «Вывод без шаблона:» ‘Для сравнения
PRINT 34
PRINT 123
PRINT 1123
PRINT
PRINT «Вывод с шаблоном:»
PRINT USING «###.##»; 34
PRINT USING «#*#.*#»; 45.2
PRINT USING «###.*#»; 123.23
PRINT «Вывод без шаблона:» ‘Для сравнения
PRINT 23 «Для сравнения
PRINT 345.34

Позиционирование курсора.

Для перемещения курсора в требуемую позицию экрана, как правило, применяют оператор LOCATE.
Это очень удобно, например, для создания сложных форм вывода на экран. 

LOCATE [Строка] [, [Столбец][,[Курсор] [,Старт[,[Стоп] ]]]
Строка — Строка экрана (1-25), на которую должен переместиться курсор.
Столбец — Столбец экрана (1-80), к которому должен переместиться курсор.
Курсор — Указывает, в каком состоянии находится курсор при выводе. 0— выключен, 1 — включен.
Старт, Стоп — Числа от 1 до 31, которые задают высоту курсора.
Синтаксически команда выглядит достаточно сложной, но ситуацию упрощает то, что большинство параметров необязательны.

Пример 1: 

После очистки первый вывод на экран должен быть в десятой строке.

‘Вывод в десятую строку после CLS
CLS
LOCATE 10
PRINT «Вывод появляется в десятой строке экрана»
‘Конец программы

Вывод пробелов

Функция SPC в сочетании с оператором PRINT может выводить на экран пробелы. Это полезно,
например, при оформлении вывода информации на экран.

SPC (Значение)
Значение — Арифметическое выражение типа INTEGER в диапазоне значений от 0 до 32767.

Пример:
CLS 
PRINT «Text Г; SPC(10); «Text 2»

Функция табуляции.

Функция TAB так же, как функция SPC, применяется в операторе PRINT. Позволяет начать вывод данных текущей строки с определенной позиции.

TAB (Столбец)Столбец — Переменная типа INTEGER, задает номер столбца вывода данных текущей строки.

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

Остановка программы

В основном любой алгоритм должен как-то заканчиваться, поэтому отсутствие необходимости использовать оператор END в последних версиях QBASICа, считается отрицательным его качеством. Но он всё же существует, и вставлять его в конец программы всё же стоит (потом пригодится). Также если хотите прервать вашу программу в любом её месте то надо использовать оператор

STOP 
Он останавливает выполнение программы на том месте, где стоит. 

Добавить комментарий