РЯДКИ З продовженням ОПЕРАТОРІВ

У небагатьох системах, наприклад в Бейсике Microsoft, надається засіб записи логічного рядка у вигляді декількох фізичних рядків Для цього в Бейсике Microsoft замість завершення набору рядка натисканням на клавішу повернення каретки треба набрати символ прогону рядка (CONTROL J) і продовжити набір оператора на наступному рядку:

10 А = 10 * В + Z * (С +2 * В) <повернення каретки>

20 PRINT А <повернення каретки>

Таким чином, одна логічна рядок може займати кілька фізичних рядків, якщо при її наборі користуватися спеціальними керуючими символами Зазвичай існує межа для загального числа символів в логічній рядку типове значення такої межі 255 символів У Бейсике ВВС набір рядки можна продовжити, навіть якщо досягнуто її кінець: курсор автоматично переміститься на початок наступного рядка Натискати на клавішу повернення каретки треба тільки наприкінці логічної рядка

Подібна можливість вигідна при написанні довгих операторів типу PRINT USING або IF Крім того, її можна поєднувати з написанням кількох операторів в одному рядку для утворення блоків операторів з великим розміром (див підрозд 641)

642 ОПЕРАТОРИ IF-THEN-ELSE

Оператор IF-THEN-ELSE відповідає одній з основних конструкцій структурного програмування Оператор

IF A&gt2 AND B&lt0 THEN Z = 1 ELSE Z=2

присвоїть Z значення 1, якщо умовний вираз істинно, і 2, якщо це вираз помилково Він в точності відповідає структограмме

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

IF A&gt0 THEN T=S+1: I=I+1 ELSE S=0:I=J

відповідає структограмма

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

210 IF А> 0 THEN REM ДОДАТИ До СУМІ S = S + A: I = 1 +1

ELSE REM ВИЙТИ З потрібні значення T = S * S

В принципі оператори IF-THEN-ELSE можуть бути і вкладеними, але при їх написанні згадувані вище обмеження на довжину рядка виявляються ще більш соромязливими Зрозуміти серію вкладених операторів IF при записі в один рядок майже неможливо Крім того, такий запис вимагає особливої ​​акуратності, так як, наприклад, дія оператора

IF A> B THEN IF B> 0 THEN Z = l ELSE Z = 2 в Бейсике Microsoft представляється структограммой

оскільки ELSE звязується з найближчим до нього THEN

У Бейсике ВВС службове слово ELSE розглядається як роздільник, що розщеплює рядок на дві частини, що відповідають можливим результатам (ІСТИНА або БРЕХНЯ) обчислення умовного виразу оператора IF Тим самим у однієї логічної рядку дозволяється наявність тільки одного ELSE, хоча при цьому текст оператора можна розміщувати на декількох (фізичних) рядках, наприклад:

100   IF A&gtB THEN PRINT A,B

ELSE PRINT В, А <повернення каретки>

Крім того, ELSE можна додавати до операторів ON-GOTO і ON-GOSUB для того, щоб виконувати певні дії за умовчанням, наприклад:

ON I+J GOTO 100, 200, 300, 400: ELSE GO TO 1000 194

ON I + J GOSUB 100, 900, 200: ELSE PRINT ПОМИЛКА: STOP

Джерело: Уолш Б Програмування на Бейсике: Пер з англ М: Радіо і звязок, 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>

*

*