Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





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

6 Заключение, в котором содержатся выводы и рекомендации относительно возможностей практического применения материалов работы;

7 Список использованных источников;

Приложения.

Примерное содержание курсовой работы приведено в Приложении А.

Структура пояснительной записки и примерный объем листов печатного текста представлен в таблице 1.

Таблица 1

 

Наименование разделов Коли-чество страниц
Введение  
1. Обзор методов (алгоритмов) решения задач 8-12
2. Практическое решение задачи 10-12
2.1. Построение математической модели задачи 1-2
2.2. Описание практических методов решения 4-6
2.3. Разработка и описание алгоритма решения задачи 3-4
2.4. Обоснование выбора средств разработки 1-2
2.5. Тестирование программы  
Заключение (выводы и рекомендации по практическому использованию)  
Список использованных источников 1-2
Приложение  

При написании пояснительной записки необходимо придерживаться требований единой системы программной документации (ЕСПД) и ГОСТ.

Введение

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

Основная часть (пояснительная записка)

Основная часть составляет наибольший объём всей работы, с изложением содержания текстового документа.

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

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

Назначение и область применения разработки

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

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

Состав выполняемых функций

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

- ввод данных пользователем с клавиатуры - вводятся названия населённых пунктов и дороги, соединяющие их;

- вывод данных - вывод на экран списка населённых пунктов и дорог, соединяющий их;

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

- считывание файла с диска, с именем, которое указывает пользователь в диалоговом режиме;

- вывод результата - пользователь задаёт начальный и конечный населённый пункт, между которыми необходимо проложить путь, на экране появляется маршрут, либо сообщение: "маршрут не найден".

Требования к входным и выходным данным

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

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

Описание метода решения

В этом разделе могут быть описаны основные приемы программирования итипы данных, используемые при решении аналогичных задач. Например, если в задаче используются динамические структуры, то перечисляются виды динамических структур данных и основные процедуры по работе с динамическими структурами. Если задача заключается в формировании базы данных и дальнейшей работе с базой, то приводится описание используемых типов данных [характеристика данных типа записи] и приемы работы с файлами.

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

Например, описание метода решения рассматриваемой задачи «Нахождение кратчайшего пути от одного населенного пункту к другому» будет следующим:

Cтроится граф, вершины которого - населённые пункты, а ребра - дороги между ними.

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

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

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

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

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

Разработка алгоритма

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

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

Далее приводится словесное описание алгоритма решения задачи «Нахождение кратчайшего пути от одного населенного пункту к другому».

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

Все процедуры, используемые данной программой, должны находится в unit-модуле и предназначены для использования основной программой.

Основная программа осуществляет вывод меню на экран, опрос клавиатуры и вызов процедуры, соответствующей выбранному пункту меню.

Для реализации ввода данных используется процедура InputData, которая должна осуществлять ввод имён городов с клавиатуры. Если вместо названия города был нажат ввод, то процедура выводит список городов на экран, и пользователь, передвигая курсор и нажимая клавишу Enter составляет список дорог, соединяющих эти города между собой, при нажатии клавиши Esc процедура прекращает свою работу и выполняет возврат в главное меню.

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

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

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

Для поиска пути между городами используется процедура FindPath, которая осуществляет вывод списка городов на экран, опрос клавиатуры, при этом пользователь может выбрать курсором начальный и конечный населённый пункт в своём пути, процедура FindPath вызывает с параметрами рекурсивную процедуру которая производит поиск оптимального маршрута между выбранными городами.

Для поиска маршрута используется рекурсивная процедура findnext, из которой при её вызове передаются следующие параметры:

a(vec) - вектор, каждому городу соответствует номер в маршруте или ноль, если города нет в маршруте;

tv(integer) - город, следующий в маршруте;

nv(integer) - город, в который необходимо добраться;

lv(integer) - количество пройденных городов.

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

Ниже приведена обобщенная схема алгоритма работы основной программы, из которой видна организация взаимодействия программы с процедурами, находящимися в модуле ph.tpu. (рисунок 1)

В схеме используются следующие идентификаторы:

c- нажатая клавиша Enter (#13), Esc(#27)

sl- выбранный пункт меню (#80), (#72)

                                   
   
 
   
 
 
 
 
 
 
   
Find Path
   
Load
   
Save
 
 
 
   
 
 
 
Рисунок 1  

 

 








Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.