Skip to content

Постановка задачи

SnipGhost edited this page Dec 26, 2016 · 7 revisions

Требования к выполнению задания

Ввести с клавиатуры текст, состоящий из нескольких предложений, каждое из которых завершается точкой. Текст состоит из латинских букв (строчных и прописных), пробелов и знаков пунктуации (точки и запятые) и заканчивается символом "конец текста" (оговорено: ^Z). Предложения в тексте разделяются пробелами. Количество предложений и их содержание должно обеспечивать проверку правильности выполнения задания, то есть являться тестом разработанной программы.

(!) Запрещено использование типа (класса) STRING.

  1. Разработать функцию для ввода такого текста с клавиатуры. Функция должна контролировать ввод, чтобы вводить только указанные в задании символы и возвращать строку с введенным текстом;
  2. Разработать структуры данных для хранения введенного текста;
  3. Разработать функцию, которая преобразует введенный текст в массив из строк (предложений);
  4. Разработать функцию, которая преобразует предложения в массив из слов;
  5. Поместить определения этих функций и структур, которые являются базовыми для ДЗ, в отдельный модуль (файл) и подключить его к программе;
  6. Выполнить с использованием разработанных функций индивидуальное задание;
  7. Распечатать преобразованный текст. Печать предложения начинать с новой строки, слова печатать через один пробел с точкой после последнего слова в предложении.

Оценка выполнения задания

Максимальная оценка – 10 баллов.
Минимальная оценка – 4 балла, ставится при использовании в ДЗ функции ввода текста (основная базовая функция) и функции выполнения индивидуального задания.
Добавление баллов производится за использование для ввода текста следующих дополнительных базовых функций и структур:

  • функции, возвращающей предложение в виде массива слов +1 балл;
  • функции, возвращающей введенный текст в виде массива предложений, которые являются массивом слов +1 балл;
  • использование в функциях структур типа текст со статическими массивами +1 балл;
  • перегрузка операции вывода в поток (<<) для структур +1 балл;
  • использование в функциях и структурах динамических массивов +2 балла.

Итого: что от нас требуется?

  1. Три структуры для хранения предложений (text), слов (sentence) и символов в словах (word).
  2. Функция ввода (и контроля ввода) текста, возвращающая строку с введенным текстом. Оканчивается текст символом ^Z, может содержать латинские буквы, цифры, знаки пунктуации.
  3. Функция разделения текста на предложения по разделителям (точкам).
  4. Функция разделения предложения на слова по разделителям (пробелам и пр.) + добавление атрибутов слова.
  5. Перегрузка операторов вывода в поток (<<) для структур (для печати).
  6. Поместить все эти структуры и функции в отдельную библиотеку.
  7. Выполнить с помощью данной библиотеки индивидуальное задание.
  8. Все разрабатывать вместе - быстро и качественно!

By SnipGhost 26.11.2016