Вопрос по информатике:
Помогите, пожалуйста, решить задачу по информатике (с объяснениями):
Задача 3.
Экранная клавиатура КПК позволяет вводить символы русского и английского алфавита прикосновением пера к экрану. Для переключения между заглавными и строчными буквами используется клавиша Shift, нажатие на которую приводит к смене режима на время ввода одной следующей буквы, и клавиша CapsLock для постоянной смены режима. Для смены алфавита с русского языка на английский используется клавиша au (клавиша находится между Ctrl и Alt). В начальном состоянии клавиатура находится в режиме строчных русских букв.
Требуется написать программу, выводящую минимальную длину
последовательности прикосновений пера для набора заданной строки.
Технические требования.
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Формат входных данных:
В единственной строке входного файла содержится строка длиной не более 50 скатолов, содержащая заглавные и строчные русские и английские буквы. Формат выходных данных:
В единственной строке выходного файла содержится единственное число - минимальная длина последовательности прикосновений пера для набора заданной строки.
Примеры файлов входных данных: Примеры файлов выходных данных:
Строка 7
ПРИВЕТhеllо 14
- 12.01.2018 07:11
- Информатика
- remove_red_eye 12679
- thumb_up 21
Ответы и объяснения 1
Вводим переменную summ типа int в которой будет записан конечный результат(то есть сколько потребуется нажатий пера).
Считаем строку из исходного файла в переменную stroka типа string.Посимвольно считываем со строки string символы и прибавляем к переменной summ.Переключение регистра или языка тоже суммируется в той же переменной.Если необходимо переключить регистр ,то нужно выбрать переключать его на всё время, или только на следующие касание.Чтобы выбрать проверим сколько букв далее стоят с одним регистром.Если 2 и более последущих букв стоят в одном регистре, то будем использовать Caps Lock т.к в результате потребуется меньше нажатий пера ,чем при использование Shift.
По коду символа будем определять его регистр и принадлежность к какому либо языку.
- 13.01.2018 20:54
- thumb_up 50
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.