
- •Методические указания к выполнению курсового проектирования по дисциплине «технология программирования»
- •1. Цели и задачи выполнения курсовой работы
- •2. Единая система программной документации (еспд)
- •3. Методические указания по разработке технического задания
- •3.1. Общие положения
- •3.2. Содержание разделов
- •4. Методические рекомендации по разработке программного средства.
- •4.1. Порядок решения задачи курсовой работы
- •4.2. Техника программирования задачи курсовой работы
- •1. Ввод и вывод данных
- •2. Инициализация данных и создание динамических переменных
- •3. Подсчет времени работы программы
- •4. Работа с клавиатурой.
- •5. Методические рекомендации по тестированию программного средства.
- •6. Методические указания по оформлению курсовой работы
- •6.1. Основные правила оформления программной документации
- •6.2. Правила оформления расчетно-пояснительных записок при курсовом проектировании
- •7. ИспользованиеMicrosoftVisioдля разработки блок-схем
- •7.1. Соединение элементов блок-схемы
- •7.2. Навигация в многостраничных блок-схемах
- •Техническое задание №1
- •1. Введение
- •2. Основание для разработки
- •3. Назначение
- •4. Требования к программе или программному изделию
- •5. Требования к программной документации
- •Техническое задание №2
- •1. Введение
- •2. Основание для разработки
- •3. Назначение
- •4. Требования к программе или программному изделию
- •5. Требования к программной документации
- •Курсовой работа по дисциплине технологии программирования :
4. Методические рекомендации по разработке программного средства.
4.1. Порядок решения задачи курсовой работы
Приведенные ниже правила носят рекомендательный характер, особенно это касается порядка в котором они перечислены, и могут быть переработаны как самим студентом, так и его руководителем.
В самом начале разработки полезно использовать нижеприведенную универсальную заготовку.
var
i,j,k:longint;
procedure readdata;
begin
assign(input,'');
reset(input);
end;
procedure outdata;
begin
assign(output,'');
rewrite(output);
close(output)
end;
procedure initial;
begin
fillchar(i,?,0);
end;
procedure run;
begin
end;
begin
readdata;
initial;
run;
outdata
end.
Затем следует очень внимательно прочитать условие задачи вашего варианта и постараться правильно (!!!) понять в чем заключается эта задача. Если что-то непонятно, в том числе и в формате ввода и вывода, то лучше задать вопрос руководителю курсовой работы. Несмотря на очевидность данного правила, очень часто студенты разрабатывают не соответствующие поставленной задачи алгоритмы.
Если вы приступили к решению задачи и основная структура данных для нее вам ясна, то можно описать основные глобальные переменные и набрать процедуру readdata ввода данных, чтобы она считывала все параметры задачи так, как это указано в условии. Обязательно (!!!) необходимо делать формальную проверку считанных данных, то есть проверять соответствие введенных значений переменных условию задачи.
В процедуре initialследуетобнулить или присвоить соответствующие начальные значения всем (!!!) глобальным переменным, за исключением тех, которые будут использоваться в качестве параметров циклов. Затем запрограммировать вывод результата в процедуреoutdataтак, как это требуется в условии задачи.
Используйте метод нисходящего программирования, т.е. запрограммируйте решение задачи в виде вызовов процедур и функций, которые пока следует описать в виде “заглушек” (мнимого или пустого действия или имитации настоящего действия, которое должна выполнять ваша программа). Таким образом, вы сможете отладить логику вашей программы, которая опять же должна оставаться “работающей”.
Затем следует по одной набирать и отлаживать уже описанные процедуры и функции, добиваясь, чтобы свое действие каждая из них выполняла правильно в любом случае. например, поиск максимумов, сортировка массивов, комбинаторные подпрограммы и т.п. должны работать корректно при любых входных параметрах, вне зависимости от программного контекста, из которого они будут вызываться. Особое внимание следует уделять программированию вырожденных случаев. Так, если у вас в программе встречается деление, то сразу подумайте, не может ли делитель быть нулем и рассмотрите этот случай отдельно. При программировании циклов добивайтесь, чтобы зацикливания не происходило ни при каких начальных значениях переменных, использующихся в том или ином цикле, и т. д. и т.п.
Если вы не придумали эффективного решения задачи, то запрограммируйте его по-простому: например, с помощью полного перебора или простой эвристики (приближенного решения в ряде случаев дающего точный ответ). Если и это сложно, то упростите себе задачу, то есть отбросьте условия, которые вам мешают или добейтесь, чтобы программа проходила на самых простых, например, вырожденных тестах (большинство параметров равны 0 или 1).
Постарайтесь запустить ваш exe-файл непосредственно в операционной системе хотя бы для одного теста, чтобы убедиться в его работоспособности. Причины, по которым работающая в среде программирования программа, может оказаться не работоспособной в виде исполняемого файла заключаются, в основном, в неинициализации значений ряда переменных.