Язык программирования Pascal Работа с символьными данными А. Жидков
Тип данных char В компьютерах наряду с числовой информацией обрабатывается и информация в виде символов. Переменные типа char хранят один символ. Например: Var Alpha : char; Begin Alpha :='p; Alpha :='+; Alpha :='3; Alpha :=' ; Alpha :='''; В этом фрагменте символьная переменная последовательно получает значения p, +, 3, пробел и апостроф. В ЭВМ символу соответствует код (номер) в интервале от 0 до 255 (кодировка ASCII), поэтому к символам возможно применение операций отношения ( =), сортировки, например: 'A' < 'B' < 'C'
Кодировка ASCII WINDOWS CP1251 Латиница A..Z a..z Кирилица А..Я а..я Цифры
Функции над данными типа char 1.Succ - возвращает следующий символ; 2.Pred - возвращает предыдущий символ; 3.Ord - возвращает код(номер) литеры; 4.Chr - возвращает литеру по её коду. Например, 1.Succ('0')='1' - символ, следующий за символом 0, равен 1. 2.Pred('3')='2' - символ, предшествующий символу 3, равен 2; 3.Chr(65)='A' - символ, соответствующий коду 65, равен А; 4.Ord('A')=65 - код символа А равен 65
Пример программы работающей с данными типа char Для каждого кода символа ASCII напечатать 1.предшествующий символ 2.символ соответствующий коду 3.последующий символ 4.по символу определить его ASCII номер Напечатать символы русского алфавита в одну строку следующим образом АаБбВвГг… var simbol:char; i:integer; begin for i:=1 to 254 do begin simbol:=chr(i); writeln ('i=',i,' pred=',pred(simbol),' chr=',simbol,' succ=',succ(simbol),' ord=',ord(simbol)); end; for i:=192 to do write (chr(i),chr(i+32)); end.
Задание на самоподготовку 1.Составьте программу, проверяющую, является ли введенный с клавиатуры символ буквой латинского алфавита. 2.Вывести на экран треугольник: A B C...Y Z B C …Y Z C...Y Z 3.Вывести на экран треугольник: Аяяяяяяяя…я Бюююю…ю Вээээээ…э... Эввв Юбб Яа.
Задание на самоподготовку 1.Составьте программу, проверяющую, является ли введенный с клавиатуры символ буквой латинского алфавита.
Задание на самоподготовку 2.Вывести на экран треугольник: A B C...Y Z B C …Y Z C...Y Z program sim1; var j,i:integer; sim: char; begin for j := 0 to 26 do begin for i:= ord('A')+j to ord('Z') do write (chr(i)); writeln; end; end.
program sim1; var j,i:integer; sim:char; begin cls; for j:=192 to do begin write(chr(j)); for i:=32-j+192 downto 1 do write (chr( j)); writeln end; end. Задание на самоподготовку Вывести на экран треугольник: Аяяяяяяяя…я Бюююю…ю Вээээээ…э... Эввв Юбб Яа.