Чтобы определить позицию буквы в алфавите, надо знать по используемой таблице символов коды первой буквы алфавита и той, позиция которой определяется. Если вычесть из кода искомой буквы код первой и прибавить 1, то получим как раз номер буквы в алфавите. Почему нужно прибавлять 1? Представьте, что ищется позиция буквы ‘b’. Если из ее кода вычесть код буквы ‘a’, то получится 1, но ‘b’ — это вторая буква.
Для того, чтобы определить количество символов между двумя буквами, надо найти разность их кодов или позиций в алфавите и вычесть из полученного значения 1.
Поиск буквы по ее номеру в алфавите также опирается на знание кода первой буквы. К коду первой буквы прибавляется номер в алфавите искомой буквы за вычетом 1.
Нижеприведенные программы правильно работают только с английскими строчными (маленькими) буквами.
Pascal
номер буквы в алфавите паскаль
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: d
Буква 2: a
Позиция 1: 4
Позиция 2: 1
Количество букв между ними: 2
Позиция буквы в алфавите: 20
Это буква - t
Язык Си
#include
main() {
char a, b, n;
scanf("%c%c", &a, &b);
printf("Позиция 1: %d\n", a-'a'+1);
printf("Позиция 2: %d\n", b-'a'+1);
printf("Между ними символов: %d\n", abs(b-a)-1);
scanf("%d", &n);
printf("Это буква: %c\n", n+'a'-1);
}
qe
Позиция 1: 17
Позиция 2: 5
Между ними символов: 11
26
Это буква: z
В языке программирования Си символьный тип по сути является числовым. Вывод буквы или числа зависит от формата вывода. "%c" выводит символ, соответствующий числу-коду по таблице символов; "%d" выводит само число.
Python
номер буквы в алфавите python
a = ord(input('1-я буква: '))
b = ord(input('2-я буква: '))
a = a - ord('a') + 1
b = b - ord('a') + 1
print('Позиции: %d и %d' % (a,b))
print('Между буквами символов:', abs(a-b)-1)
n = int(input('Номер буквы в алфавите: '))
n = ord('a') + n - 1
print('Это буква', chr(n))
1-я буква: t
2-я буква: z
Позиции: 20 и 26
Между буквами символов: 5
Номер буквы в алфавите: 12
Это буква l
КуМир
алг буква в алфавите
нач
сим a, b
цел an, bn
вывод "Позиции двух букв в алфавите:", нс
ввод a, b
an := код(a)-код('a')+1
bn := код(b)-код('a')+1
вывод an," ", bn, нс
вывод "Количество символов между ними: ", abs(an-bn)-1, нс
вывод "Номер буквы: "
ввод an
a := символ(код('a')+an-1)
вывод "Это буква: ", a
кон
Позиции двух букв в алфавите:
a d
1 4
Количество символов между ними: 2
Номер буквы: 4
Это буква: d
Basic-256
input "Первый символ: ", a$
input "Второй символ: ", b$
a = asc(a$) - asc("a") + 1
b = asc(b$) - asc("a") + 1
c = abs(a-b) - 1
print "Место в алфавите первого символа: " + a
print "Место в алфавите второго символа: " + b
print "Между ними символов: " + c
input "Номер символа в алфавите: ", n
a = asc("a")
n$ = chr(n+a-1)
print "Это символ: " + n$
Первый символ: a
Второй символ: z
Место в алфавите первого символа: 1
Место в алфавите второго символа: 26
Между ними символов: 24
Номер символа в алфавите: 6
Это символ: f