Помогите, пожалуйста, решить задачу по информатике (с объяснениями): Задача 3. Экранная...

0 голосов
76 просмотров

Помогите, пожалуйста, решить задачу по информатике (с объяснениями):

Задача 3.

Экранная клавиатура КПК позволяет вводить символы русского и английского алфавита прикосновением пера к экрану. Для переключения между заглавными и строчными буквами используется клавиша Shift, нажатие на которую приводит к смене режима на время ввода одной следующей буквы, и клавиша CapsLock для постоянной смены режима. Для смены алфавита с русского языка на английский используется клавиша au (клавиша находится между Ctrl и Alt). В начальном состоянии клавиатура находится в режиме строчных русских букв.

Требуется написать программу, выводящую минимальную длину

последовательности прикосновений пера для набора заданной строки.

Технические требования.

Имя входного файла: INPUT.TXT

Имя выходного файла: OUTPUT.TXT

Формат входных данных:

В единственной строке входного файла содержится строка длиной не более 50 скатолов, содержащая заглавные и строчные русские и английские буквы. Формат выходных данных:

В единственной строке выходного файла содержится единственное число - минимальная длина последовательности прикосновений пера для набора заданной строки.

Примеры файлов входных данных: Примеры файлов выходных данных:

Строка 7

ПРИВЕТhеllо 14


Информатика (2.6k баллов) | 76 просмотров
Дан 1 ответ
0 голосов

Вводим переменную summ типа int в которой будет записан конечный результат(то есть сколько потребуется нажатий пера).

Считаем строку из исходного файла в переменную stroka типа string.Посимвольно считываем со строки string символы и прибавляем к переменной summ.Переключение регистра или языка тоже суммируется в той же переменной.Если необходимо переключить регистр ,то нужно выбрать переключать его на всё время, или только на следующие касание.Чтобы выбрать проверим сколько букв далее стоят с одним регистром.Если 2 и более последущих букв стоят в одном регистре, то будем использовать Caps Lock т.к в результате потребуется меньше нажатий пера ,чем при использование Shift.

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