char Для обработки символьных (литерных) данных используется тип char (от слова character). char Значениями типа char служат все символы, которые могут высветиться на экране дисплея: цифры, буквы, знаки операций, специальные символы и т.д. char Переменная, объявленная как char, может принимать значение только одного символа. Это значение можно присвоить переменной с помощью оператора присваивания или ввода с клавиатуры. Пример.Экран Var lit:char;а … lit:=а; write (lit); Cимвол, который присваивается, обязательно заключается в апострофы, но не при вводе с клавиатуры. При выводе значения переменной литерного (символьного) типа кавычки (штрихи) не печатаются
) Каждому символу ставится в соответствие код – целое число в диапазоне В Турбо-Паскале для хранения символа отводится 8 разрядов (1 байт). Символы с кодами относятся к служебным кодам. При их использовании в тексте Турбо-Паскаля они считаются пробелами. Допускается использовать запись символа путём указания его внутреннего кода, которому предшествует символ #, например,: #65-прописная латинская буква A #27-ESC #8-BS #13-CR (ENTER – возврат каретки)
Операции над данными типа char Так как символы языка упорядочены, то к символьным данным применимы операции отношений (сравнений): >=Результатом операции сравнения является логическая константа TRUE или FALSE. ПРИМЕР:A-FALSE
Встроенные функции НазначениеИмя функци и Тип аргументаТип результата Возвращает порядковый номер Ord(x) charbyte Возвращает значение, которое соответствует Ord(x) - 1 Pred(x)символьный положительное число в диапазоне от 0 до 255 Возвращает значение, которое соответствует Ord(x) + 1 Succ(x)символьный положительное число в диапазоне от 0 до 255 Преобразует выражение типа byte в символ и возвращает этот символ в качестве своего значения Chr(x) bytechar
Примеры 1. Пусть символы вводятся с клавиатуры. Подсчитать, сколько раз среди них встретится символ восклицательный знак. Признаком окончания ввода символов служит нажатие символа /. Program voskl; Var c: char; k: byte; BEGIN read( c ); k:=0; while c / do begin if c=! then inc( k ); read( c ) end; write ( k ); END. Нет нет с да c / c = ! начало k:=0 да k:=k+1 c k конец