ВИСНОВОК У операторі INPUT

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

10 PRINT ЧИСЛО РОКІВ =

20   INPUT Y

призведуть до виникнення зображення ЧИСЛО РОКІВ = _

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

10 PRINT ЧИСЛО РОКІВ =;

20   INPUT Y

призведуть до виникнення зображення ЧИСЛО РОКІВ = _

і зображення набирається значення буде зявлятися після знаку питання на одному рядку з текстом

У багатьох системах для мікроЕОМ допускається розширення можливостей оператора INPUT, що має той же ефект, що проілюстрований в останньому прикладі Загальна форма запису розширення така:

INPUT текст; список елементів даних Таким чином, оператор

10 INPUT ЧИСЛО РОКІВ =; Y

видасть те ж, що й вище: ЧИСЛО РОКІВ = _. Бейсік ВВС надає більше можливостей, ніж більшість інших систем, і дозволяє в списку елементів даних оператора INPUT змішувати текст і дані, що вводяться, відокремлюючи текст від даних, що вводяться комою або зовсім не вказуючи роздільник між ними, наприклад:

10 INPUT ЧИСЛО РОКІВ =, Y, І ВІДСОТОК = I

Див підрозд 416 з приводу інших особливостей застосування коми чи крапки з комою при введенні оператором INPUT списку значень в одному рядку

351 ФУНКЦІЇ, КЕРУЮЧІ ОПЕРАТОРОМ PRINT

Досі розташування тексту і результатів управлялося вживанням в операторах ком або точок з комами Проте великі можливості управління забезпечуються за рахунок застосування таких функцій, як TAB і SPC

Функція TAB не є просто генератором певного числа пробілів вона робить спробу переміщення до колонку, номер якого передано їй як аргумент Ця функція реалізована для більшості версій Бейсика Якщо їй як аргумент передано значення N, то вона намагається перемістити поточну позицію друку наступного символу вперед (зліва направо) у стовпець з номером N Якщо це неможливо через те, що поточна позиція перевищує N, то функція здійснює перехід на новий рядок і потім позиціонує висновок в стовпець N нового рядка Таким чином, оператор

PRINT A TAB (12) В TAB (24) З

надрукує значення А, починаючи з першої позиції рядка, значення В – з дванадцятої, а значення С

– з двадцять четвертої

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

10 PRINT МІСЬКА КВАРТИРА; TAB (25) P1 20 PRINT суміжних ДІМ; TAB (25) Р2

30 PRINT ОСОБНЯК; TAB (25) Р3 40 PRINT САРАЙ, що вимагає відходу; TAB (25) Р4 В результаті ціни будуть збудовані в стовпчик незалежно від довжини опису виду житла:

САРАЙ, що вимагає відходу 200

Реалізації функції TAB різняться Принаймні, в одній – двох системах згаданого вище переходу на новий рядок не відбувається, і якщо поточна позиція друку перевищує N, то функція TAB попросту ігнорується

Використовуючи функцію TAB зі значенням аргументу X, обчислюваним в програмі, можна отримувати грубі зображення графіків В якості X можна задавати будь-який вираз його дрібна частина відкидається, так як при зображенні можливі тільки цілочисельні координати Програму видачі гістограми з підрозд 351 неважко модифікувати таким чином:

5 REM ПРОГРАМА ДЛЯ ГРУБОГО ПОБУДОВИ ГРАФІКА

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

20 FOR Х = 0 ТО 7 STEP 5

30   Y=X**2+3

40   PRINT &quot!&quot TAB(Y) ‘*&quot

50 NEXT X

60 END

Ця програма видасть наступне зображення (див зауваження про переміщення зображення при заповненні екрану, підрозд 351):

Існують інші корисні функції управління виводу, що не входять в стандарт Бейсика У табл 35 – 38 перераховані функції управління виводу, наявні в деяких системах Зверніть увагу на функцію SPC (N), що виводить N прогалин, де N обмежена діапазоном 0 .. 255

Деякі інші функції дозволяють переміщати курсор (тобто поточну позицію друку) назад, вперед, на інші рядки екрану, а також видавати нове зображення на місці вже існуючого Таблиця 3 5 Функції управління виводу в Бейсике для персональної ЕОМ ZX81 фірми Sinclair

Функція / оператор

Призначення

ATX, Y

CLS SCROLL TAB Y

Чи не є речовій функцією, а

застосовується в операторі PRINT для вказівки рядка (Y) і стовпця (X), в яких має розпочатися зображення наступного елемента даних (Верхній рядок екрана має номер 0, нижня 21, крайній лівий стовпець рядка має номер 0, крайній правий 31)

Оператор, що викликає стирання зображення з екрану

Оператор для переміщення зображення вгору на один рядок

Чи не є речовій функцією, а застосовується для переміщення позиції друку чергового елемента даних в стовпець Y

Таблиця 36 Функції управління виводу в Бейсике Microsoft

Функція / оператор

Призначення

HOME

НТАВХ

POS(X)

SPC(X)

TAB (X)

Оператор, що викликає стирання екрану і

переміщення курсору в ліву верхню позицію екрану

Оператор, що переміщає курсор в стовпець, номер якого дорівнює цілій частині X (крайній лівий стовпець має номер 1, крайній правий

40) (Див VTAB)

Функція з фіктивним аргументом X, яка повертає поточну позицію курсору (стовпець) в рядку (Див VPOS (X))

Функція з цілим аргументом X, що зображає

X прогалин

Функція для переміщення позиції друку

чергового елемента даних в стовпець з номером, рівним цілої частини X

VPOS (X) Функція з фіктивним аргументом X, яка повертає номер рядка, в якій знаходиться курсор

VTAB X Оператор, що переміщає курсор по вертикалі в рядок з номером, рівним цілої частини X (верхній рядок має номер 1, нижня 24)

Таблиця 3 7 Функції управління виводу в Бейсике ВВС

Функція / опер

атор

Призначення

CLS

COUNT POS SPC(X)

TAB (X)

TAB(X,Y) VPOS

Оператор, що викликає стирання екрану і

переміщення курсору в ліву верхню позицію екрану (з координатами (0,0))

Функція без аргументів (вхідних параметрів), що повертає число символів, надрукованих на поточному рядку

Функція без аргументів, що повертає горизонтальну позицію курсора (крайній лівий стовпець має номер 0)

Функція, що зображає прогалини в кількості,

рівному цілої частини аргументу X

Функція, що переміщає позицію друку чергового елемента даних в стовпець з номером, рівним цілої частини X

Функція, що викликає переміщення курсору в позицію з координатами (X, Y) (див POS, VPOS) Функція без аргументів, що повертає вертикальну позицію курсора (верхній рядок має номер 0)

Таблиця 38 Функції управління виводу в Бейсике для персональної ЕОМ PET фірми Commodore

Функція / оператор

Призначення

10 PRINT текст,

А У

SPC(X)

Звичайний оператор PRINT, за допомогою якого можна виводити текст і числові

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

Функція, що зображає прогалини в кількості, рівній цілої частини X

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

Крім цих функцій у системі може бути присутнім функція CLS, що викликає стирання екрану і переміщення курсору в його лівий верхній кут Взяті разом, ці функції дають програмі на Бейсике повну свободу управління позиціонуванням виведення в будь-яке місце екрану ВТУ Ці функції можуть застосовуватися для пожвавлення псевдографічний виведення в ігрових програмах, в прикладних програмах, що демонструють, наприклад, потік рідини по трубах і т д З приводу псевдографіки див розд 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>

*

*