Лекция: Задачи на строковый тип данных

1. Выясните, имеются ли среди вводимых символов все буквы, входящие в слово «змея».

2. Для большинства существительных, оканчивающихся на -онок и -енок, множественное число образуется от другой основы. Как правило, это происходит по образцу: цыпленок – цыплята, мышонок – мышата и т.д. (в новой основе перед последней буквой «т» пишется «а» или «я» в зависимости от предыдущей буквы: если это шипящая, то «а», иначе – «я» ). Имеются слова-исключения, из которых укажем следующие: ребенок (дети), бесенок (бесенята), опенок (опята), звонок (звонки), позвонок (позвонки), поддонок (подонки)¸колонок (колонки), жаворонок (жаворонки), бочонок (бочонки). Есть еще рад мало употребляемых слов-исключений, которые мы не рассматриваем. Пусть дан текст, среди символов которого имеется пробел. Группа символов, предшествующая первому пробелу, представляет собой русское слово, оканчивающиеся на -онок и -енок. Получите это слово во множественном числе.

3. Пусть дан русский текст, слова которого разделены пробелами, запятой или точкой. Все слова, оканчивающиеся на -онок и -енок, представьте во множественном числе.

4. Вводится строка. Если она является записью римского числа, то преобразуйте ее в целое число.

5. Напишите программу позволяющую перемещать курсор в пределах экрана вверх – вниз, влево – вправо и допускающую ввод и отображение только русских букв независимо от того, осуществлялось ли переключение на русскую раскладку клавиатуры.

6. Пусть даны две строки str1 и str2. Выясните, можно ли из str1 путем перестановки символов получить строку str2. Напишите программу, которая решала бы указанную задачу.

7. Напишите программу сортировки строк в обратном алфавитном порядке.

8. Напишите программу, которая будет вводить значения типа string и определять, является ли каждое из них правильным идентификатором, удовлетворяющим языка Турбо Паскаль. Напомним вкратце правило построения имен. Всякое имя может содержать от 1 до 127 символов; Первым символом должна быть латинская буква (строчная или прописная); любой другой символ (начиная со второй) может быть буквой, цифрой (от 0 до 9) или знаком подчеркивания. Если обнаружена ошибка, необходимо выдать сообщение об этом.

9. Усовершенствуйте программу из предыдущей задачи, чтобы она умела распознавать служебные слова языка Турбо Паскаль и отвергать попытки их предъявления. Для простоты ограничьте набор служебных слов, взяв за основу только некоторые из них.

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

11. Пусть задан текст, представляющий собой последовательность строк признак конца текста вводится пользователем. Выведите на печать заданный текст в порядке возрастания длин строк.

12. Пусть текст представляет собой последовательность строк. На каждой строке находится имя, фамилия и отчество. Распечатайте все отчества по алфавиту, а также текст, содержащий строки, состоящие только из имен и фамилий.

13. Пусть задано десять русских имен. Проверьте, все ли эти имена написаны с прописной буквы; если нет, то исправьте ситуацию.

14. Дано слово. Определить, одинаковы ли второй и четвертый символы в нем. Вывести на экран его последний символ. Определить количество символов в нем.

15. Даны два слова. Верно ли, что первое слово начинается на ту же букву, которой оканчивается второе слово? Определить количество символов в каждом слове. Вывести на экран слова в обратном порядке.

16. Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину. Вывести слово в обратном порядке в середине экрана.

17. Из слова «программа» путем вырезок и склеек его букв получить слова «ром» и «рампа». Из последних двух слов вывести на экран те буквы, которые стоят на чётных местах.

18. Из слова «клоун» путем вырезок и склеек его букв получить слова «уклон», «кулон» и «колун». Из последних трёх слов вывести на экран те буквы, которые стоят на нечётных местах.

19. Дано слово из четного числа букв. Поменять местами его половины. Вывести на экран слова в обратном порядке, в середине экрана.

20. Дано слово из 12 букв. Поменять местами его трети следующим образом: первую треть слова разместить на месте третьей, вторую треть — на месте первой, третью треть — на месте второй. Удалить из получившегося слова каждый третий символ.

21. Дано слово s1, Получить слово s2, образованное нечетными буквами слова s1. Вывести на экран слова в обратном порядке.

22. Дано предложение. Вывести все буквы «м» и «н» в нем и подсчитать их количество. Сколько слов в вашем предложении?

23. Даны два предложения. Напечатать слова, которые встречаются в двух предложениях только один раз. Какое из предложений содержит большее число символов?

24. Дано предложение. Определить: а) число вхождений в него буквосочетания «до»; б) число вхождений в него некоторого буквосочетания из двух букв; в) число вхождений в него некоторого буквосочетания.

25. Дано предложение. Все его символы, стоящие на четных местах, заменить на букву «ы». Вывести в середине экрана первое и последнее слово предложения. Какое из выведенных слов длиннее другого?

Вопросы к защите домашней работы № 4

1) Существуют ли ограничения на размерность массива?

2) Как осуществляется доступ к каждому элементу массива?

3) Обязательно ли количество элементов массива должно быть фиксированным, то есть определяется при трансляции программы?

4) Дайте определение индекса. Какие типы данных можно использовать при описании индекса?

5) Является ли тип string структурированным типом данных? Обоснуйте свой ответ.

6) Всегда ли фактическая длина строки равна объявленной в описании?

7) Можно ли в процессе выполнения программы изменяться фактическая длина строки?

8) Можно ли в процессе выполнения программы фактическая длина строки стать большим, чем объявлено в описании? Что произойдет в этом случае?

9) Если длина строки не указанно при объявлении типа string, то чему она равна по умолчанию?

10) Верно ли, что тип string аналогичен однородному массиву символов array [0..n] ofchar?

 

еще рефераты
Еще работы по информатике