Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Цикл лабораторных работ по курсу.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.58 Mб
Скачать

74Домашнее задание. Методические указания к домашнему заданию по курсу «Основы программирования»

75

76Цели домашнего задания

Целью домашнего задания является закрепление приобретенных в процессе выполнения лабораторных работ практических навыков реализации на языке С++ следующих приемов структурного программирования:

  1. Использование методов структурного проектирования программ при разработке алгоритма выполнения задания.

  2. Использование структур и массивов из структур для хранения данных.

  3. Использования методов структурного программирования при разработке библиотеки базовых функций для реализации отдельных шагов алгоритма.

  4. Организация обмена данными между функциями с использованием указателей и ссылок.

  5. Создание и обработка динамических массивов.

  6. Отладка и тестирование программ.

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

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

БЕЗ ИСПОЛЬЗОВАНИЯ типа STRING:

  • разработать функцию для ввода такого текста с клавиатуры. Функция должна контролировать ввод, чтобы вводить только указанные в задании символы и возвращать строку с введенным текстом;

  • разработать структуры данных для хранения введенного текста;

  • разработать функцию, которая преобразует введенный текст в массив из строк (предложений);

  • разработать функцию, которая преобразует предложения в массив из слов;

  • поместить определения этих функций и структур, которые являются базовыми для ДЗ (так как могут использоваться для выполнения любого варианта задания), в отдельный модуль (файл) и подключить его к программе;

  • выполнить с использованием разработанных функций индивидуальное задание;

  • распечатать преобразованный текст. Печать предложения начинать с новой строки, слова печатать через один пробел с точкой после последнего слова в предложении.

Задание выполняется группой из 3-х человек, один из которых выбирается руководителем (смотри п.2.2 методических указаний).

Прежде чем приступать к разработке базовых функций для выполнения ДЗ, оцените свои возможности реализации выбранного вами решения с целью правильно рассчитать своё время. Если затраты на разработку кажутся слишком большими, следует выбрать более простой, но и более дешевый (в смысле максимальной оценки) способ выполнения задания. Правила оценки ДЗ приведены в п.3 методических указаний.

76.1Групповая разработка проектов

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

Каждая группа должна разработать один проект, который позволял бы выполнять индивидуальные задания каждого из членов группы с использованием библиотеки базовых функций. Каждый член группы создает свою библиотеку, содержащую определения структур Text и Sentence и базовые функции, выполняющие ввод текста и заполнение структур Sentence и Text. Базовые функции, разрабатываемые членами группы, должны иметь прототипы, согласованные с руководителем группы, но свои имена и реализацию. (Так как имя функции включается в прототип, то для выполнения этого требования вызовы функций в программе следует выполнять через указатель на функцию). Например,

char* InputText1();

Text& GetText1(char*);

Sentence& GetSentence1(char*);

Затем функции членов группы объединяются в общую библиотеку, которая хранится в отдельном модуле. В данном примере библиотека будет содержать 9 функций (три группы по три функции с одинаковыми сигнатурами).

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