Обработка текстовых данных

Обработка текстовых данных Как уже упоминалось, в языке Pascal является два вида текстовых данных: символические (char) и строчные (string). Для работы с символическими данными являются функции: Chr и Ord. Функция Chr по коду производит соответствующий символ, например, результатом функции Chr (66) будет символ 'B'. Функция Ord производит код своего аргумента: значением функции Ord ('B') будет число 66. Символические данные можно объединять в массив, например: Var P: array of char; Фактически P — это строка из 50 символов. Его можно ввести в цикле. Специальная функция Length (T) возвращает целое число — количество символов в строке. Строку можно ввести с клавиатуры с помощью оператора Readln. Например: Readln (Т); Для строчных данных допустимая операция сцепления, например: Q = 'Большой' + 'Днепр'; Но возможен и такой вариант: LivePole = ''; {Это пустая строка} For i = 1 to k do LivePole = LivePole + ''; После завершения цикла переменная LivePole будет иметь k промежутков. Для обработки данных типа String используют специальные подпрограммы. Процедура Insert (S1, S2, Npoz) вставляет строку S1у строку S2, начиная с позиции Npoz. Пример: S2: = 'Приватизация'; Insert ('х', S2, 4); {В S2 будет — Прихватизация} Процедура Delete (S1, Npoz, Kil) изымает из строке S1 подстроку с Kil символов, начиная с позиции Npoz. Пример: S1: = 'Закрепить'; Delete (S1,3,3); {В S1буде — запросы} Функция Copy (S1, Npoz, Kil) выполняет копирования последовательности из Kil символов с позиции Npoz строке S1. Пример: S2 = Copy («Металлист», 5,3); {В S2 будет — лес} Функция Pos (S1, S2) ищет в S2 (с левого края) подстроку S1. Результатом функции является целое число — номер позиции, начиная с которой подстрока S1 первый раз входит в S2. Если S1 в S2 нет, результат равен нулю. Пример: S2: = 'Власть или Безвластие'; Nom = Pos ('', S2); {Nom станет равным 6} Чтобы найти в тексте место второго промежутка, надо что-то сделать с первым, например , заменить его на '*'. S2: = '*'; Функция Concat (S1, S2, ..., SN) выполняет сцепления строк S1, S2, ..., SN в одну строку. Пример: Подсчитать количество слов в заданном предложении. Var s: String; i, j: Byte; Begin Write ('Input line:'); Readln (s); s = s + ''; j = 0; For i = 2 to Length (s) do If (s = '') and (s <> '') Then j = j + 1; Writeln ('Result =', j); End.

Комментарии и пинги к записи запрещены.

Комментарии закрыты.