Скачиваний:
109
Добавлен:
21.01.2014
Размер:
2.38 Mб
Скачать

4. Контрольные вопросы

  1. Назначение и синтакис математических функций ?

  2. Назначение и синтакис функций обработки числовых и символьных данных ?

Вопросы по процедуре выполнения индивидуального задания.

5. Библиографический список

  1. Бобровский С. Программирование на языке QBASIC для школьников и студентов. — М.: Десс; Инфорком-Пресс, 1999. - 208 с.

  2. Зельднер Г.А. Программируем на языке QuickBASIC 4.5. - М: ABF, 1996. - 432 с.

  3. Введение в программирование на языке Microsoft BASIC: Учебное пособие / Ю.Я. Максимов, С.В. Осипов, А.В. Потемкин, Щ.С. Симоненков. - М.: ”Диалог-МИФИ”,1991. - 176 с.

Министерство образования

Российской Федерации

Тульский государственный университет

Кафедра “Инструментальные и метрологические системы”

Информатика

ЛАБОРАТОРНАЯ РАБОТА 11

Организация вывода информации на дисплей

и печатающее устройство

для студентов очного обучения

Тула 2000 г.

1. Цель и содержание работы

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

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

2. Порядок выполнения работы

  1. Изучить теоретическую часть.

  2. Получить задание у преподавателя.

  3. Выполнить задание.

  4. Оформить отчет.

  5. Защитить работу.

3. Теоретическая часть

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

SCREEN

Оператор

Устанавливает спецификацию экрана.

SCREEN режим% [,[цвет%]] [, [стр_вывода%]] [, [стр_экрана%]]

  • режим% - целое выражение, устанавливает режим экрана;

  • цвет% - определяет, будет ли информация выводится в цвете. Числовое выражение в пределах 0-255:

  1. если цвет% = 0 - информация выдается только в черно-белом виде;

  1. если цвет%  0 - цвет сохраняется;

  1. значение аргумента цвет% инвертируется в режиме 0;

  1. в режимах 2 и выше аргумент игнорируется;

  • стр_вывода% - числовое выражение, номер активной экранной страницы, на которую выводится текст или графика;

  • стр_экрана% - числовое выражение, номер текущей экранной страницы.

'Для выполнения этого примера нужен цветной графический адаптер.

SCREEN 1 '320 x 200

LINE (110, 70)-(190, 120), , B

LINE (0, 0)-(320, 200), 3, , &HFF00

PRINT USING

Оператор

Осуществляет вывод данных на экран по указанному формату.

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

  • формат - символьное выражение, содержит специальные символы, управляющие представлением выводимых данных;

  • список_выражений - выражения любого типа, кроме пользовательского. Символьные константы в списке_выражений должны заключаться в кавычки.

Форматы вывода символьных значений

Форматы вывода числовых значений

Символ

Описание

Символ

Описание

!

Вывод первого символа указанной строки;

#

Представляет одну цифровую позицию. Если выводимое число имеет меньше цифр, чем указано в позиции, то оно выравнивается вправо, дополняясь слева пробелами;

\\

Вывод 2+n символов из строки, где n - число пробелов между двумя слэшами. Если слэши без пробелов, то выводятся два начальных символа строки. Если поле вывода больше, чем длина строки, то строка выравнивается влево, а справа печатаются пробелы;

.

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

&

Вывод строки любой длины. Строка выводится без модификаций.

+

Вывод знака числа (плюс или минус), либо перед числовым полем, либо после - как указано.

Если выводимое число не помещается в поле формата, то перед ним выводится знак процента (%)

-

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

Типы выводимых значений в списке_выражений должны соответствовать типам полей данных в строке формата.

**

Заменить левые пробелы перед числом звездочками. Две звездочки указывают, что выводить следует два или более знака.

Действие символов- разделителей списка_выражений описано в операторе PRINT.

$$

Поставить перед числом в указанном поле знак доллара. Два доллара указывают, что следует выводить два знака, один из которых - доллар.

**$

Комбинирует эффект двух звездочек и двух долларов. Заменить левые пробелы перед числом звездочками а перед числом в поставить знак доллара. Указывает три и более позиций, одна из которых - доллар. Если выводится отрицательное число, то минус ставится перед долларом.

,

Если перед числовым полем поставлена запятая, то каждые три знака до десятичной точки отделяются запятыми (сотни, тысячи и т. д.) . Запятая не влияет на вывод чисел в экспоненциальной форме (^^^^ или ^^^^^).

_

Знак подчеркивания означает, что следующий символ выводится не как управляющий, а как литерал. Для вывода одного символа подчеркивания следует поставить два(__) в строке формата

Пример конструкции

Результат

PRINT USING “!”; Кафедра

К

PRINT USING “+##.## ”; -45.33, 7.7

-45.33 +7.70

PRINT USING “**$##.##”; 7.77

***$7.77

PRINT USING “.####^^^^-”; -7777777

.7778E+06

PRINT USING “##.##”; 777.77

%777.77

WRITE

Оператор

Записывает данные на экран.

WRITE [список_выражений]

  • список_выражений - одно или несколько выражений разделенных запятыми.

  • Если список_выражений опущен - выводится пустая строка.

  • Выводимые значения разделяются запятыми. Символьные строки заключаются в кавычки.

  • После печати последнего выражения в списке вставляются символы возврата каретки и перевода строки.

  • Оператор записывает числовые значения без начальных и конечных пробелов.

Пример конструкции

Результат

J=78: H=23: V$=“TГУ”

WRITE J, H, V$

78, 23 “TГУ”

LOCATE

Оператор

Перемещает курсор на экране в указанную позицию.

LOCATE [строка%] [,[столбец%] [,[курсор%] [, [начало%, конец%]]]]

  • строка% , столбец% - номер строки , столбца, куда перемещается курсор, соответственно. Если параметр не указан номер позиции не меняется;

  • курсор% - логический параметр режим отображения курсора: 0 = видимый, 1 = невидимый;

  • начало%, конец% - целое выражение в пределах от 0 до 31, которое определяет первую и последнюю скан-линии курсора. Изменить размер курсора можно посредством изменения строк сканирования курсора.

  • Можно опустить любой параметр в операторе LOCATE , так если неуказан строка% и столбец% курсор останется на позиции указанной предыдущим LOCATE.

  • Начало% и конец% зависят от разрешения экрана. Эти аргументы описывают форму курсора. Если начало% < конец% - курсор будет двойным.

  • Последняя строка экрана доступна для оператора LOCATE лишь в случае действия оператора KEY OFF но не KEY ON.

LOCATE 6, 7: PRINT “Ims” ‘ Курсор в 6 строке, 7 столбце.

LOCATE , ,1: PRINT “Ims” ‘ Курсор стал видимым.

LOCATE , , ,6: PRINT “Ims” ‘ Изменилась форма курсора.

CSRLIN

POS

SPC

ТАВ

Функции

CSRLIN возвращает текущую позицию строки курсора.

POS возвращает текущую позицию столбца курсора.

SPC оставляет заданное число пробелов

TAB перемещает курсор текста в указанную позицию печати.

CSRLIN

POS (выражение)

SPC(n%)

TAB (столбец)

  • выражение - любое выражение;

  • n% - числовое выражение в пределах 0-32767, обозначает количество пробелов, оставляемых в текущей строке;

  • столбец - числовое выражение, в пределах от 1 до ширины вывода.

  • Вместо конструкции SPC(n%) лучше использовать более производительную конструкцию SPACE$ (n%) аналогичную по своему назначению.

  • Аргумент “столбец” - новая колонка вывода в данной строке. Если аргумент “столбец” > ширины вывода - вывод начнется с позиции 1+( столбец MOD ширина), в противном случае - с позиции 1.

  • Оператор ТАВ используется только операторами PRINT и LPRINT.

Пример конструкции

Результат

LOCATE 7, 3: PRINT CSRLIN

7

DO

WHILE POS(0) < 60

LOOP

‘ Выход из цикла - если напечатано 60 символов в строке.

PRINT “**”; SPACE$(6); “**”

** **

PRINT TAB(255); “**”

PRINT TAB(-5); “**”

**

**

WIDTH

Оператор

Устанавливает ширину строки вывода файла или устройства, а также количество строк и столбцов экрана.

WIDTH [столбцы] , [строки]

Устанавливает количество столбцов и строк экрана. Число столбцов может быть 40 или 80. По умолчанию 80. Число строк может быть 25, 30, 40, 50 или 60, в зависимости от адаптера и режима экрана. По умолчанию 25

WIDTH # номер файла, ширина

Устанавливает ширину вывода устройства, открытого как файл (например, LPT1 или CONS:). Аргумент номер файла - это номер устройства, открытого оператором OPEN.

WIDTH устройство, ширина

Устанавливает ширину вывода устройства, заданного символьной константой (например “CONS:”). Это определение действует до открытия устройства как файл оператором OPEN. Не действует, если устройство открыто.

WIDTH LPRINT ширина

Устанавливает ширину вывода принтера для всех последующих операторов LPRINT.

Пример конструкции

Результат

WIDTH 80, 43

FOR i=1 TO 43

LOCATE i, 1: PRINT “Строка”; i; SPC (i); “*”

NEXT i

DO: LOOP WHILE INKEY$ = “”

‘Установка 43 строк на экране

LPOS

Функция

Возвращает число символов, посланных на печать после последнего символа возврата каретки.

LPOS(n%)

  • n% - числовое выражение от 0 до 3, указатель порта принтера: 0 = LPT1, 1 = LPT1, 2 = LPT2, 3 = LPT3

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

'Для выполнения этого примера нужен принтер.

LPRINT

FOR i% = 1 TO 20

LPRINT i%;

IF LPOS(1) >= 10 THEN LPRINT 'Начать новую строку.

NEXT i%

LPRINT

LPRINT USING

Операторы

Печатает данные на принтере LPT1.

LPRINT [список_выражений] [{; | ,}]

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

  • список_выражений - одно или несколько числовых или символьных выражений для печати;

  • формат- символьная переменная или константа, содержащая специальные символы формата и другие знаки;

  • {; | ,} - определяет, где начинается следующий вывод: ; - печать сразу после последнего значения. , - печать в начале следующей зоны печати.

  • Если все аргументы опущены, то на принтер выводится пустая строка.

  • Эти операторы работают аналогично операторам PRINT и PRINT USING, но вывод идет на принтер и номер файла не требуется.

  • Оператор LPRINT по умолчанию подразумевает принтер с шириной строки 80 знаков.

OPEN "GROUP.IMS" FOR OUTPUT AS #1

PRINT #1, USING "##.### "; 12.12345

CLOSE

OPEN "GROUP.IMS" FOR INPUT AS #1

INPUT #1, a$

PRINT a$

LPRINT "Это строка "; 1

LPRINT "Это строка ",

LPRINT 2