Рядкові змінні

Рядкові константи – це послідовність символів ув'язнених в апострофи.

1. CONST S = 'Інформатика'

2. TYPESTROKA:=STRING; (256 символів) або STRING [n], де n – число символів.

3. VAR A, B: STRING [n];

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

Стандартні процедури та функції для роботи з рядковими змінними

STR1, STR2, STR3 – рядкові змінні.

1. Видалення та вставка

Процедура, яка видаляє з рядка STR1, підрядок довжиною m, починаючи з позиції n.

DELETE (STR1, 4, 2);

- Нульовий індекс при поводженні з елементом рядка зберігає інформацію про довжину рядка.

2. INSERT (STR1, STR2, n);

Ця процедура вставляє рядок STR1, підрядок STR2, починаючи з позиції n.

INSERT (STR1, STR2, 4);

або INSERT (STR1, 'еч', 4);

LENGTH (STR1): INTEGER;

Копіювання: COPY (STR1, n, m);

Функція, яка виділяє з рядка STR1, підрядок довжиною m, починаючи з позиції n.

CONCAT (STR1, STR2);

Конкатація- зчеплення (складання, об'єднання).

До змінних рядкового типу застосовні операції порівняння (=,

змінні
, >, , : , );- процедура, яка для заданого числа формує рядок, що представляє його, зазначеного розміру із заданою кількістю знаків у дробовій частині, рядок має бути заданий, як Ім'я зміною, параметри, розмір та кількість можуть бути відсутніми.

STR(19, 48: 5: 2, STR1);

Зворотне перетворення здійснюється процедурою:

Використовуючи рядок із цифр без пробілів, формують число (машинне уявлення) або видає номер помилкового знака у рядку.

Безліч значень CHAR є символи, впорядковані згіднотаблиці розширеного коду Коди з 0 до 31 – службові. Якщо потрібно за кодом отримати символ, використовують функцію CHR:

а) CHR (98) = # 98 = 'b'

б) оператори виведення:

WRITELN ("MO", # 115 # 99, "OW");

WRITELN (CHR(77), CHR(111), CHR(115), CHR(99), CHR(111), CHR(119));

Видача звукового сигналу: WRITE (# 7);

Зворотне перетворення здійснюється за допомогою функції ORD.

Для цілих чисел

Функція UPCASE ( ); повертає символ – латинську літеру у верхньому регістрі або символ, якщо він не має уявлення у верхньому регістрі або букву кирилиця.

Приклад:a)Даний рядок символів. Необхідно підрахувати загальну кількість символів + - *

VAR S: STRING [N];

FOR I:=1 TO LENGTH (S) DO

IF (S [I] = '+') OR (S [I] = '-') OR (S [I] = '*') THEN M: = M + 1 END;

б) Дано: рядок символів, групи символів у цьому рядку розділені пробілами (одним чи кількома) – ці групи називатимемо словами. Необхідно підрахувати кількість слів.

TYPE STROKA: = STRING;

FOR I:=1 TO LENGTH (C) DO

IF C [I] = '' THEN

IF C [I-1] <> THEN K:=K+1;

Питання для закріплення:

1) Визначити значення символьної змінної d після виконання наступних операторів:

2) Обчислити S-суму порядкових номерів всіх літер, що входять у слово SUM.

3) Надрукувати заданий непустий текст, видаливши з нього всі цифри та подвоївши знаки плюс та мінус.