Символьный тип данных
составила Лидер Н.Ю.,
учитель информатики МБОУ «СОШ № 22» г.Новокузнецк
Символьный тип (Char)
это тип данных, состоящих из одного символа (знака, буквы, кода). Значением типа Char может быть любой символ из набора ASCII. Если символ имеет графическое представление, то в программе он записывается заключенным в одиночные кавычки (апострофы), например:
'ж' 's' '.' '*' ‘ ' -(пробел)
Для представления самого апострофа его изображение удваивается: '''' .
Каждый такой символ занимает 8 бит памяти, всего существует 256 восьмибитовых символов. Все символы, используемые символьным типом Char записаны в таблице символов ASCII (American Standart Code for Information Interchange) или Американский стандарт кода для обмена информацией.
Если же символ не имеет графического представления, например, символ табуляции или символ возврата каретки, то можно воспользоваться эквивалентной формой записи символьного значения, состоящего из префикса # и ASCII-кода символа:
#9 #32 #13
Допустимые операции : - присваивание; - сравнение: , =, , =. Большим считается тот символ, который имеет больший ASCII-номер.
Функции для данных символьного типа
Функция
Назначение
chr(x)
Преобразует числовой код символа в сам символ, например, если взять числовой код 64, то функция Chr (64) возвратит символ '@'.
ord(x)
Преобразовывает символ в её числовой код из таблицы ASCII . Например для символа '№' она возвратит значение 185.
pred(x)
Возвращает значение предыдущего символа из таблицы ASCII, например для символа 'P' (Pred (P)) эта функция возвратит символ 'O'.
succ(x)
Обратная функции Pred. Для символа 'P' функция Succ (P) возвратит символ 'Q', то есть следующий символ из вышеописанной таблицы ASCII.
Upcase (x)
Применима только для строчных букв английского алфавита. Данная функция преобразует строчные английские буквы в заглавные.
Строковый тип ( String, String[n] )
этот тип данных определяет последовательности символов - строки. Параметр n определяет максимальное количество символов в строке. Если он не задан, подразумевается n=255 . Значение типа "строка" в программе записывается как последовательность символов, заключенных в одиночные кавычки (апострофы), например
'Это текстовая строка' 'This is a string' '1234' - это тоже строка, не число '' - пустая строка
Допустимые операции: - присваивание; - сложение (конкатенация, слияние); например, S := 'Зима'+' '+'пришла!'; - сравнение: , =, , =. Строки считаются равными, если имеют одинаковую длину и посимвольно эквивалентны.
Строковый тип данных ( STRING ) в Паскаль служит для проведения операций с текстом, состоящим из различных символов. В одну переменную типа String можно записать до 255 символов. По сути это массив, содержащий в себе элементы типа char (символьный тип данных). Переменная string описывается так же, как и переменные типа real или integer .
var s: string ; // s – любая переменная, не описанная ранее
Если вы хотите указать максимальное количество символов, которое может содержать в себе строка, то это делается в квадратных скобках :
var s: string [ 8 ]; // 8 – максимальное кол-во символов в строке
Для строки применимы процедуры read (readln) и write (writeln) , строку можно как считать, так и вывести целиком:
readln (s);
write (s); Если при считывании строки вводимое слово длиннее, чем длина строки, то запишется только то количество символов, которое указано в квадратных скобках. К отдельным элементам строки обращаются так же, как и к элементам массива, указывая в квадратных скобках номер символа.
write (s[ 5 ]); // Вывод 5-го символа
При присваивании строке или символу какого-либо значения оно указывается в одинарных кавычках (').
Пример программы на Паскаль
с использованием типа string: var s: string [6];
begin s:='Пример';
writeln(s);
end.
Данная программа выводит слово «Пример».
процедура удаления символов в строке — Delete (s,pos,n)
Эта процедура удаляет n символов из строки s , начиная с позиции pos . Задаются они следующим образом: сначала нужно указать из какой строки нужно удалять, далее — с какой ячейки (позиции), а затем — сколько символов. Параметры переменных для данной стандартной подпрограммы такие: Var s:string; pos, n:integer;
Пример программы с процедурой удаления: var s:string; pos, n: integer; //Описание переменных
Begin
s:='ПриМмер'; //Инициализация строки
Writeln (s); //Вывод строки
Delete (s, 4, 1); //Удаление лишней буквы М
Writeln (s); //Вывод строки
end.
Данная программа выведет слово «Пример», которое получилось из слова «ПриМмер».
процедура вставки одной строки в другую insert (s1,s2,pos)
В строку s2 , начиная с позиции pos , процедура insert вставляет строку s1 . Сначала указывается какую строку нужно вставлять, потом куда (в какую строку), а затем — с какой позиции. Строки s1, разумеется, должны быть типа string , а переменная (число) — позиция типа integer . Пример программы, использующей подпрограмму вставки: var s1, s2: string ; pos, n: integer; //Описание переменных
Begin
s2:='Приер'; //Инициализация строк
s1:='м';
Writeln (s1,' ',s2); //Вывод строк
insert (s1, s2, 4); //Вставка буквы/строки м
Writeln (s2); //Вывод строки
end. Данная программа Pascal выведет слово «Пример», полученное из слова «Приер», путем вставки строки «м».
процедура преобразования типа integer или real в тип string.
Данной процедурой является процедура Str (int, s) . Число int типа integer или real преобразуется в строку s типа string.
Общий вид Val(Stroka, Chislo, Code)
Процедура Val преобразует значение строки Stroka в величину целочисленного или вещественного типа и помещает результат в Chislo. Значение строковой переменной Stroka не должно содержать пробелов в начале и в конце. Code – целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Code равно нулю, если же ошибка обнаружена, Code будет содержать номер позиции первого ошибочного символа, а значение Chislo будет не определено.
Program DemoProcedureVal; Var Word : string; Chislo, Code : integer; Begin writeln('Введите строку цифр '); readln(Word); Val(Word, Chislo, Code); {преобразование строки в число} if Code 0 then writeln('Ошибка! В позиции ',Code,' не цифра!'); End.
процедура val
Процедура VAL осуществляет преобразование строкового вида числа в само число , которое можно легко записать в вещественную (типа real ) или целочисленную (типа integer ) переменную.
У процедуры 3 параметра: val (s, v, w),
где s – строка, которую нужно преобразовать в число,
v – символьная (типа данных Char ) или вещественная (типа данных Real ) переменная, в которую будет записано это число,
w – параметр, который, в случае какой-либо ошибки будет содержать номер позиции (ячейки), в которой обнаружен неверный символ.
Общий вид Str(Chislo, Stroka)
Процедура Str преобразовывает числовое значение переменной Chislo в строковую переменную Stroka. После первого параметра может указываться формат, аналогичный формату вывода.
Program DemoProcedureStr; Var Word : string; Chislo : integer; Begin Chislo := 1560; Str(Chislo:8, Word); writeln(Word); {выводится строка ' 1560'} End.