Similar presentations:
Язык программирования Pascal. Работа с символьными данными
1. Язык программирования Pascal Работа с символьными данными
А. Жидков2. Тип данных char
В компьютерах наряду с числовой информацией обрабатывается иинформация в виде символов.
Переменные типа char хранят один символ. Например:
Var
Alpha : char;
Begin
Alpha :='p‘;
Alpha :='+‘;
Alpha :='3‘;
Alpha :=' ‘;
Alpha :='''‘;
В этом фрагменте символьная переменная последовательно получает
значения p, +, 3, пробел и апостроф.
В ЭВМ символу соответствует код (номер) в интервале от 0 до 255
(кодировка ASCII), поэтому к символам возможно применение
операций отношения (< > =), сортировки, например:
'A' < 'B' < 'C' < ... < 'X' < 'Y' < 'Z' '0' < '1' < '2' < ... < '7' < '8' < '9'
3. Кодировка ASCII WINDOWS CP1251
Цифры0..9
48..57
Латиница
A..Z 65..90
a..z 97..122
Кирилица
А..Я
192..223
а..я
224..255
4. Функции над данными типа char
1.2.
3.
4.
Succ - возвращает следующий символ;
Pred - возвращает предыдущий символ;
Ord - возвращает код(номер) литеры;
Chr - возвращает литеру по её коду.
Например,
1. Succ('0')='1' - символ, следующий за символом 0, равен 1.
2. Pred('3')='2' - символ, предшествующий символу 3, равен 2;
3. Chr(65)='A' - символ, соответствующий коду 65, равен А;
4. Ord('A')=65 - код символа А равен 65
5. Пример программы работающей с данными типа 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 192+31 do
write (chr(i),chr(i+32));
end.
6. Задание на самоподготовку
1.Составьте программу, проверяющую, является ли введенный
с клавиатуры символ буквой латинского алфавита.
2.
Вывести на экран треугольник:
A B C ...Y Z
B C …Y Z
C ...Y Z
3.
Вывести на экран треугольник:
Аяяяяяяяя…я
Бюююю…ю
Вээээээ…э
...
Эввв
Юбб
Яа.
7. Задание на самоподготовку
1.Составьте программу, проверяющую, является ли введенный с
клавиатуры символ буквой латинского алфавита.
8. Задание на самоподготовку
2. Вывести на экран треугольник:A B C ...Y Z
B C …Y Z
program sim1;
C ...Y Z
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.
9. Задание на самоподготовку
Вывести на экрантреугольник:
Аяяяяяяяя…я
Бюююю…ю
Вээээээ…э
...
Эввв
Юбб
Яа.
program sim1;
var j,i:integer;
sim:char;
begin
cls;
for j:=192 to 192+31 do
begin
write(chr(j));
for i:=32-j+192 downto 1 do
write (chr(255+192-j));
writeln
end;
end.