Мова програмування pascal - урок 6

Поряд з числовою інформацією в Паскалі використовується алфавітно-цифрова або символьний інформація, яка включає в себе великі, малі літери, цифри від 0 до 9 і допоміжні символи. Для опису символьних змінних використовується тип даних CHAR або STRING.

Тип даних CHAR

Кожна змінна символьного типу може приймати значення тільки одного символу. Всі символи впорядковані відповідно до прийнятого в ЕОМ коді (наприклад ASCII). При цьому порядковий но мер символів називається кодом (наприклад, код латинського символу 'А' дорівнює 65; символу '3' дорівнює 51).
Для символьних даних не визначені жодні арифметичні операції, але вони можуть порівнюватися за своїми кодами, брати участь в читанні, друку, операторах присвоювання. Існують дві стандартні функції перетворення:
1) ORD (C) приймає значення коду символу С;
2) значення функції CHR (I) є символ з кодом Наприклад: ORD ( 'А') = 65
CHR (ORD (C)) = C; CHR (65) = A;
Рядок - це послідовність символів. Рядок можна уявити як масив, елементи якого мають тип CHАR. наприклад:
BUK: array [1..17] of char;
Масив BUK-масив символів, який містить 17 символів. Якщо символів менше, то рядок доповнюється пробілами справа. В про протилежному випадку виникає помилка невідповідності типів. Так як масиви символів є звичайними масивами з елементами типу CHAR, вони мають всі властивості масивів.

Приклад. З набору 10 будь-яких символів надрукувати лише великими англійські букви і їх коди.

program lr1;
type sl = array [1..10] of char;
var s: sl;
i: integer;
begin
writeln ( 'введіть 10 символів'):
for i: = 1 to 10 do readln (s [i]);
for i: = 1 to 10 do
if (s [i]> = 'A') and (s [i]<= ‘Z’) then
writeln ( 'Символ:', s [i], 'його код =', ord (s [i]);
readln;
end.

У Турбо Паскалі передбачений тип даних STRING. Змінна типу STRING може набувати значень змінної довжини. Максимально можлива довжина змінної 255 символів. наприклад:
str: STRING [200];
ow: STRING [10];
У дужках вказується максимальна довжина для даної змінної. Для введення значень типу STRING необхідно використовувати READLN, а не READ. За один раз може бути введена тільки один рядок. Два рядки можна порівнювати, використовуючи операції відносини (спочатку порівнюються самі ліві символи, якщо вони рівні, то порівнюються наступні). Для роботи зі змінними типу STRING використовують такі стандартні процедури і функції:

1) Функція LENGTH
C: = LENGTH (str); Змінної С буде присвоєно ціле значення, що показує колічествo символів в строкової змінної str.

2) Функція СОNCAТ - зчеплення рядків в порядку їх перерахування.
str: = CONCAT (st1, st2. stN); str-змінна типу STRING, що складається з рядків st1. stN.

3) Функція POS
P: = POS (st1, st2); Р-ціле число, що показує номер позиції, з якої починаючи-ється рядок st1 в строкe st2.

5) Процедура DELETE (Str, I, J);
З рядка str видаляється J символів, починаючи з I позиції.

6) Процедура INSERT (Str1, Str2, I);
Рядок Str1 вставляється з I позиції в рядок Str2.

7) Процедура STR (V, S1);
Числове значення змінної V перетворюється в рядок символів і записується в рядок S1.

8) Процедура VAL (S1, V, C);

Рядковий вираз S1 перетворюється в величину целочіслен ного або дійсного типу і записується в змінної V. Якщо при цьому помилок не виявляється, то С буде дорівнює 0. В іншому випадку значення С буде дорівнює номеру позиції пров вого помилкового символу і V буде визначено. Рядок S1 не повинна містити незначущих прогалин, змін ная V може бути цілою або речовій, а змінна С - тільки цілої.


Приклад. Підрахувати кількість слів у введеному з клавіатури рядку.

Схожі статті