Титульный лист методических рекомендаций и указаний; методических рекомендаций; методических указаний

Форма
Ф СО ПГУ 7.18.3/40

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ И УКАЗАНИЯ

к курсовой работе

по дисциплине Программирование на алгоритмических языках


Лист утверждения методических рекомендаций и указаний; методических рекомендаций; методических указаний

Форма
Ф СО ПГУ 7.18.3/41

УТВЕРЖДАЮ

Проректор по УР

_____________

(подпись)

«____»________________201__ г.

 
Составитель: к. т.н., доцент

Кафедра «Вычислительная техника и программирование»

Методические рекомендации и указания

по дисциплине Программирование на алгоритмических языках

для студентов специальности 5В070400 – Вычислительная техника и программное обеспечение

Рекомендовано на заседании кафедры

«___»______________201_ г., протокол №__

Заведующий кафедрой __________ «___» ______201_ г.

(подпись)

Одобрено учебно-методическим советом факультета ФМиМТ

«___»______________201_ г., протокол №____

Председатель УМС __________ «____» ________201_ г.

(подпись)

ОДОБРЕНО:

Начальник ОПиМОУП _________ «___» _______201_ г.

(подпись)

Одобрено учебно-методическим советом университета

«___»______________201_ г. Протокол №____

Введение

Учебный план по специальности 5В070400 – «Вычислительная техника и программное обеспечение» предполагает изучение на первом курсе дисциплины «Программирование на алгоритмических языках» и выполнение курсовой работы по данному предмету.

НЕ нашли? Не то? Что вы ищете?

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

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

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

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

1 Цели и задачи

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

К задачам курсового проектирования относятся:

- закрепление, углубление, расширение и систематизация знаний, полученных при изучении дисциплин «Информатика и программирование», «Математический анализ» и «Линейная алгебра», а также приобретение практических навыков решения комплексных задач;

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

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

- формирование умения грамотно подготовить презентацию защищаемой работы;

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

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

- В результате выполнения курсовой работы студент должен научиться:

- создавать программу в одной из систем программирования в соответствии с основными этапами ее разработки;

- грамотно формировать математическую модель с использованием соответствующих математических методов;

- строить блок-схему алгоритма работы программы в соответствии с требованиями ГОСТ 19.701-90;

- грамотно тестировать программу;

- анализировать результаты работы программы и делать выводы.

2 Содержание курсовой работы

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

В ходе курсового проектирования студент должен:

1) Выполнить постановку задачи в соответствии с вариантом задания;

2) Используя методы математического анализа, создать математическую модель решения поставленной задачи;

3) Сделать блок-схему алгоритма решения задачи с учетом требований ГОСТ;

4) Написать программу на языке Pascal, реализующую представленную математическую модель в соответствии с блок-схемой алгоритма;

5) Протестировать все ветви работы программы и проанализировать полученные результаты;

6) Написать руководство пользователя;

7) Сделать выводы по работе в целом.

3 Задание на выполнение курсовой работы

Тематика заданий на курсовую работу по дисциплине «Программирование на алгоритмических языках»:

1) Решения систем нелинейных уравнений с использованием различных численных методов.

2) Разработка программ с использованием методов перебора.

3) Создание и обработка файлов.

4) Разработка программ с использованием различных методов поиска и методов сортировки.

5) Разработка обучающе-контролирующих программ

4 Правила оформления пояснительной записки

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

Текст пояснительной записки набирается на компьютере.

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

Титульный лист оформляется в соответствии с требованиями МИ ПГУ 4.01.3-09.

Пояснительная записка должна включать разделы в следующем порядке:

Титульный лист

1) Содержание

2) Задание на курсовую работу

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

4) Математическая модель решения задачи

5) Блок-схема решения задачи

6) Исходный текст программы

7) Руководство пользователя

8) Результаты работы для различных вариантов

9) Тестовые примеры

10) Выводы по курсовой работе

11) Список использованной литературы

5 Методика выполнения курсовой работы

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

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

Задача формулируется на естественном языке. Постановка задачи включает определение сути задачи, ее исходных данных, совокупности критериев оценки качества процесса обработки данных и состава результатов.

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

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

 

5.2 Математическая модель решения задачи

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

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

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

В вычислительных задачах необходимо выполнить расчеты в соответствии с вариантом задания, основываясь на описанной методике. Это делается для того, чтобы в дальнейшем на этапе тестирования сравнить результат, выдаваемый программой с данными, полученными в ходе расчетов. Зачастую в силу логических или технических ошибок результат работы программы может отличаться от расчетного, поэтому необходимо удостовериться, что программа «посчитала правильно». В дальнейшем это поможет избежать неправильных выводов. Расчеты могут проводиться как вручную, так и с использованием специализированных пакетов: MS Excel, MathCad, Matlab и др.

5.3 Блок-схема решения задачи

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

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

Для записи алгоритмов может использоваться естественный язык или формальный язык с ограниченным словарем (часто на основе английского языка), промежуточный между естественным языком и языком программирования.

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

Блок-схема работы программы должна строиться в соответствии с требованиями ГОСТ 19.701  90 (ИСО 5807  85) Схемы алгоритмов, программ, данных и систем.

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

5.4 Исходный текст программы

После построения блок-схемы алгоритма программы начинается следующая стадия – кодирование.

Программа должна однозначно отображать алгоритм решения задачи.

Разработка программы включает:

1) подготовку тестовых исходных данных;

2) написание текста программы на алгоритмическом языке;

3) перенос программ и данных на машинные носители компьютера;

4) отладку и тестирование программы.

Исходные данные представлены в задании.

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

Отладка - это поиск и исправление ошибок программы и алгоритма. Ошибки в программе могут быть синтаксические (формальные) и семантические (смысловые, ошибки алгоритма, логические ошибки). Синтаксические ошибки обнаруживают программы системы программирования. Обнаружить и исправить их достаточно просто. Семантические ошибки вызваны неправильным пониманием или неверной формализацией задачи. Для выявления этих ошибок используют, например, поэтапное выполнение программы и контроль получен­ных, заранее известных, результатов, которые определяют, например, из расче­тов более простым методом.

Из опыта разработки программных систем определено, что число ошибок программирования (в тексте программы) составляет около 7% от всего числа ошибок во время разработки. "Тяжесть" их исправления оценивается в 1%. Относительное число ошибок, внесенных за счет неточностей постановки задачи и неправильного построения алгоритма, составляет около 83%, а "тяжесть" их устранения - 95%.

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

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

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

Результаты тестирования должны быть представлены в разделе «Тестовые примеры».

5.5 Руководство пользователя

Одним из этапов создания программного обеспечения является разработка руководства по работе с программой – руководство пользователя.

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

Руководство пользователя должно быть организовано таким образом, чтобы любому человеку, не знакомому со средой Turbo Pascal, программой и методом, реализуемым ею, были понятны действия, которые от него требуется выполнить.

Примерный план написания руководства пользователя:

1) Действия при запуске программы (какой файл должен быть запущен, какие действия должны при этом выполняться).

2) Структура программы (какие окна есть, как между ними переключаться, структура меню и назначение его элементов).

3) Каким образом осуществляется ввод данных.

4) Как запустить автоматический расчет (или запустить программу на выполнение в случае моделирования какой-либо ситуации).

5) Какая информация выводится на экран.

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

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

Примечание: Обратите внимание, что при работе в графическом режиме Турбо Паскаль в Windows XP невозможно сделать «снимок» экрана нажатием клавиши Print Screen (или сочетания клавиш ALT+Print Screen). Для того чтобы снять скриншот с экрана при работе с приложениями MS DOS, нужно эмулировать сеанс MS DOS с помощью программы DOSBox, которая позволяет запускать любые dos-приложения в операционной системе Windows XP. Если запустить свою программу из DOSBox, тогда снять скриншот с экрана можно простым нажатием клавиши Print Screen.

5.6 Результаты работы программы для различных вариантов

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

Кроме того, для каждого варианта должна быть графические иллюстрации.

Если на этапе математического моделирования (п. 5.2) проводились расчеты (например, приближенное вычисление интеграла), необходимо сравнить полученные данные с результатами работы программы и сделать соответствующие выводы.

В любой программе должна быть предусмотрена защита от некорректных действий пользователя, а также обработка иных ошибок (например, ошибок инициализации графического режима). Иначе, в случае задания пользователем некорректных параметров или отсутствия файла графического модуля в директории, используемой по умолчанию, или при возникновении иных исключительных ситуаций, программа будет «вылетать». Обработка ошибок предполагает выдачу пользователю рекомендаций по их устранению. Например, если областью определения функции является область [0;+∞], а пользователь в качестве границы интервала вводит отрицательное число, ему должна быть выведена подсказка вида: «Число принадлежит отрезку [0;+∞]!!!».

Некоторые случаи, когда нужно прописывать обработку ошибок:

1) Нижняя граница интервала, на котором определена функция, должна быть меньше верхней.

2) Число отрезков разбиения должно быть больше 0.

3) Если программа не может инициировать графический модуль, нужно вывести на экран соответствующее сообщение (например, «Ошибка инициализации графики!») и др.

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

1) Ввод данных (попытаться определить все ошибки, которые возникнут при вводе исходных данных пользователем).

2) Решение.

3) Вывод графика (необходимо предусмотреть обработку ошибок инициализации графического режима).

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

5.8 Выводы по курсовой работе

По результатам выполнения курсовой работы необходимо сделать выводы, которые должны отражать следующие вопросы:

1) Какова была задача проектирования? Была ли она решена и достигнуты ли основные цели?

2) Какие новые знания и навыки вы получили в процессе курсового проектирования?

3) Полезен ли для вас опыт данной работы и где могут быть применены полученные знания?

6 График выполнения курсовой работы

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

Примерный план график приведен в таблице.

Таблица – План-график выполнения курсовой работы

Наименование этапа работ

Процент к общей трудоемкости

Срок предъявления консультанту

Получение и уточнение задания

1%

5-6 неделя

Постановка задачи и математическое моделирование

10%

7 неделя

Создание блок-схемы алгоритма программы

25%

10 неделя

Программирование и отладка

30%

12 неделя

Создание руководства пользователя

8%

13 неделя

Анализ результатов работы программы

15%

14 неделя

Оформление пояснительной записки, подготовка к защите

10%

15 неделя

Защита

1%

15 неделя

Итого

100%

7 Процедура защиты курсовой работы

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

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

В ходе защиты курсовой работы оцениваются:

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

- знание среды программирования и основ алгоритмизации, степень владения материалом;

- аккуратность оформления пояснительной записки;

- соответствие материалов работы требованиям ГОСТ;

- понимание использованных математических методов;

- изложение материалов в устном докладе и презентации.

Список литературы

Основная

1) Фаронов Паскаль 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 2001.– 575 с.

2)  Turbo Pascal в задачах и примерах. – СПб.: БХВ-Петербург, 2007.– 256 с.

3)  Алгоритмы и программы на Turbo Pascal. Учебный курс. – СПб.: Питер, 2001.– 345 с.

4)  Turbo Pascal: практикум. – СПб.: Питер, 2000.– 235 с.

5)  Программирование в среде Turbo Pascal 7.0. – М.: ДИАЛОГ-МИФИ, 2000.– 287 с.

Дополнительная

6) Павловская : программирование на языке высокого уровня. СПб.: Питер, 2008.– 392 с.

7) Павловская : программирование на языке высокого уровня: практикум. СПб.: Питер, 2007.– 316 с.