§ 9. Строковые величины
Упражнения
1. Напишите программу для решения задачи. Пользователь вводит свою фамилию, класс и учебное заведение, программа должна вывести сообщение «Учащийся … учится в … классе ГУО "…"». Вместо многоточия должны быть выведены соответствующие значения.
2. Измените программу из примера 9.8 так, чтобы на экран выводился символ введенного слова, стоящий посередине. Выведите позиции всех символов, совпадающих со средним символом слова.
3. Измените программу из примера 9.8 так, чтобы строчные и заглавные буквы анализировались программой одинаково (например, для слова «Анна» ответ должен быть следующим: «последний символ — а, символ встретился на месте 1»).
4. Даны два слова. Верно ли, что одно из слов начинается на ту же букву, на которую заканчивается другое? (Первая буква одного из слов может быть заглавной). Если да, то вывести букву, иначе соответствующее сообщение. *Если ответ «верно», указать, принадлежат ли буквы одному регистру.
5. Напишите программу, которая анализирует текст на наличие различных символов.
1. Напишите программу, которая определит количество предложений в тексте. Предложение заканчивается одним из трех символов: «.», «?», «!». Предполагается, что в тексте есть хотя бы одно предложение (см. пример 9.12).
2. Напишите программу, которая определит количество слов в тексте, если между любыми двумя словами может быть более одного пробела. Предполагается, что в тексте есть хотя бы одно слово.
3. Напишите программу, которая определит, каких букв в строке с русским текстом больше: «о» или «O».
4. Напишите программу, которая определит, какой процент составляют буквы 'a' во введенном тексте.
5. Напишите программу, которая определит, сколько слов в тексте начинается на букву «а».
6*. Напишите программу, которая определит, какой процент слов в тексте начинается на букву «к». (Слово может начинаться как с прописной, так и со строчной буквы.)
6. Дан текст. Напишите программу, которая проверит, правильно ли в нем расставлены круглые скобки. Если нет, то вывести соответствующее сообщение: открывающихся скобок больше (меньше), чем закрывающихся, закрывающаяся скобка раньше открывающейся скобки.
7. Напишите программу, которая произведет в тексте замену символов.
1. Заменить в заданном тексте каждую букву «a» символом «*».
2. Заменить в заданном тексте каждую цифру символом «?».
3. Заменить в заданном тексте из латинских букв все вхождения «x» на «ks».
4. Заменить в заданном тексте из латинских букв все вхождения «ing» на «ed».
5. Заменить все слова А1 на слова А2 (слова в тексте разделены пробелами, слова А1 и А2 вводятся).
8. Напишите программу, которая удалит из текста некоторые символы.
1. Удалить из текста все гласные буквы.
2. Удалить из текста все знаки «+», непосредственно за которыми стоит не цифра.
9. Напишите программу, которая вставит в текст некоторые символы.
1. После каждой латинской буквы «q» добавить букву «u».
2. После каждого из перечисленных знаков препинания («.», «,», «:», «;») вставить пробел, если его там нет.
10. Выполните для примера 9.19.
1. Измените функцию CheckPalindrom так, чтобы слова, которые начинаются на заглавную букву, тоже считались палиндромами, например: «Анна», «Алла».
2. Добавьте в программу подсчет количества выведенных палиндромов.
11*. Фразы-палиндромы читаются одинаково слева направо и справа налево без учета пробелов и знаков препинания. Например: «Кулинар, храни лук» или «А роза упала на лапу Азора». Напишите программу, которая определит, является ли фраза палиндромом.
12. Напишите программу, которая проверяет, является ли данный текст записью числа. В непустой текст могут входить только цифры или буквы. Если да, то проверить, делится ли данное число на 4, иначе вывести соответствующее сообщение. Для проверки делимости на 4 использовать признак делимости: число делится на 4, если двузначное число, составленное из последних двух цифр исходного числа, делится на 4.
13. Измените программу из упражнения 12 так, чтобы проверялась делимость на 2, 3, 5, 6, 8, 12 (используйте соответствующие признаки делимости).
14. Дан текст. Напишите программу, которая проверит, может ли быть этот текст записью вещественного числа.
15. Напишите программу для решения задачи. Строка представляет собой запись следующего вида: «а ± b ± с ±…». Найти значение выражения. Вместо знака «±» может быть знак «+» или знак «-». Числа являются целыми (тип int).
16. Напишите программу для решения задачи. Строка представляет собой запись следующего вида: «(a + b)c». Выделить из записи числа и найти значение выражения. Числа, входящие в выражение, являются целыми (тип int).
17*. Строка представляет собой запись следующего вида: «число число ± число число ± … ± число число», где вместо знака может быть * или /, а вместо знака «±» — знаки «+» или «-». Написать программу, которая выделит из записи строки числа и найдет значение выражения. Значения чисел помещаются в тип double.
18. Напишите программу, которая определит, какой процент слов в тексте обладает следующим свойством: первой буквой является гласная, а дальше согласные и гласные буквы чередуются через одну.