Пользователь вводит номер буквы в алфавите определить какая это буква
Перейти к содержимому

Пользователь вводит номер буквы в алфавите определить какая это буква

  • автор:

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

Первая часть.
Вводятся две строчные (малые) английские буквы. Определить номера этих букв в алфавите, а также количество символов между ними.

Вторая часть.
Определить букву по ее позиции (номеру) в алфавите. Номер вводится с клавиатуры.

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

Первая буква: 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.

Следующие Три

Author24 — интернет-сервис помощи студентам

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

Английский алфавит: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Пример 1
Ввод
1
Вывод
ABCD

Пример 2
Ввод
25
Вывод
YZAB

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Составить модуль, содержащий три функций, реализующие, следующие задания:
Составить модуль, содержащий три функции, реализующие следующие задания: a) Определить, является.

Переставить первые три и последние три элемента местами, сохраняя порядок их следования
Переставить первые три и последние три элемента местами, сохраняя порядок их следования.

На складе есть три станка, которые сортируют килограмм мусора за a, b, c, за какое минимальное время три станка, работая
На складе есть три станка, которые сортируют килограмм мусора за a, b, c секунд соответственно.

Следующие Три
Вводится номер буквы английского алфавита (используется только верхний регистр). Вывести эту букву.

2429 / 1471 / 633
Регистрация: 01.11.2021
Сообщений: 2,269

1 2 3 4 5 6 7
ab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' n = int(input()) index = n - 1 for _ in range(3 + 1): print(ab[index % len(ab)], end='') index += 1

3658 / 1863 / 600
Регистрация: 21.11.2021
Сообщений: 3,642

Лучший ответ

Сообщение было отмечено Ultraevs как решение

Решение

1 2 3 4 5 6
while True: n = int( input('n = ') ) s = '' for i in range(n-1, n+3): s += chr( ord('A') + i % 26 ) print(s)

4922 / 2675 / 550
Регистрация: 07.11.2019
Сообщений: 4,397

1 2 3
ab = ' ABCDEFGHIJKLMNOPQRSTUVWXYZAB' n = int(input()) print(ab[n:n+4])

Регистрация: 16.04.2022
Сообщений: 8
Вот моё примитивное решение:

1 2 3 4 5 6 7
a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' i = int(input()) if i + 3 > len(a): a = a * 2 print(a[i - 1:i + 3]) else: print(a[i - 1:i + 3])

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Пусть на экран выведены следующие три слова
Помогите пожалуйста с заданием. Очень срочно надо. Заранее спасибо Код нужен на языке c# .

Пользователь вводит английскую букву, вывести следующие три по алфавиту
Если алфавит закончился, то вывести циклично с начала алфавита, то есть, если z, то a b c. Вывод.

Пользователь вводит англ. букву, вывести следующие три по алфавиту
Добрый день,помогите написать код на С++. "Пользователь вводит англ. букву, вывести следующие три.

Составить модуль, содержащий три функции, реализующие следующие задания
Составить модуль, содержащий три функции, реализующие следующие задания: a) Определить, является.

Пользователь вводит английскую букву, вывести следующие три по алфавиту
Пользователь вводит английскую букву, вывести следующие три по алфавиту. Если алфавит закончился.

Составьте программу, которая печатала бы в три столбца следующие результаты
В компьютер последовательно вводятся 10 произвольных чисел х. Составьте программу, которая печатала.

Или воспользуйтесь поиском по форуму:

Определить номер буквы в алфавите

Дается малая английская буква. Определить ее порядковый номер в алфавите.

# Должна быть введена любая строчная # буква английского алфавита. c = input("Letter (a-z): ") # Функция ord() возвращает порядковый # номер символа в таблице символов. c = ord(c) # Находим порядковый номер первой # буквы алфавита. a = ord('a') # Поскольку буквы идут по-порядку, # то вычитая коды символов, мы находим # расстояние между ними. n = c - a # Так как требуется найти не расстояние, # а порядковый номер буквы в алфавите, # прибавляем единицу. n = n + 1 print("Its number is", n)

Похожие записи:
  1. Код Цезаря
  2. Разворачивание строки подобной «a-z»
  3. Григорианский календарь в порядковый
  4. Оперативная память и представление данных

Как определить, есть ли буквы в строке? C++

Недостаточно информации, чтобы дать полный ответ. Напишите пожалуйста, для каких языков нужно определять буквы — только латинские и русские или могут быть любые? Если только латинские и русские — то в какой кодировке? Если любые — то в какой кодировке?

15 фев 2017 в 5:59

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Если хочется без функций, то можно очень просто

std::string s = "stroka"; // наша строка for (int i = 0; i< s.length(); i++) < // идем по символам if (s[i] >= 'A' && s[i] = 'a' && s[i] > 

в коде явно прописан break, так как в задании написно «есть ли буквы». Если хотя бы одну нашли, дальше нет смысла продолжать.

С кириллицей немного сложнее — тут все зависит от кодировок. Так как обычно такие задачи задают для винды, приложение запускают с консоли (которая имеет кодировку 866), а сам код набирают либо в cp1251б либо в utf-8/utf-16, то тут проблема. Поэтому простое решение вида

if (s[i] >= 'A' && s[i] = 'a' && s[i] = 'А' && s[i] = 'а' && s[i]  

вряд ли сработает так просто. Но возможно, после прочтения поста все и заработает. Да, и буква Ё хитрая, она в cp1251 находиться отдельно. Поєтому и обрабатывается отдельно.

Можно ли данный код написать короче и при этом без функций? можно, но он станет запутанней и вряд ли понравиться преподавателю (задание очень на это похоже).

Кстати, length() - это вообще то функция, но думаю, на нее условие не распространяется.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *