Лабораторна робота № 3 (2 сем.)

Тема : Обробка символьної інформації з використанням стандартних функцій С++.

Ціль : Придбання умінь та навичок у таких питаннях:

-  використання покажчиків при розробці та налагоджуванні програм обробки символьної інформації;

-  застосування функцій з бібліотеки для обробки символьних даних у програмах на C++.

/ Мотивація: З Нормативної частини змісту освітньо-професійної програми напряму підготовки

6.0804 Комп’ютерні науки:

Ø  Зміст уміння, що забезпечується:

Визначати принципи організації інформаційного забезпечення комп’ютеризованих інформаційних систем в умовах технічного проектування, використовуючи інформаційну модель предметного середовища, вимоги технічного завдання на розробку системи.

(Шифр уміння: ПФ. Е.26.ЗР. Р.05 Назва змістового модуля: Шифр змістового модуля:

- Функціональні, структурні, трансформаційні, методичні аспекти інформаційного забезпечення. - ПФ. Е.26.ЗР. Р.05.01)

Ø  Зміст уміння, що забезпечується:

Розробляти документацію технічного завдання на створення комп’ютерних інформаційних систем і технологій в умовах автоматизованого або неавтоматизованого проектування за допомогою комп’ютера, використовуючи відповідні програмні засоби.

(Шифр уміння ПФ. С.02.ЗП. Р.01 Назва змістового модуля: Шифр змістового модуля:

- Вимоги до документів на стадії розробки технічного завдання.

- Автоматизована підготовка та оформлення документів.

- Обробка текстової і графічної інформації.

- ПФ. С.02.ЗП. Р.01.01

НЕ нашли? Не то? Что вы ищете?

- ПФ. С.02.ЗП. Р.01.02

- ПФ. С.02.ЗП. Р.01.03)

Ø  Зміст уміння, що забезпечується:

Розробляти документацію на програмний продукт в умовах робочого проектування за допомогою технічних засобів, використовуючи сучасні програмні засоби підготовки документів.

(Шифр уміння ПФ. С.04.ЗП. Р.01 Назва змістового модуля: Шифр змістового модуля:

- Обробка текстової і графічної інформації - ПФ. С.04.ЗП. Р.01.03)

Ø  Зміст уміння, що забезпечується:

Створювати складні документи, розробляти зміст, предметний покажчик, списки, форматувати, упорядковувати текст в процесі автоматизації оброблення текстів за допомогою сучасних технічних і програмних засобів, використовуючи текстові процесори, видавничі системи, електронні таблиці.

(Шифр уміння ПФ. С.05.ПП. Р.02 Назва змістового модуля: Шифр змістового модуля:

- Методи обробки текстової інформації. - ПФ. С.05.ПП. Р.02.01)/

Вимоги до реалізації:

1)  Початкові дані вводяться з клавіатури з організацією необхідного діалогу з користувачем, використовуючи елементарне форматоване введення-виведення.

2)  Використання покажчиків для доступу до елементів обробки.

3)  Перетворення рядків відбувається у тій самій області памяті, якщо це не оговорено в умові завдання.

4)  Використання вбудованих функцій роботи з рядками.

5)  Якщо не оговорено окремо, слова у реченнях можуть відокремлюватись будь-якими розділовими знаками, кількість прогалин не обмежена.

6)  Тестування програми провести на варіантах вхідної інформації, які передбачають різні ситуації у границях обмежень у постановці задачі. Аналіз результатів необхідно провести самостійно до демонстрації програми викладачу та зафіксувати тести у зошиті.

7)  Програма повинна супроводжуватися коментарем, якій містить в собі: П. І.Б., шифр групи, повну умову завдання, примітки (якщо необхідно).

8)  При наявності будь-яких обмежень на вхідну інформацію, або на алгоритм, вони повинні бути зазначені в коментарі після умови завдання.

Индивидуальные задания:

Группа А (чуть проще)

Вариант А1.

Составить и отладить программу, которая для каждого слова заданного предложения подсчитывает, сколько раз оно встречается в предложении и составляет строку с отчетом, куда одинаковые слова входят один раз.

Вариант А2.

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

Вариант А3.

Составить и отладить программу, которая в заданном предложении находит и преобразует фрагмент указания цены в виде ХХ-Х. УУ соответственно в следующую форму записи: ХХ-Х грн. УУ коп.

Вариант А4.

Составить и отладить программу, которая подсчитывает в тексте число вхождений заданного слова. Если оно превышает число раз, введенных пользователем с клавиатуры, заменить первое и последнее вхождение этого слова в текст пробелами.

Вариант А5.

Составить и отладить программу, которая в заданном предложении находит и преобразует дату в виде ДД. ММ. ГГГГ соответственно в следующую форму записи: ДД <месяц> ГГГГ, где <месяц> – соответствующее номеру название месяца (в родительном падеже).

Вариант А6.

Составить и отладить программу, которая формирует результирующую строку, содержащую все последовательности цифр максимальной длины в предложении.

Вариант А7.

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

Вариант А8.

Составить и отладить программу, которая вводит символьную строку и выделяет из неё все целые числа – только положительные или только отрицательные, в зависимости от ответа на запрос.

Вариант А9.

Составить и отладить программу, реализующую замену заданной подстроки в произвольном тексте на новую подстроку такой же длины. При этом предусмотреть возможность замены всех вхождений или оставить первое вхождение без изменений, в зависимости от ответа на запрос.

Вариант А10.

Составить и отладить программу, которая обрабатывает текст следующим образом. Считая, что количество символов в слове не превосходит десяти, определить, сколько в тексте имеется слов, состоящих из одного, двух, трех,…, десяти символов.

Вариант А11.

Составить и отладить программу, которая в произвольном тексте находит самое длинное и самое короткое слово. Если их длина отличается более чем на N единиц (вводится с клавиатуры), то оставить текст без изменения; в противном случае самое длинное слово в тексте заменить звездочками.

Вариант А12.

Составить и отладить программу, реализующую ввод символьной строки и выделение из нее всех имен файлов (согласно синтаксису MS DOS), имеющих заданное расширение, которое вводится по запросу.

Вариант А13.

Составить и отладить программу, которая подсчитывает число повторений каждого слова в тексте и выдает соответствующую информацию (для каждого экземпляра слова – один раз).

Вариант А14.

Составить и отладить программу, которая выделяет из текста в отдельную строку все слова, которые встречаются в тексте ровно один раз (в порядке их появления в тексте).

Вариант А15.

Составить и отладить программу, которая находит в тексте первую пару слов заданной длины (в порядке их появления в тексте) и подсчитывает для этой пары слов количество различий в соответствующих позициях. Если указанная пара слов не найдена – выдать сообщение.

Вариант А16.

Составить и отладить программу, которая находит в тексте длину каждого несимметричного слова и количество таких слов. Выдать соответствующие сообщения, если в тексте нет несимметричных слов.

Вариант А17.

Составить и отладить программу, которая преобразует произвольный текст, оставив между словами один пробел (без каких-либо других знаков препинания).

Вариант А18.

Составить и отладить программу, которая преобразует произвольный текст путем переворачивания (записи букв в обратном порядке) слов, имеющих четное количество букв.

Вариант А19.

Составить и отладить программу, которая преобразует произвольный текст следующим образом: если в тексте есть одинаковые слова, сократить все повторяющиеся вхождения, оставив только первую букву.

Вариант А20.

Составить и отладить программу, которая редактирует произвольный текст, удаляя из него слова, встречающиеся в тексте заданное число раз.

Вариант А21.

Составить и отладить программу, которая редактирует произвольный текст, удаляя из него слово с заданным номером (вводится по запросу). Выдать соответствующие сообщения, если слово с заданным номером в тексте отсутствует.

Группа В (чуть сложнее)

Вариант В1.

Составить и отладить программу, реализующую выбор в новую строку из заданного предложения всех слов, которые состоят из тех же букв, что и первое слово предложения (и не содержат других букв).

Вариант В2.

Составить и отладить программу, которая выбирает из текста слова, где буквы упорядочены по алфавиту, и формирует из них новую последовательность, в которой слова разделяются не менее чем одним пробелом.

Вариант В3.

Составить и отладить программу, которая в произвольном тексте находит все союзы «и» и печатает их вместе с двумя соседними словами. Определить номер предложения, в котором встречается максимальное количество «и» и напечатать его отдельно.

Вариант В4.

Составить программу, которая для каждого слова введенного предложения определяет, является ли оно целым десятичным числом (м. б. со знаком) и результат заносит в дополнительную строку.

Вариант В5.

Составить и отладить программу, которая подсчитывает количество слов, оканчивающихся на N гласных или согласных букв, где N и вид букв определяет пользователь в диалоге.

Вариант В6.

Составить и отладить программу, которая находит и выбирает в новую строку множество всех слов, которые встречаются в каждом из двух заданных предложений.

Вариант В7.

Составить и отладить программу, которая в заданном предложении преобразует цифровое представление 1- , 2-х и 3-значных чисел в словесный эквивалент (в именительном падеже).

Вариант В8.

Составить и отладить программу, которая выделяет из заданного предложения в отдельную строку все слова, где встречается хотя бы одна буква из первого слова предложения. Выделенные слова должны сопровождаться указанием их порядкового номера в предложении.

Вариант В9.

Составить и отладить программу, которая удаляет (путем сжатия) из заданного предложения все слова, где встречаются цифры, сохраняя знаки препинания.

Вариант В10.

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

abc – cba

прим1 – 1мирп

123 – 321

Вариант В11.

Составить и отладить программу, которая для произвольного текста формирует результирующую строку, содержащую все последовательности цифр максимальной длины в предложении с заданном номером.

Вариант В12.

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

Вариант В13.

Составить и отладить программу, которая редактирует заданное предложение, удаляя из него слова, которые встречаются в предложении более одного раза путем «сжатия» текста.

Вариант В14.

Составить и отладить программу, реализующую замену заданной подстроки в произвольном тексте на новую, более длинную подстроку.

Вариант В15.

Составить и отладить программу, которая обрабатывает текст, содержащий сведения о сотрудниках, записанные по следующему образцу: фамилия имя отчество, фамилия имя отчество, ..., фамилия имя отчество. Необходимо исключить из текста информацию об однофамильцах.

Вариант В16.

Ввести символьную строку и произвести в ней корректировку всех телефонных номеров, относящихся к АТС №N и имеющих шесть цифр, записанных по две цифры через дефис. N вводится с клавиатуры. Изменение заключается в дополнении номера до семи цифр путем вставки перед первой цифрой (равной N) новой цифры, которая вводится по запросу (она одинакова для всех телефонных номеров данной АТС). Например, 45-57-23 преобразуется в 745-57-23.

Вариант В17.

Составить и отладить программу, которая в произвольном тексте из нескольких предложений находит в каждом предложении самое длинное слово и инвертирует его, т. е. переставляет буквы этого слова в обратном порядке.

Вариант В18.

Составить и отладить программу, которая находит и выбирает в новую строку самое длинное общее слово двух заданных предложений.

Вариант В19.

Составить и отладить программу, реализующую замену заданной подстроки в произвольном тексте на новую, более короткую подстроку. При этом предусмотреть возможность «сжатия» текста либо заполнения освободившегося места пробелами, в зависимости от ответа на запрос с терминала.

Вариант В20.

Составить и отладить программу, которая находит в каждом предложении текста самое короткое и самое длинное слово и меняет их местами в этом предложении.

Вариант В21.

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

Вариант В22.

Составить и отладить программу, реализующую разбиение произвольного текста на строки указанной длины без переноса (=разрыва) слов в конце строки и в то же время без большого количества пробелов в конце строки (>3), путем равномерного распределения их между словами данной строки.

Вариант В23.

Составить и отладить программу, реализующую замену цифр в произвольном заданном тексте их русскими или английскими названиями, в зависимости от ответа на запрос с терминала.

Вариант В24.

Составить и отладить программу, которая в произвольном тексте реализует обмен местами двух указанных фрагментов текста (вводятся по запросу). Если это выполнить невозможно по какой-либо причине – выдать сообщение.

Вариант В25.

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