Читайте также: |
|
Задание
Написать программу обработки строки в соответствии с вариантом задания. Ввод строк организовать в программе. Строка должна состоять из нескольких слов и символов, разделителем служит пробел. Вывести на экран обработанную строку.
Краткая теория
Для работы с символами в языке Турбо Паскаль существует специальный тип данных— Char. Константами этого типа являются символами расширенного кода ASCII, заключенные в апострофы. Переменная типа Char занимает один байт памяти. При работе с переменными символьного типа Char можно использовать операции отношения, например 'A'<'B'; стандартные функции Pred и Succ, например Pred('B')='A'; кроме этого существуют специальные функции: Ord — определение по символу его порядкового номера в таблице ASCII, например Ord('A')=65 и функция Chr — определение символа по его порядковому номеру, например Chr(65)='A'.
Для работы со строками в Паскале можно использовать массивы символьного типа как векторы, так и матрицы. Например:
Var c:array[1..10] of char;
Для работы со строками в языке Турбо Паскаль существует стандартный тип данных String (строка), специально предназначенный для обработки строк (цепочек символов). Он не относится к простым типам данных и занимает промежуточное место между простыми и структурированными типами данных. Переменная типа String состоит из цепочки символов, то есть элементов типа Char. В большинстве случаев переменные строкового типа используются для хранения слов и сообщений, состоящих из нескольких символов. При декларации строки в квадратных скобках указывается размер (длина) строки, если же она не указывается, то под переменную отводится максимально возможная длина строки в 255 символов. Например:
Var CharStr1: string [10];
Var CharStr2: string;
К элементам строки можно обращаться как к элементам массива, указывая индекс. Каждая переменная типа String "знает", сколько символов в ней содержится в данный момент. Элемент с нулевым индексом содержит код, равный числу символов в строке, то есть длина строки всегда равна Ord(имя_строки[0]); поэтому, в отличие от типа Pchar, в строке нельзя записывать элемент в ячейку с нулевым индексом.
Для работы со строками используют специальные функции языка: Length, Concat, Copy, Delete, Insert, Pos, UpCase и др.
1) Length (ST) — функция типа Integer; возвращает длину строки ST.
2) Concat ([S1, S2, …SN]) — функция типа String; возврвщвет строку, представляющую собой сцепление строк-параметров S1, S2, … SN.
3) Copy (ST, Index, Count) — функция типа String; копирует из строки ST Count символов, начиная с символа с номером Index.
4) Delete (ST, Index, Count) — процедура; удаляет из строки ST Count символов, начиная с символа с номером Index.
5) Insert (SUBST, ST, Index) — процедура; вставляет подстроку SUBST в строку ST, начиная с символа с номером Index.
6) Pos (SUBST, ST) — функция типа Integer; отыскивает в строке ST первое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращается ноль.
7) UpCase (Ch) — функция типа Char; возвращает для символьного выражения Ch, которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву; если значением Ch является любой другой символ, функция возвращает его без преобразований.
Также в Турбо Паскале есть разновидность строкового типа - тип Pchar. Он представляет собой последовательность символов (как массив-вектор символьного типа). Длина этой цепочки может меняться в ходе программы. Доступ к элементам типа Pchar такой же, как и к элементам массива, но нумерация индексов начинается с нуля. Максимальный размер переменной этого типа может быть 65535 символов.
Дата добавления: 2015-11-03; просмотров: 39 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
После упругого удара энергия шаров | | | Многоформная экссудативная эритема |