ЗНОВУ про оператора PRINT

Початкові відомості про оператора PRINT наводилися в підрозділ 123 Оператор PRINT може зображати як текст, так і числа на пристрої виводу, яким зазвичай служить ВТУ Текст може зявлятися в операторі PRINT або у вигляді строкової константи, наприклад:

10 PRINT РЕЗУЛЬТАТ РАВЕН, А

або у вигляді строкової змінної, наприклад:

10 A $ = ПІДСУМКОВА СУМА

20 PRINT А $ У

Елементи списку даних, що видаються оператором PRINT, можуть відокремлюватися один від одного комою або крапкою з комою

Якщо роздільником служить крапка з комою, то значення елементів даних друкуються впритул Щоб сусідні числа не зливалися в одне число, після кожного числового значення додатково виводиться пробіл, а перед числом може бути виведений знак мінус або пробіл Наприклад, якщо А = 1, В = 2, С = -3, то оператор

10 PRINT ПОЧАТОК; А В С КІНЕЦЬ зобразить рядок наступного виду:

ПОЧАТОК 1 лютого -3 КІНЕЦЬ

Врахуйте, що в Бейсике ВВС числові значення не облямовуються пробілами, тому при роботі з ним зазначений оператор зобразить рядок НАЧАЛО12-3КОНЕЦ

При поділі крапкою з комою до строковим значенням не додаються ні ведучий, ні замикає прогалини Тому оператор

10 PRINT ПОЧАТОК; КІНЕЦЬ зобразить рядок НАЧАЛОКОНЕЦ

Якщо ж як роздільник використовується кома, то дані розподіляються по зонах екрану ВТУ Зазвичай екран розбивається на вертикальні зони шириною від 14 або 15 символів і кома викликає друкування як строкового, так і числового значення від початку наступної зони Якщо остання зона рядка вже була заповнена, то відбувається перехід на наступний рядок Таким чином, оператор

10 PRINT А, В, С зобразить рядок

1                           2                           -3

Врахуйте, що Бейсік ВВС відрізняється від інших версій тим, що вирівнює строкові значення по лівому краю зони, а числові значення – по правому Тому при роботі з ним зазначений оператор зобразить рядок

1                              2                          -3

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

Можна використовувати будь-яку комбінацію роздільників всі перелічені нижче оператори допустимі:

100 PRINT ABC

100 PRINT A,BC

100  PRINT AB,C

Вказівка ​​оператора PRINT самого по собі, без списку змінних, викликає перехід на новий рядок

Навпаки, якщо в операторі PRINT список змінних завершується комою або крапкою з комою, то наступний оператор продовжить видачу на тій же самій рядку Наприклад, оператори

10 PRINT А ПЛЮС;

11 20 PRINT В ОДНО;

12&nbsp&nbsp&nbsp 30   PRINT A+B

зобразять рядок

1 ПЛЮС 2 ОДНО 3

Наступна програма використовує описані вище можливості для зображення гістограми по точках графіка функції y = Х2 + 3:

5 Rем ПРОГРАМА ДЛЯ ЗОБРАЖЕННЯ Гістограмою

10 PRINT ——————– ОСЬ Y ——————–

20 FOR Х = 0 ТО 7 STEP 5

30   Y=X**2+3

30   PRINT &quot!"

40   FOR H=l TO INT(Y)

44     PRINT &quot*"

46   NEXT H

48   PRINT

50   NEXT X

60   END

Видача кожного рядка починається оператором PRINT в рядку 38, що зображує вертикальну риску Потім за допомогою циклу в рядках 40 – 46 на тому ж рядку зображується задане число зірочок (рівне цілої частини значення Y)

Оператор PRINT в рядку 48 потрібно для переходу до нового рядка, що відповідає наступного значенням X У наведеному прикладі передбачається,

що після заповнення всіх рядків екрану видача нового рядка викликає переміщення всього зображення вгору на один рядок, і видавана рядок зображується в самому низу екрану (режим построчного руху зображення) У деяких системах для вибору такого режиму потрібно попередньо натиснути на певну клавішу (керуючу переходом до режиму посторінковою видачі і назад) або дати спеціальну команду системі з Бейсиком (Див в табл 35 опис команди SCROLL системи з Бейсиком для мікроЕОМ ZX81 фірми Sinclair при роботі з нею цю команду треба додати рядком 35 до наведеної вище програмі) Роздільники елементів списку виведених даних Загальна форма запису: , або

(,) Кома викликає перехід до наступної зоні для друкування значення елемента (тобто висновок вирівнюється по лівому краю зони, проте в Бейсике ВВС це не так)

()  Крапка з комою викликає друкування значення елемента впритул до попереднього значенню Якщо список виведених даних завершується комою або крапкою з комою, то переходу до нового рядка не відбувається і наступний оператор PRINT продовжить зображення на тому ж рядку

Оператор PRINT з порожнім списком виведених даних (тобто в ньому не вказано жодного елемента)

викликає перехід до нового рядка

Зони зазвичай фіксовані і, як правило, мають ширину в 15 символів

Зауваження

(А)У Бейсике Sinclair екран розбивається на рядки по 32 позиції (пронумеровані від 0 до 31), а зони починаються в шпальтах 0 і 16

(Б)Версії БейсикаMicrosoft  іВВСдозволяють перевстановити довжину рядка за допомогою оператора WIDTH N, де N константа або вираз, що задає число позицій в рядку

(В)У Бейсике ВВС строкові дані вирівнюються по лівому краю зони, а числові – по

правому

У Бейсике ВВС є додаткові можливості:

() Роздільник у вигляді апострофа викликає перехід на новий рядок

Цілий спектр можливостей надається за допомогою присвоювання значень чотирьохбайтового цілої змінної @% Значення самого молодшого байта (від 0 до 255) задає ширину зони Інші три байта (справа наліво) керують числом друкуються цифр (від 0 до 9), форматом друку числових значень (0,1 або 2), а також результатом звернення до функції STR$

Значення кожного байта задається двозначним шістнадцятковим числом Таким чином, діапазон значень 00 .. FF Наведемо три приклади, задавши значення байта зони і пляжів інші три байта нульовими:

@%=&amp0000 0009 встановлює ширину зони рівний 9, @% = & 00 00 00 0С встановлює ширину зони рівний 12,

@%=&amp000000 14 встановлює ширину зони рівний 2ф (Символ & вказує на запис числа в шістнадцятковій формі)

У багатьох системах за допомогою оператора PRINT можна отримати такі можливості управління розміщенням зображення на екрані, як адресація курсора і псевдографіка (див розд 66)

Джерело: Уолш Б Програмування на Бейсике: Пер з англ М: Радіо і звязок, 1988 336 с: ил

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*