ВИРІЗКИ І ФУНКЦІЇ

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

Основна увага приділяється тим функціям, які повертають частини рядків або, більш точно, вирізки Вирізка являє собою послідовність суміжних символів, витягнуту з іншого рядка Так, ДНЕМ і М НАРОДЖЕННЯ являють собою вирізки з рядка З ДНЕМ НАРОДЖЕННЯ, а СДЕНІЯ і НЕРОЖ немає, хоча і є новими рядками, які можна отримати з декількох вирізок вихідної рядка

Якщо рядок А $ містила ДОБРИЙ ДЕНЬ, то в результаті виконання операторів

A1 $ = LEFT $ (A $, 9) A2 $ = LEFT $ (A $, 2) B1 $ = RIGHT $ (A $, 4) В2 $ = RIGHT $ (A $, 9) 109

Таблиця 49 Функції Бейсика із строковими значеннями для персональної ЕОМ ZX81

фірми Sinclair

Результат

Функція

Дія

Перетворення

коду в символ Вирізки рядка

Символьна запис числа

Особливий введення символу

CHR$ N

Виділяється частина рядка не є функцією Рядок (NТОМ) Рядок (N)

STR$N

INKEY$

Дає символ, код якого дорівнює N і

знаходиться в межах 0 .. 255

Вираз в дужках визначає частина рядка від N-ro до М-го символів включно Якщо N пропустити, воно покладається рівним 1 Якщо не вказано М, воно покладається рівним числу символів у рядку

У такій формі дає рівно один N-й символ рядка

Дає рядок, що є символьної записом числа N Зворотною функцією є VAL (більш загальна функція, так як може входити до складу виразів)

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

Таблиця 410 Функції Бейсика Microsoft із строковими значеннями

Результат

Функція

Дія

Перетворення

е коду в символ

CHR$(N)

Дає символ з кодом ASCII, рівним N

Вирізки рядка

LEFT$(A$,N) RIGHT$(A$,N) MID$(A$,N,M)

Дає N лівих (LEFT $) або правих

(RIGHT $) символів рядка А $

Дає М символів рядка А $, починаючи з позиції N

Символьна запис числа

STR $ (A) Дає рядок, що є символьної записом числа А Зворотною функцією є VAL

Особливий введення символів

Засоби форматування виводу

INKEY$ INPUT$(N)

SPACE$(N) STRING$(N,M) STRING$(N,A$)

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

Забезпечує введення з клавіатури N символів (Може бути використана і при роботі з файлами)

Дає рядок з N прогалин

Дає рядок з N однакових символів з кодом ASCII, рівним М, або N-кратно повторює перший символ рядка А $

Різне HEX $ (A) OCT $ (A)

Дає рядок, що містить шестнадцатеричную (НЕХ $) або вісімкову (OCT $) запис числа А, попередньо округленого до цілого значення

Таблиця 411 Функції Бейсика ВВС із строковими значеннями

Результат

Функція

Дія

Перетворення коду

в символ Вирізки рядка

Символьна запис числа

Особливий введення символу

Засоби фор-

матування виведення

CHR$(N)

LEFT$(A$,N) RIGHT$(A$,N) MID$(A$,N,M) STR$(M)

GETS INKEY$(N)

STRINGS(N,A$)

Дає символ, внутрішній код якого дорівнює залишку від

ділення N на 256

Дає N лівих (LEFT $) або правих (RIGHT $) символів рядка А $

Дає М символів рядка А $, починаючи з позиції N

Дає рядок, що є символьної записом числа М

Зворотною функцією є VAL

Не має аргументу очікує введення наступного символу, який і надає як значення функції

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

порожній рядок (у цих функцій є версії з числовими значеннями)

Дає рядок, складений з N копій рядка А $

Таблиця 412 Функції Бейсика із строковими значеннями для персональної ЕОМ СВМ PET

Результат

Функція

Дія

Перетворення коду

в символ

CHR$(N)

Дає символ з кодом ASCII, рівним N

Вирізки рядки LEFT $ (A $, N) RIGHT $ (A $, N) MID $ (A $, N, M)

Дає N лівих (LEFT $) або правих (RIGHT $) символів рядка А $

Дає М символів рядка А $, починаючи з позиції N

Символьна запис числа

STR $ (A) Дає рядок, що є символьної записом числа А

Зворотною функцією є VAL

Особливий введення символу He функція, а звичайний оператор, наприклад 10 GET A $

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

Таблиця 413 Функції Бейсіка із строковими значеннями для ЕОМ ICL 2903/4

Результат Функція Дія

Перетворення коду в символ

CHR $ (N) Дає символ, внутрішній код якого дорівнює залишку від ділення N на 64

Вирізки рядки SEG $ (A $, N, M) SUB $ (A $, N, M)

в позиціях з N-й по М-ю, а в разі SUB $ – з М символів, починаючи з N-й позиції рядка А $

Символьна запис числа STR $ (A) Дає рядок, що є символьної записом числа А Зворотною функцією є VAL

Засоби форматування виводу

GAP$(N)

SGN$(X)

LIN$(N) DEL$(A$,B$, N) SDL$(A$,B$, N) REP$(A$,B$, C$,N) SRP$(A$,B$,

Повертає символи +, – або пробіл відповідно при позитивному, негативному або нульовому значенні X Дає N символів переходу до нового рядка Видалення з рядка А $ першу (DEL $) або всіх

(SDL $) входжень в неї рядки В $ Заміна в рядку А $ першу (REPS) або всіх (SRP $) входжень в неї рядки В $ на рядок С $

                                                 C$,N)                                                                                                                А1 $ міститиме ДОБРИЙ ДЕ, А2 $ ДО, В1 $ ДЕНЬ, а В2 $ – БРИЙ ДЕНЬ. Якщо нам потрібно виконати присвоювання

С1 $ = MID $ (А $, 8,4)

С2 $ = MID $ (А $, 4,8) C3 $ = MID $ (A $, 4)

то C1 $ прийме значення ДЕНЬ, С2 $ рий ДЕНЬ, а С3 $ отримає як значення всі символи праворуч від четвертого, тобто теж рий ДЕНЬ.

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

10 REM ПРИКЛАД ДІЙ НАД рядків символів

20 А $ = Октя ДЕКА

30 B $ = брь

40 FOR I = 1 ТО 9 STEP 5

50   C$=MIDS$(A$,1,4)

60   C$=C

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


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

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

Ваш отзыв

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

*

*