- •Основы разработки алгоритмов
- •Издание посвящается 400-летию г. Томска
- •1.Рекуррентные алгоритмы
- •Задачи для самостоятельного решения 1
- •2.Подпоследовательности в массиве
- •Задачи для самостоятельного решения
- •3.Упорядоченность в массиве
- •Задачи для самостоятельного решения
- •4.Матрицы
- •Задачи для самостоятельного решения.
- •5.Обработка текста
- •Задачи для самостоятельного решения
- •6.Информационные массивы
- •Задачи для самостоятельного решения.
- •7.Советы по решению задач
- •8.Краткий справочник по языку паскаль Структура программы
- •Типы данных
- •Операторы
- •Литература
Задачи для самостоятельного решения
Определить множество букв заданного текста и построить таблицу частот встречаемости этих букв.
Дан текст, записанный в массиве символов. Каждые два соседних слова в тексте разделены либо одним пробелом, либо одним разделителем (запятой, точкой или другим знаком препинания) и пробелом. Все окончания слов в тексте, совпадающие с «ое», заменить на «ее», а окончания «ие» заменить на «ий».
Дан текст в виде массива символов. Текст содержит слова, разделенные пробелами, точками и запятыми, причем разделительных символов между двумя словами может быть более одного. Вводится слово-обpазец. Требуется определить, сколько раз образец встречается в тексте.
* Задан текст в виде массива символов, содержащий слова, разделенные пробелами, и отдельное слово из букв. Удалить это слово из текста и сжать оставшийся текст. Если слово встречается в тексте несколько раз, то удалить только первое от начала.
Дан текст, записанный в массиве символов. Каждые два соседних слова в тексте разделены либо одним пробелом, либо одним разделителем (запятой, точкой или другим знаком препинания) и пробелом. Дан образец – слово из q символов. Найти и вывести все слова в тексте, у которых начальные q символов совпадают с образцом.
Задан массив из n символьных строк. В каждой строке записано слово на русском языке (все слова разные). Найти все такие группы из четырех слов, в которых последняя буква первого слова совпадает с первой буквой второго слова, последняя буква второго слова совпадает с первой буквой третьего слова и т.д. Слова, образующие группу, могут выбираться из массива в произвольном порядке.
* Дан массив символов длиной n, содержащий текст из слов, разделенных пробелами и знаками препинания, причем после любого разделителя обязательно располагается один или несколько пробелов. Длина текста может быть меньше n. Вводится два слова: первое – слово-образец, второе – слово-замена. Найти везде в тексте слово-образец и заменить на слово-замену.
Слово-замена может быть как короче, так и длиннее слова-образца. Если текст после этого окажется длиннее n символов, то замену вообще не делать.
* Задан массив A из n символов и три символьные строки (S1 длиной m1, S2 длиной m2 и S3 длиной m3). В тексте отыскать самое левое расположение строки S1, затем – строки S2, а затем – строки S3, считая, что строки в тексте не налагаются друг на друга.
Заменить в тексте строку S1 на S2, S2 на S3, 3 на S1, передвинув, при необходимости, символы между ними. При этом запрещается использовать дополнительный массив.
* Задан текст на русском языке в виде одномерного массива символов T. (Слова в тексте разделены пробелами и/или запятыми, точками). Задан массив строк E из возможных окончаний слов. Заданы две строки S1, S2 (корни слов).
Требуется сформировать текст Q, отличающийся от текста T тем, что в словах все корни S1 заменены на корни S2. (Слово = приставка + корень + E[i], приставки может не быть.)
Предполагается, что все буквы в одном регистре и что длины массива Q достаточно для размещения переписанного текста.
* Задан текст на русском языке в виде одномерного массива символов T. (Слова в тексте разделены пробелами и/или запятыми, точками). Задан массив строк E из возможных окончаний слов и массив R из возможных корней слов.
Требуется сформировать массив строк P возможных приставок. (Слово = P[i] + R[j] + E[k], приставки может не быть.) Предполагается, что все буквы в одном регистре.
