Текстовый режим языка программирования.

   Монитор современного компьютера может работать в двух режимах: текстовом и графическом. В языке программирования Quick Basic предусмотрены способы вывода информации на экран в обоих режимах.

   Рассмотрим, что и каким образом можно выводить на экран в текстовом режиме.

   По умолчанию Quick Basic работает с монитором в текстовом режиме. В этом режиме на экран можно вывести все символы, которые есть на клавиатуре, и символы псевдографики. В текстовом режиме экран имеет 25 строк, в каждой строке 80 позиций (однако, с помощью оператора WIDTH 40 можно получить 40 “широких” позиций) для вывода символом, следовательно, максимальное количество символов, которое можно разместить на экране в текстовом режиме, равно 2000=25х80.

5.1.Управление цветом в текстовом режиме

   Оператор COLOR цвет_символа, цвет_фона устанавливает цвет выводимого символа и цвет фона под символом.

   Цвет символа - это число от 0 до 15, т.е. символ может быть выведен на экран одним из 16 цветов.

   Цвет фона - это число от 0 до 7.

   Если оператора COLOR в программе нет совсем, то Quick Basic по умолчанию устанавливает цвет 7 (белый) для символа и цвет 0 (черный) для фона.

   Каждый цвет - это комбинация трех основных цветов - красного, зеленого и синего. Каждый цвет может выводиться с низкой или высокой интенсивностью (яркостью).

Красный

Зеленый

Синий

Обычный

Яркий

0

0

0

 

0 - черный

 

8 – серый

0

0

1

 

1 - синий

 

9 - ярко-синий

0

1

0

 

2 - зеленый

 

10 - ярко-зеленый

0

1

1

 

3 - голубой (точнее, циан)

 

11 - ярко-голубой

1

0

0

 

4 - красный

 

12 - ярко-красный

1

0

1

 

5 - фиолетовый

 

13 - ярко-фиолетовый

1

1

0

 

6 - коричневый

 

14 - желтый

1

1

1

 

7 - белый

 

15 - ярко-белый

   Составим таблицу цветов. Наличие в цвете какой-либо цветовой компоненты будем отмечать единицей, а ее отсутствие - нулем.

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

   Пример: обычный красный - 4; мигающий - 20.

   Задание. Загрузите программу PRG.BAS и сделайте полоски разных цветов.

 

5.2. Псевдографика

   Некоторые символы не так-то просто вывести на экран просто потому, что их нет на клавиатуре. Это, в частности, относится к символам псевдографики.

   Псевдографика - это символы, с помощью которых можно рисовать линии, рамки и другие графические изображения в текстовом режиме. Символы псевдографики отличаются от обычных символов тем, что занимают всю ширину (высоту) места, отведенного символу на экране. Поэтому они, будучи поставлены рядом, сливаются и образуют непрерывные линии.

   Чтобы вывести на экран символ, отсутствующий на клавиатуре, нужно нажать клавишу Alt и, не отпуская ее, другой рукой набрать код символа (число от 0 до 255). (Некоторые драйверы клавиатуры имеют режим набора псевдосимволов.)

   Приведем коды некоторых символов.

Одинарная рамка:

Двойная рамка:

 

   Задача. Вывести на экран таблицу символов.

   Решение. С помощью функции CHR$ получим символ по его коду:

символ = CHR$(число)

и сразу выведем его на экран оператором PRINT. Чтобы все символы поместились на экране, расположим их в виде таблицы 16х16. Пронумеруем строки и столбцы таблицы числами от 0 до 15. Тогда код символа, стоящего на пересечении i-ой строки и j-го столбца, равен значению 16*i + j. Организуем вывод таблицы по строчкам:

 
CLS
FOR i = 0 TO 15
‘Выводим строку таблицы
   FOR j = 0 TO 15
      kod = 16*i + j
      LOCATE i + 5, 2* j + 5
      PRINT CHR$(kod)
   NEXT j
NEXT i
 

   Запишем программу под именем TABL.BAS и выполним ее. На экране появится таблица, однако некоторые места в ней останутся пустыми - для этих кодов нет графического представления. Но это не значит, что ими нельзя воспользоваться в программе! Так, например, при выполнении оператора PRINT CHR$(7) раздается звуковой сигнал, PRINT CHR$(12) очищает экран, PRINT CHR$(13) переводит курсор на новую строку и т.д.

   Конечно, чаще всего, те же действия можно выполнить “стандартными” операторами: BEEP - звуковой сигнал, CLS - очистка экрана, перевод строки делается автоматически после вывода на экран (если только в конце оператора PRINT не стоит точка с запятой для подавления перевода строки!). Иногда знание кода символа необходимо. Невозможно, например, вывести оператором PRINT текст, содержащий кавычки, так как последние воспринимаются как ограничители. Чтобы вывести на экран фразу: “Смотрите фильмы в кинотеатре “Космос”!” следует написать

PRINT “Смотрите фильмы в кинотеатре”; CHR$(34);“Космос”; CHR$(34); “!”

или

PRINT “Смотрите фильмы в кинотеатре”+ CHR$(34) +“Космос”+ CHR$(34) + “!”

   Вернемся к программе TABL.BAS. Поскольку вывод символа с кодом 12 эквивалентен оператору CLS, то с экрана сотрется изображения предыдущих символов, и мы их не увидим (разве что заметим, как что-то мелькнуло на экране). Вставим, поэтому, проверку условия: код символа не равен 12 (Так как знака “не равен” нет на клавиатуре, то он изображается двумя символами: <> или ><).

 
CLS
FOR i = 0 TO 15
   ‘Выводим строку таблицы
   FOR j = 0 TO 15
      kod = 16*i + j
      IF kod <> 12 THEN
         LOCATE i + 5, 2* j + 5
         PRINT CHR$(kod)
      END IF
   NEXT j
NEXT i
 

  

 

 

 

 Задания. Пользуясь символами псевдографики “нарисуйте” на экране рамку, лестницу, флаг, забор и т.д.

Сайт создан в системе uCoz