Задача - Количество символов между двумя буквами алфавита. Определение буквы по ее номеру в алфавите - программирование на разных языках

Задача — Количество символов между двумя буквами алфавита. Определение буквы по ее номеру в алфавите — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Количество символов между двумя буквами алфавита. Определение буквы по ее номеру в алфавите
— программирование на Pascal, Си, Кумир, Basic-256, Python

  1. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят, и сколько между ними находится букв.
  2. Пользователь вводит номер буквы в алфавите. Определить, какая это буква.

Чтобы определить позицию буквы в алфавите, надо знать по используемой таблице символов коды первой буквы алфавита и той, позиция которой определяется. Если вычесть из кода искомой буквы код первой и прибавить 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 <stdio.h>

main() {
char a, b, n;
scanf(«%c%c», &a, &b);
printf(«Позиция 1: %dn», a-‘a’+1);
printf(«Позиция 2: %dn», b-‘a’+1);
printf(«Между ними символов: %dn», abs(b-a)-1);

scanf(«%d», &n);
printf(«Это буква: %cn», n+’a’-1);
} qe
Позиция 1: 17
Позиция 2: 5
Между ними символов: 11
26
Это буква: z

В языке программирования Си символьный тип по сути является числовым. Вывод буквы или числа зависит от формата вывода. «%c» выводит символ, соответствующий числу-коду по таблице символов; «%d» выводит само число.

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

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий