РЯДКИ СИМВОЛІВ

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

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

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

421 Строкових змінних

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

10 PRINT ДІМ; Н Т (Н) Пінта МОЛОКА ВІДПРАВЛЕНО

Рядок може містити будь-яку літеру алфавіту, будь-яку цифру і будь-який з спеціальних символів, таких як / £; & = $ @ + – #, І пробіл Вона може містити і не друковані символи, викликають при друку рядка деякі дії, наприклад переміщення курсору На відміну від більшості операторів Бейсика, в рядку пробіл враховується

До цих пір ми в основному мали справу з змінними, здатними зберігати тільки числові значення Однак існує й інший тип змінних, які здатні зберігати тільки рядки і називаються строковими Імена цих змінних вибираються за загальним правилом, але в кінці імені додається знак $ Між однойменними числовими і рядковими змінними не повинно бути ніякого звязку тому строкова змінна А $ повинна повністю відрізнятися від числової змінної А Нижче наводиться міні-програма, яка ілюструє застосування строкової змінної:

10 REM ПРИКЛАД РОБОТИ ЗІ рядків символів

20 PRINT Назви ВАШУ ПРІЗВИЩЕ ЛАСКА ;

30 INPUT A$

40 PRINT ДОБРИЙ ДЕНЬ,; A $ ! Як поживає

50 END RUN

Назвіть ВАШУ ПРІЗВИЩЕ, БУДЬ ЛАСКА

?УОЛШ

ДОБРИЙ ДЕНЬ, УОЛШ Як поживає END AT LINE 50

Запустимо її ще раз: RUN

Назвіть ВАШУ ПРІЗВИЩЕ, БУДЬ ЛАСКА

?276 ДОБРИЙ ДЕНЬ, 276

Як поживає END AT LINE 50

Все, що, дається в якості введення, поміщається в строкову змінну і пізніше роздруковується

Єдине обмеження полягає в тому, що в

Бейсике при введенні оператором INPUT кома сприймається як роздільник елементів даних

Повторний запуск програми

RUN

Назвіть ВАШУ ПРІЗВИЩЕ, БУДЬ ЛАСКА

?УОЛШ, ЛАРА

WARNING EXTRA INPUT IGNORED (Попередження додаткове введення проігнорований)

ДОБРИЙ ДЕНЬ, УОЛШ Як поживає END AT LINE 50

показує, що кома та зазначені після неї символи ігноруються Якби в рядку 30 було зазначено INPUT A $, B $, то перший з наведених вище елементів даних (УОЛШ) був би поміщений в А $, а другий (ЛАРА)-в В $ Правда, є засіб вважати весь рядок однієї змінної незважаючи на число запитах в рядку (див в підрозділ 424)

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

Повторимо запуск програми: RUN

Назвіть ВАШУ ПРІЗВИЩЕ, БУДЬ ЛАСКА УОЛШ, ЛАРА

ДОБРИЙ ДЕНЬ, УОЛШ, ЛАРА Як поживає END OF LINE 50

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

припустимі наступні оператори:

10 А $ = ЛАРА

10 С $ = £ 256

10 В $ = С $

10 IF Y $ = ТАК THEN 200

10 IF X $ <> AS THEN PRINT ВСЕ ГАРАЗД

Наведені вище оператори IF перевіряють збіг двох рядків Прогалини приймаються до уваги Якби Y $ містила ТАК (Зверніть увагу на провідний пробіл), то Y $ не збіглася б з ТАК.

Рядки можуть містити від 0 до дуже великого числа символів Нульове число символів містить рядок “, звана порожній Максимально допустима довжина рядка варіюється від системи до системи (Табл 41)

Таблиця 41Максимальна довжина рядка в різних системах

Система

ВВС

Microsoft

СВМ

PET

Sinclair

ICL 2903/4

Максималь

ная довжина рядка (в символах)

255

255

255

Без

ограниче ний

511

Можуть існувати й обмеження на кількість символів, які можна помістити в рядок за один прийом при введенні з клавіатури або при складанні оператора програми Зазвичай ці обмеження повязані з реалізацією системи і певним чином залежать від довжини рядка екрану ВТУ У типових випадках допустимий максимум дорівнює довжині рядка (скажімо, 40 або 60 символів), а більш довгі рядки можуть бути утворені злиттям декількох рядків

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

Распознаваемое слово вводиться першим потім вводиться пропозицію, що завершується точкою Кожна

складова частина цієї пропозиції набирається на новому рядку Структограмма цієї програми така:

Зверніть увагу на використану вище діаграму ПОВТОРЮВАТИ ДО. Вона вказує на те, що перевірка відбувається в кінці циклу У більшості систем таку конструкцію можна реалізувати за допомогою оператора IF, але в деяких системах з Бейсиком для цього передбачено оператор REPEAT-UNTIL (див гл 6) Сама програма така:

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

*

*