Найти позицию букв в алфавите и букву по ее номеру

Задача: 

Найти позицию в алфавите двух английских букв и количество символов между ними.

Определить букву по ее позиции в алфавите.

Алгоритм решения задачи: 

Позиция буквы в алфавите определяется ее "смещением" относительно первой буквы алфавита. Если знать коды первой буквы и искомой, то разность их кодов покажет, на сколько позиций они отстоят друг от друга. В языке программирования Pascal код-номер буквы по таблице кодов символов ASCII определяется с помощью функции ord(), которой в качестве значения передается символ.

Для обратного действия - определения буквы по ее известной позиции в алфавите - надо к позиции буквы прибавить код первой буквы алфавита. После этого получить искомую букву по ее коду. Это делается с помощью функции chr(), которой передается число-код символа по таблице ASCII.

Программа на языке Паскаль: 

var
    a,b: char;
    an, bn, n: byte;
begin
    write('Буква 1: '); readln(a);
    write('Буква 2: '); readln(b);
    an := ord(a);
    bn := ord(b);
    writeln('Позиция 1: ', an-ord('a')+1);
    writeln('Позиция 2: ', bn-ord('a')+1);
    n := abs(bn-an)-1;
    writeln('Количество букв между ними: ', n);
    writeln;
    write('Позиция буквы в алфвите: '); readln(n);
    n := n+ord('a')-1;
    writeln('Это буква - ', chr(n));
end.

Пример выполнения программы:

Буква 1: w
Буква 2: z
Позиция 1: 23
Позиция 2: 26
Количество букв между ними: 2

Позиция буквы в алфвите: 10
Это буква - j

Комментарии

Найти позицию букв в алфавите и букву по ее номеру

Я считаю код программы не верный. Не учтены все условия. Например: ord('a'); - выдаст не 1 а 97, а: ord('A') = 65.

Я считаю код программы не верный.

это же аский-код ,если не ошибаюсь то там не первый стоит