Найти позицию букв в алфавите и букву по ее номеру
Первая часть.
Вводятся две строчные (малые) английские буквы. Определить номера этих букв в алфавите, а также количество символов между ними.
Вторая часть.
Определить букву по ее позиции (номеру) в алфавите. Номер вводится с клавиатуры.
Пример выполнения программы
Первая буква: 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.