Символьный тип (char)

Символьный тип определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора. Символьная константа может записываться в тексте программы тремя способами:

q как один символ, заключенный в апострофы, например: 'A' 'a'

q с помощью конструкции вида #K

q с помощью конструкции вида ^C,

где K - код символа, значение которого находится в пределах 0..255;

C - код соответствующего управляющего символа.

Значением переменной типа char может быть любой символ из допустимого набора.

Переменная символьного типа объявляется в программе следующим образом:

имя:char;

где имя - имя переменной символьного типа;

char - ключевое слово обозначения символьного типа.

 

 

Как и любая переменная программы, переменная типа char может получить значение в результате выполнения инструкции присваивания или ввода (read, readln). Если переменная типа char получает значение в результате выполнения операции присваивания, то справа от знака := должно стоять выражение типа char, например, переменная типа char или символьная константа - символ, заключенный в двойные кавычки.

Пример 3.5.Объявление символьных типов в программе.

Var

ov:char;

ch:char;

К аргументам символьного типа применяются :

q функция определения предыдущего символа pred

q функция определения последующего символа succ

q функция преобразования символа в код ord

q функция преобразования кода в символ chr

q процедура преобразование строчных букв в прописные UpCase.

 

Пример 3.6. Определение предыдущего и последующего символов:

рred('f') = 'E' ; succ('y') = 'Z' .

При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.

Функция преобразования кода в символ chr определяет по порядковому номеру k символ, стоящий на k-ом месте в наборе символов. Порядковый номер имеет целый тип.

Пример 3.7. Программа преобразования кода в символ.

Program prog3_7;

Uses WinCrt;

Var

c:char;

k:byte;

Begin

read(k); {Ввод кода символа }

c:=chr(k); {Преобразование кода в символ}

write (c); {Вывод символа на экран}

End.

 

Функция ord преобразования символа c в код k определяет порядковый номер символа в наборе символов.

Пример 3.8.Программа преобразования символа в код.

programprog3_9;

uses WinCrt;

Var

c:char;

k:byte;

Begin

read(c); {Ввод символа с клавиатуры }

k:=ord(c); {Преобразование символа в код}

write (k); {Вывод кода символа на экран}

End.

 

Процедура UpCase преобразования строчной буквы в прописную имеет следующий формат:

UpCase(с);

где с – строчная буква латинского алфавита.

Пример 3.9. Программа преобразования строчного буквы в прописную.

program prog3_9;

uses Wincrt;

Var

c1,c2:char;

Begin

readln(c1);

c2:=UpCase(c1);

write(c2);

end.

Переменную типа char можно сравнить с другой переменной типа char или с символьной константой. Сравнение основано на том, что каждому сим­волу

поставлено в соответствии число (код). Символу 'О' соответствует число

меньшее, чем символу '9', символу 'А меньшее чем 'В', а символу 'Z' меньшее чем 'а'. Поэтому можно записать ‘1’<...<'9'<...<'A'<...<'Z'<'al<'bl<...<'z'

Символам русского алфавита соответствуют числа большие, чем символам латинского алфавита, при этом справедливо следующее:

'A'<'Б'<'B'<...<'Юl<'Я'<'a'<'б'<'в'<...<'э'<'ю'<'я’.

Переменные и константы типаchar можно использовать при программировании условий.

Пример 3.10. Фрагмент исходного текста завершения работы программы.

Var

ot:char;

Begin

. . .

writein('Продолжить вычисления ? (д/н) ');

readln(ot) ;

if (ot='д') or (ot='Д') then

Begin

. . .

end;

End.

 

Программа сравнивает ответ с двумя символьными константами 'д и 'Д', так как переменная ot может получить 'д', <Д>без<Shift> или 'Д' с <Shift>.

Так как каждый символ языка Pascal кодируется числом, то ниже приведен пример программы, которая с помощью функции chr выводит на экран две таблицы кодировки символов (символы с кодами от 0 до 255). Поскольку символы с кодами от 7 до 13 являются служебными, то вместо этих символов в таблице выводятся пробелы.

Пример 3.11. Программа вывода на экран таблиц с кодами символов.

Program prog3_11;

uses WinCrt;

Var

ch:char; {символ }

dec:integer; {десятичный код символа}

i,j:integer;

Begin

dec :=0 ;

for i:=0 to 15 do {шестнадцать строк }

Begin

dec:=i; { чтобы получить таблицу 128-255}

{ эту инструкцию надо заменить на dec:=i+128;}

for j:=1 to 8 do { восемь колонок }

 

 

Begin

if (dec<7) or (dec>=14) then

write(dec:5, ' ' , chr(dec):1)

else {символы c кодами 1-32 не

отображаются}

write(dec:5,' ');

dec:=dec+16;

End;

writeln; { 'переход к новой строке экрана ' };

end;

End.

 

Рис.3.2. Таблица кодировки с кодами 0-127

 

 
 

Рис. 3.3. Таблица кодировки 128-255

 

Код 7 используется для подачи звуковых сигналов Следующая программа проверяет пароль, и если па­роль неверный, то из динамика компьютера раздается звуковой сигнал.

Пример 3.12. Программа проверки ввода пароля

ProgramPr3_12;

usesWinCrt;

Label

fin;

Var

pswd:integer;

Begin

write('Пароль ?');

readin(pswd);

if pswd <>377 then

Begin

writein(chr(7),'Неправильный пароль’);

goto fin;

End;

{инструкции программы}

fin:

End.








Дата добавления: 2015-01-13; просмотров: 1274;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.02 сек.