Символы и строки (информатика).ppt
- Количество слайдов: 12
ТИПЫ ДАННЫХ: СИМВОЛЬНЫЙ (CHAR) СТРОКОВЫЙ (STRING)
СИМВОЛЬНЫЙ ТИП ДАННЫХ • • Для описания символьных переменных используется тип данных CHAR. включает в себя заглавные, строчные буквы, цифры от 0 до 9 и вспомогательные символы.
ТИП ДАННЫХ CHAR: Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например ASCII). Порядковый номер символов называется кодом (например, код латинского символа 'А ' равен 65; символа '3' равен 51).
ФУНКЦИИ ПРЕОБРАЗОВАНИЯ(CHAR): 1) ORD (C) принимает значение кода символа С; 2) значение функции CHR(I) является символ с кодом Например: ORD('А ')=65 CHR(ORD(C))=C ; CHR (65) = A ; 3) Pred(x) – возвращает предыдущий символ 4) Succ(x) – возвращает последующий символ 5) Up. Case(x) – преобразует символы латинского алфавита из строчных символов в прописные 6) Low. Case(x) – преобразует символы латинского алфавита из прописных символов в строчные
ПРИМЕР ПРОГРАММЫ: Из набора 10 любых символов напечатать только заглавные английские буквы и их коды . var ch: char; begin writeln('введите 10 символов'); for var i : = 1 to 10 do begin read(ch); {ввод массива} if (ch >= 'A') and (ch <= 'Z') then writeln('Символ : ', ch, ' его код = ', ord(ch)); end.
ЗАДАНИЯ Вывести на экран таблицу символов ASCII (код => символ). Вывести таблицу ASCII – символов в текстовый файл ‘ascii. txt’. *Сохраните для себя этот файл. Дана последовательность символов. Вывести на экран «ДА» , если символ А в строке встречается чаще, чем символ В и «НЕТ» в противном случае. Подсчитать количество гласных английских букв в строке. Дана последовательность символов, заканчивающаяся символом ‘/’. Подсчитать количество восклицательных знаков в данной последовательности. Дана последовательность из n символов. Выяснить, в какой половине последовательности (первой или второй), больше символов *. (Не исключается случай равенства).
СТРОКОВЫЙ ТИП ДАННЫХ • • • Строки в Паскале – это данные типа STRING. Они используются для хранения последовательностей символов. В Паскале длина стандартной строки ограничена 255 символами. Под каждый символ отводится по одному байту, в котором хранится код символа. Кроме того, каждая строка содержит еще дополнительный байт, в котором хранится длина строки.
ТИП ДАННЫХ STRING Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например: str: STRING[200]; ow: STRING[10]; В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие).
ПРОЦЕДУРЫ И ФУНКЦИИ(STRING): 1) Функция LENGTH C: =LENGTH(str); Переменной С будет присвоено целое значение, показывающее количествo символов в строковой переменной str. 2) Функция POS P: =POS (st 1, st 2); Р-целое число, показывающее номер позиции, с которой начинается строка st 1 в строкe st 2. 3) Функция COPY S 1: =COPY( str, I, J); Sl-символьная подстрока, выделенная из строки str с позиции I, длиной J символов. 4) Процедура DELETE(Str, I, J); Из строки str удаляется J символов, начиная с I позиции. 5) Процедура INSERT(Str 1, Str 2, I); Строка Str 1 вставляется с I позиции в строку Str 2. 6) Процедура STR (V, S 1); Числовое значение переменной V преобразуется в строку символов и записывается в строку S 1. 7) Функция Compare. Str (const S 1, S 2: string): Integer; сравнивает строки S 1 и S 2 с учетом регистра и возвращает значение <0, если строка S 1 меньше строки S 2, =0 если строки равны, и >0 если строка S 1 больше строки S 2
function Upper. Case(ch: char): char; Преобразует символ в верхний регистр function Lower. Case(ch: char): char; Преобразует символ в нижний регистр procedure Val(s: string; var value: word; var err: integer); Преобразует строковое представление числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0 function Left. Str(s: string; count: integer): string; Возвращает первые count символов строки s function Right. Str(s: string; count: integer): string; Возвращает последние count символов строки s function Trim(s: string): string; Возвращает строку с удаленными начальными и конечными пробелами function Trim. Left(s: string): string; Возвращает строку с удаленными начальными пробелами function Trim. Right(s: string): string; Возвращает строку с удаленными конечными пробелами
ПРИМЕР: Каждую пятую букву строки заменить на заглавную. var st: string; begin writeln('введите строку символов'); readln(st); for var i: =1 to Length(st) do if i mod 5=0 then st[i]: =Uppercase(st[i]); writeln('Результирующая строка: ', st); end.
ЗАДАНИЯ: Определить, расположены ли символы в строке в порядке возрастания кодов символов. Определить, является ли строка палиндромом. Определить количество цифр в строке. В строке каждый символ с1 заменить символом с2. В числе максимальную и минимальную цифру поменять местами. Решить задачу с помощью строкового типа данных.