Процедуры и функции обработки символьных переменных
Продолжим рассматривать примеры использования стандартных процедур и функций для работы с символами. Начнем с функций pred(s), которая возвращает предыдущий символ и succ(s), которая возвращает следующий символ. Напомним, что символы упорядочены в соответствии с их кодами.
Маленький символ можно преобразовать в большой с помощью функции UpCase(c). Большой символ можно преобразовать в маленькийй с помощью функции LowCase(c).
Пример 1. Составить программу, которая по введенному с клавиатуры символу выводит предыдущий и следующий символы
Программа может выглядеть так:
Program Primer62_1;
var ch: char;
begin
write('Введите символ '); read(ch); { ввод символа }
writeln('пред = ', pred(ch), ' след = ', succ(ch)); { вывод }
end.
Пример 2. Составить программу, которая выводит таблицу символов и их кодов от 32 до 255 (по 8 в строке).
Определение и вывод символов и кодов будем выполнять в цикле for.
Параметром цикла служит код символа k, который изменяется от 32 до 255.
С помощью процедуры write(k:4, chr(k):2,' '); осуществляем форматный вывод кода и символа в строку. Переход на новую строку происходит при условии, что остаток целочисленного деления кода k на 8 равен 7, т.е. через каждые 8 символов.
Программа может выглядеть так:
Program Primer62_2;
var k: integer;
Begin
for k:=32 to 255 do begin
write(k:4, chr(k):2,' '); {форматный вывод кода и символа }
if k mod 8 = 7 then writeln; {переход на новую строку }
end;
End.
Пример 3. Составить программу, которая выводит коды нажатых клавиш до тех пор, пока не нажата клавиша Esc.
Прежде всего, подключим модуль CRT, который содержит функции и процедуры работы с клавиатурой. С помощью функции readKey в переменную c типа char будем считывать символ нажатой клавиши. Преобразуем его в код с помощью стандартной фунции ord(c). Считывание символов и вывод кодов будем продолжать до тех пор, пока не будет нажата клавиша Esc (код 27).
Программа может выглядеть так:
Program Primer62_4;
Uses CRT; { подключение модуляCRT }
Var c : char;
Begin
While c<>#27 do begin {27 - код клавиши ESC}
c:=readKey; {считывание символа }
Write(ord(c),' '); {преобразование и вывод кода}
end;
End.
|