Вопросы и задания
1. Как в программе на Паскале обозначаются символьные константы и переменные?
'A' // Символьная константа 'A'
var symbol: char; // Символьная переменная
2. С помощью какой стандартной функции определяется код символа?
var code: integer; begin code := Ord('A'); // code будет равен 65 end;
3. С помощью какой стандартной функции можно определить символ по его коду?
4. Что такое принцип последовательного кодирования алфавитов? Приведите примеры алгоритмов, где он может быть использован.
Принцип последовательного кодирования алфавитов - это способ представления символов текста (букв, цифр и других символов) в виде последовательности битов (нулей и единиц) или кодов. Примеры алгоритмов, где он может быть использован:
ASCII (American Standard Code for Information Interchange) - стандартное кодирование символов на английском языке и специальных символов. Unicode - кодирование символов разных языков и символов из разных культур, используется в мировых языках. UTF-8 - переменной длины кодирование Unicode-символов. EBCDIC (Extended Binary Coded Decimal Interchange Code) - кодирование символов, используемое в системах IBM.
5. Определите результаты вычисления выражений (типы и значения):
Chr(Ord('В'))
Ord('А')-Ord('Z')
Ord('A')-Ord('a')=Ord('Z')-Ord('z')
Ord('9')-Ord(’0')
Chr(Ord('a')+Ord('R')-Ord('r'))
Результаты вычисления выражений:
Chr(Ord('В')) вычислит символ, соответствующий коду символа 'В', который равен 1042 в Unicode. Результат: 'В'.
Ord('А') - Ord('Z') вычислит разницу между кодами символов 'А' и 'Z', которые равны 1040 и 90. Результат: 950.
Ord('A') - Ord('a') = Ord('Z') - Ord('z') вычислит разницу между кодами символов 'A' и 'a', а также 'Z' и 'z'. Оба выражения дают -32. Результат: True (истина).
Ord('9') - Ord('0') вычислит разницу между кодами символов '9' и '0', которые равны 57 и 48. Результат: 9.
Chr(Ord('a') + Ord('R') - Ord('r')) вычислит символ, который получается при сложении кода символа 'a', кода символа 'R', и разности кода символа 'r'. Код символа 'R' равен 82, а код символа 'r' равен 114, поэтому результат равен коду символа 'a' + (82 - 114), что равно 82. Результат: 'R'.
6. Выполните на компьютере программы из примеров 1 и 2 данного параграфа. Протестируйте их работу.
program Example1;
begin writeln('Symbol: ', 'A'); writeln('Code: ', Ord('A')); writeln('Symbol: ', 'B'); writeln('Code: ', Ord('B')); writeln('Symbol: ', 'C'); writeln('Code: ', Ord('C')); end.
program Example2;
var lowercaseChar, uppercaseChar: char;
begin lowercaseChar := 'a'; uppercaseChar := Chr(Ord(lowercaseChar) - Ord('a') + Ord('A')); writeln('Original Char: ', lowercaseChar); writeln('Uppercase Char: ', uppercaseChar); end.