Найти позицию букв в алфавите и букву по ее номеру в Pascal
Первая часть.
Вводятся две строчные (малые) английские буквы. Определить номера этих букв в алфавите, а также количество символов между ними.
Вторая часть.
Определить букву по ее позиции (номеру) в алфавите. Номер вводится с клавиатуры.
Пример выполнения программы
Первая буква: b Вторая буква: f Позиция первой буквы: 2 Позиция второй буквы: 6 Количество букв между ними: 3 Позиция буквы в алфавите: 26 Это буква - z
Исходный код программы на языке Паскаль
var a, b: char; an, bn, n: byte; begin write('Первая буква: '); readln(a); write('Вторая буква: '); readln(b); an := ord(a); bn := ord(b); writeln('Позиция первой буквы: ', an - ord('a') + 1); writeln('Позиция второй буквы: ', bn - ord('a') + 1); n := abs(bn - an) - 1; writeln('Количество букв между ними: ', n); writeln; write('Позиция буквы в алфавите: '); readln(n); n := n + ord('a') - 1; writeln('Это буква - ', chr(n)); end.
Позиция буквы в алфавите (номер буквы в алфавите) определяется ее "смещением" относительно первой буквы алфавита. Если знать коды первой буквы алфавита (символа 'a') и заданной, то разность их кодов покажет, на сколько позиций они отстоят друг от друга.
В языке программирования Pascal код буквы по таблице кодов символов ASCII определяется с помощью функции ord(), которой в качестве значения передается символ.
Для обратного действия, то есть определения буквы, стоящей в определенном месте алфавита, надо к позиции буквы прибавить код первой буквы алфавита. После этого получить искомую букву по ее коду. Это делается с помощью функции chr(), которой передается число-код символа по таблице ASCII.