Найти в Дзене

Программирование на Бейсике. Основные операторы текстового режима

Все, чем мы до этого занимались, точнее, то, что мы видели на экране, это все происходило в так называемом «текстовом режиме» - мы же работали с символьной информацией, текстом. Кроме текстового режима в Бейсике существует также «графический режим», в котором можно рисовать точки, линии, окружности и т.д. Но с графическим режимом мы познакомимся позднее. Для включения того или иного режима отображения информации (и размера экрана) существуют специальные команды. Например, для включения текстового режима это SCREEN 0 Но так как текстовый режим включен по умолчанию, мы никогда не использовали эту команду. Просто знайте, что она есть. С двумя операторами текстового режима мы уже знакомы, это операторы ввода и вывода информации INPUT и PRINT. Осталось познакомиться с еще одним: LOCATE. Данный оператор предназначен для того, чтобы поместить курсор в нужную точку экрана и впоследствии там что-то вывести. Курсор мы никогда не видим, но он существует. И каждый новый PRINT выводит какую-либо ин

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

Кроме текстового режима в Бейсике существует также «графический режим», в котором можно рисовать точки, линии, окружности и т.д. Но с графическим режимом мы познакомимся позднее.

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

SCREEN 0

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

С двумя операторами текстового режима мы уже знакомы, это операторы ввода и вывода информации INPUT и PRINT. Осталось познакомиться с еще одним: LOCATE.

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

Курсор мы никогда не видим, но он существует. И каждый новый PRINT выводит какую-либо информацию на экран именно в том месте, где находится в данный момент невидимый курсор. Чаще всего, если мы не используем LOCATE, курсор находится в начале строки. Поэтому все, что мы выводим на экран, выводится, начиная с левого края экрана, т.е. с начала строки. Но если мы, к примеру перед очередным оператором вывода напишем

LOCATE 10, 20

невидимый курсор встанет на 10-ю строку, в 20-ю позицию на этой строке. И то, что мы выводим с помощью PRINT после этого LOCATE, выведется не в начале следующей строки, а на 10-й строке, начиная с 20-й позиции.

Тут стоит сказать, что всего в текстовом режиме нам доступны 23 строки (на 24-й строке появляется надпись «Press any key to continue»), и в каждой строке помещается 80 символов (позиций).

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

Например, нам необходимо вывести две строки текста примерно в центре экрана. Решается это следующим образом. Две строки – это два PRINT. Для каждого из них необходимо определить координату (номер строки и позицию) на экране, где начнется текст. Первая строка «Hello world!» имеет 11 знаков (пробел тоже считается). Так как в строках на экране помещается 80 символов, то для того, чтобы наш текст был посередине, необходимо найти начало. Мысль такая: середина – это 40-я или 41-я позиция, длина нашего текста – 12 символов. Значит половина – 6.

40 – 6 = 34. Вот это и есть начальная позиция. Теперь, на какой строке? Середина – это 12-я строка. Но у нас планируется две строки. Ну давайте возьмем 11-ю строку. Точно так же считаем координату начала для второго текста «Hi people!».

Получаем:

Вроде норм.

А нельзя ли сделать текст каким-нибудь цветным? Можно! Для этого существует команда COLOR. После нее необходимо написать номер цвета. Например, чтобы сделать текст красным, достаточно в самом начале написать

COLOR 4

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

Всего в Бейсике 16 цветов: от 0 до 15, где 0 – черный, а 15 – белый.

Можно задать и цвет фона. Для этого необходимо указать вторую цифру в COLOR, после запятой. Первая цифра будет отвечать за цвет текста, вторая – за цвет фона.

Давайте попробуем сделать черный текст на зеленом фоне:

-2

Судя по всему, что-то явно пошло не так.

Все дело в том, что по умолчанию Бейсик применяет указанные цвета для заполненных текстом координат на экране. Поэтому зеленый фон мы видим только в тексте.

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

-3

Для закрепления данной темы рекомендуем выполнить как можно больше задач.

Комменты приветствуются, за палец вверх - отдельное спасибо. Удачи!

------------------------------

Список уроков Программирование на Бейсике для начинающих

Следующий урок Псевдографика

Предыдущий урок Циклы

------------------------------

Задания

1. Вывести с помощью цикла (циклов) 15 строк с одним любым символом, но разными цветами. Результат должен выглядеть так:

-4

2. Дополнить задание с таблицей доходов, расходов и прибыли цветовой информацией:

-5

3. Дополнить программу, которая здоровается по имени. Теперь и вопрос «What is your name?», и приветствие должны выходить по центру экрана, причем после вопроса экран должен очищаться. Цвета использовать любые.