
- •1 Задание на курсовую работу
- •Рекомендации по разработке программ
- •2 Индивидуальные задания
- •Тема 1. Обработка элементов вектора
- •Тема 2. Удаление элементов вектора
- •Тема 3. Вставка в вектор новых элементов
- •Тема 4. Проверка состояния вектора
- •Примерное содержание отчета
- •1 Задание на курсовую работу
- •2 ЗадаЧа 1
- •2.1 Условие задачи
- •2.2 Постановка задачи
- •2.3 Описание алгоритма
- •2.4 Контрольные примеры
- •2.5 Реализация решения задачи
- •6.1 Описание данных
- •6.2 Описание алгоритма
- •6.3 Текст программы
СОДЕРЖАНИЕ
Введение |
4 |
1 Задание на курсовую работу |
5 |
2 Индивидуальные задания |
8 |
2.1 Тема 1. Обработка элементов вектора |
8 |
2.2 Тема 2. Удаление элементов вектора |
13 |
2.3 Тема 3. Вставка в вектор новых элементов |
16 |
2.4 Тема 4. Проверка состояния вектора |
20 |
Приложение А. Пример оформления титульного листа |
22 |
Приложение Б. Примерное содержание отчета |
23 |
Литература |
27 |
ВВЕДЕНИЕ
Систематический подход к разработке сложных программ (программных комплексов) предполагает представление задачи в виде совокупности небольших и относительно независимых частей, решение которых можно осуществлять отдельно.
Структурное программирование – технология разработки программ, при которой все этапы (проектирование, кодирование и тестирование) осуществляются взаимосвязанным образом в соответствии с определенным набором правил, облегчающих восприятие и сопровождение программ.
Структурное программирование основано на принципах пошаговой детализации при проектировании программ, модульном программировании и структурном кодировании [2].
Модульное программирование – это процесс разделения программы на логические части (функциональные блоки), называемые модулями, и последовательное программирование каждой части.
Понятие модуля является развитием понятия подпрограммы.
Программный модуль должен удовлетворять двум основным требованиям:
– быть независимым,
– выполнять определенную функцию.
Модуль должен быть независим от источника входных данным, места назначения выходных данных и от других модулей (подразумевается, что модуль можно изменить или модифицировать, не вызывая каких-либо последствий в других модулях).
У модуля должна быть одна точка входа и одна точка выхода. Данные, используемые внутри модуля, должны быть определены в этом модуле (локальные данные). Если данные обрабатываются в нескольких модулях, то их следует разместить в отдельном модуле (модуле глобальных описаний).
1 Задание на курсовую работу
Каждый студент должен решить по одной задаче по каждой из 4 тем заданий по обработке числовых одномерных массивов:
обработка элементов вектора;
удаление элементов вектора;
вставка в вектор новых элементов;
проверка состояния вектора.
Номер задачи соответствует порядковому номеру студента в списке группы, а вариант – номеру группы.
Далее необходимо разработать программу модульной структуры обработки массивов и реализовать ее средствами языка программирования C/C++ или Pascal.
При выполнении курсовой работы следует документировать решение каждой задачи: записать постановку задачи, описать алгоритм, подготовить контрольные примеры, содержащие все возможные варианты входных и выходных данных задачи.
На основе этих материалов и результатов решения задач оформляется отчет о выполненной курсовой работе.
Этапы выполнения курсовой работы:
Создание библиотеки подпрограмм работы с одномерными массивами:
– ввод одномерного массива–вектора;
– вывод вектора;
– набор подпрограмм, обеспечивающих решение каждой заданной студенту задачи на каждую тему из списка индивидуальных заданий.
Тестирование каждой подпрограммы решения заданной студенту задачи с использованием полного набора контрольных (тестовых) примеров.
Создание программы, позволяющей решать все задачи заданного студенту набора задач, выбирая очередную задачу в произвольном порядке из предложенного меню.
Создание программы модульной структуры из трех частей:
– глобальные описания;
– описания подпрограмм работы с массивами;
– главная (основная) программа.
Создание отчета, включающего условия задач из набора индивидуальных заданий, описание решения каждой задачи и текст соответствующей подпрограммы, описание и текст созданной программы обработки массивов.
Титульный лист отчета приведен в Приложении А. Примерное содержание отчета приведено в Приложении Б.
Рекомендации по разработке программ
Помните, программы читаются людьми
Программы должны составляться таким образом, чтобы их могли прочитать в первую очередь люди, а не машины.
Для выявления структуры программы следует использовать отступы. Для улучшения читаемости программы следует вставлять пробелы.
Используйте имена с подходящей символикой
Имена объектов программы (переменных, констант, подпрограмм и т.п.) должны быть выбраны так, чтобы наилучшим образом определять те объекты, которые они представляют.
Разбивайте программу на малые независимые подпрограммы
Если алгоритм можно разбить на последовательность законченных действий, каждое законченное действие оформляется в виде подпрограммы.
Всю необходимую подпрограмме информацию нужно стремиться передавать ей в качестве параметров, а не через глобальные переменные, изменение которых трудно отследить.
Действия по вводу-выводу следует отделять от вычислительных операций.
Разрабатывайте тестовые данные заранее
Контрольных примеров должно быть минимально необходимое количество.
Процесс тестирования программы можно разделить на три этапа:
– проверка в нормальных условиях,
– проверка в экстремальных условиях,
– проверка в исключительных ситуациях.
Проверка в нормальных условиях предполагает тестирование на основе данных, характерных для реальных условий функционирования программы.
На втором этапе тестирования производятся
– так называемые граничные испытания, когда в качестве тестовых данных используются экстремальные значения – граничные значения области изменения входных переменных, которые должны восприниматься программой как правильные данные;
– проверки при граничных объемах данных, слишком малых (так называемые нулевые примеры) или слишком больших.
Проверка в исключительных условиях проводится с использованием данных, значения которых лежат за пределами допустимой области изменения. Программа должна сообщать обо всех ситуациях, когда она не в состоянии правильно обработать данные.