
- •1Общие методические указания
- •1.1.Цель и задачи курсовой работы
- •1.2.Порядок выполнения работы
- •1.3.Этапы решения задачи на эвм и контроль хода выполнения работы
- •1.4.Оформление курсовой работы
- •1.5.Порядок сдачи оформленной курсовой работы
- •2Технология и методы программирования
- •3Структура стандартов единой системы программной документации
- •4Требования к оформлению программных документов в соответствии со стандартами
- •5Оформление алгоритмов в соответствии со стандартами
- •5.1. Схемы алгоритмов
- •5.2. Структурограммы
- •6Примеры и рекомендации по выполнению и оформлению курсовой работы
- •6.1. Титульный лист
- •Пояснительная записка
- •6.2. Оглавление
- •6.3. Задание
- •Литература
- •6.4. Текст пояснительной записки
- •Введение
- •Задание 2.1. Математика
- •Задание 2.2. Логические схемы
- •Задание 2.3. Вступительные экзамены
- •Задание 2.4. Транслятор
- •Задание 2.5. Программирование на Паскале
- •Задание 2.6. Начинающий программист
- •Задание 2.7. Алгоритмизация
- •Задание 2.8. Справочник
- •Задание 2.9. Двоичная арифметика
- •Задание 2.10. Работа с файлами
- •Тема 3. Информационно - справочные программы
- •Задание 3.1. Косметическая фирма
- •Задание 3.2. Фирма по производству скобяных изделий
- •Задание 3.3. Туристическое агентство
- •Задание 3.4. Телефонный справочник
- •Задание 3.5. Аптека
- •Задание 3.6. Фирма по продаже эвм
- •Задание 3.11. Библиотека
- •Задание 3.12. Фирма «Социальные услуги»
- •Задание 3.13. Фирма по услугам связи
- •Задание 3.14. Справочная служба гаи
- •Тема 4. Проектирование баз данных и файловых структур
- •Задание 4.1. Расписание движения поездов
- •Задание 4.2. Диспетчер
- •Задание 4.3. База данных
- •Задание 4.4. Метрология
- •Задание 4.5. Анкета
- •Задание 4.6. Регистратура
- •Задание 4.7. Словарь технических терминов
- •Задание 4.8. Англо-русский словарь
- •Задание 4.9. Каталог
- •Задание 4.10. Зарплата
- •Задание 4.11. Стипендия
- •Задание 4.12. Пересдача
- •Тема 5. Игровые программы
- •Задание 5.1. "Что, где, когда?"
- •Задание 5.2. Искатель кладов
- •Задание 5.3. Пасьянс
- •Задание 5.4. Морской бой
- •Задание 5.5. Игра "15"
- •Задание 5.6. Лабиринт
- •Задание 5.7. Тир
- •Задание 5.8. Xonix
- •Задание 5.9. Карты
- •Задание 5.10. Домино
- •Тема 6. Графические программы
- •Задание 6.1. Построение графиков аналитических функций
- •Задание 6.2. Построение графиков табличных функций
- •Задание 6.3. Табло для голосования
- •Задание 6.4. Графический редактор
- •Задание 6.5. Изометрия
- •Задание 6.6. Сечения
- •Задание 6.7. Графическая интерпретация математических методов
- •Задание 6.8. Сортировка
- •Задание 6.9. Клавиатура
- •Задание 6.10. Калейдоскоп
- •Библиографический список
- •Оглавление
1.5.Порядок сдачи оформленной курсовой работы
Законченная пояснительная записка к курсовой работе в запланированный срок представляется закрепленному преподавателю (руководителю) для проверки.
После проверки студенту назначается время сдачи работы. При наличии ошибок, а также в случае неправильного и небрежного оформления пояснительная записка возвращается студенту для исправления и доработки. Сдача курсовой работы (защита) руководителю работы или комиссии, состоящей из руководителя работы, лектора и ассистента, ведущего лабораторные работы, производится в форме демонстрации разработанной программы и собеседования, направленного на выявление уровня знаний студента и понимания по вопросам выполненной работы. При определении оценки по курсовой работе преподаватель учитывает показатели работы студента в течение семестра над курсовой работой, материалы пояснительной записки и ответы студента в ходе собеседования.
2Технология и методы программирования
Разработка программных средств требует значительных материальных затрат. Они могут превышать стоимость вычислительной техники, на которой реализуются. Основными путями снижения стоимости разработок программных средств и повышения их эффективности являются:
1) применение на стадии алгоритмизации таких методов программирования, как P- и HIPO-технологий, имеющих в основе принципы программирования «сверху - вниз», структурное и модульное;
2) использование языков программирования высокого уровня: Турбо Паскаль, Си, Си++, Java и др.
Преимущества известных и широко распространенных технологий и методов программирования определяются их следующими свойствами.
1.Технологии программирования обеспечивают отторжимость программного изделия от его разработчика, т.е. человеческий фактор в программировании сводится к минимуму.
2.Технологии программирования и средства их поддержки обеспечивают целенаправленную работу, прежде всего коллектива программистов, а не отдельных личностей.
3.Технология программирования является безбумажной. Весь процесс изготовления программного изделия выполняется за пультом экрана с минимальным расходом бумаги. Документация на программное изделие (техническое описание, инструкции пользователю, инструкции по эксплуатации и т.п.) заносится и хранится на магнитных, оптических или электронных носителях (дисках).
4.Средства автоматизации технологии охватывают все этапы работы коллектива программистов, учитывают существующий опыт, отраженный в отечественных стандартах, а также обеспечивают возможность гибкой и простой их перестройки на основе постоянно накапливаемого опыта разработчиков.
5.Технология программирования не связана с языком программирования, так как по современным представлениям не он является определяющим звеном в процессе программирования.
6.Технология программирования, как правило, является простой в освоении, с автоматически включаемыми средствами подсказки и обучения универсального применения.
Первые работы по технологии программирования инициализированы в 1968 году письмом Дейкстры, в котором он обратил внимание, что опытные программисты избегают использовать оператор GOTO в своих программах, а строят их как композицию (соединение или вложение друг в друга) трех-четырех операторов: присваивания, выбора, повторения, обращения к процедуре-функции и т.д. Это небольшое письмо послужило началом новой эпохи в программировании, которая в настоящее время получила название структурное программирование.
До письма Дейкстры структурные принципы построения программ были сформулированы в фундаментальных работах академика В.М. Глушкова по теории дискретных преобразователей (1964-1965гг.), в которых он не только определил основные структуры и правила их композиции, но и доказал фундаментальную теорему о возможности преобразования произвольной программы в структурированную форму без изменений информационной базы, с которой она работает. Этот результат в структурном программировании был получен, да и то не в полном объеме, лишь через десять лет.
Составление алгоритма даже не очень сложной задачи приводит зачастую к заметным трудностям. С другой стороны, алгоритм и программа, составленные одним человеком, бывают плохо понятны другим пользователям. Практика программирования показывает, что в большинстве случаев гораздо легче разработать алгоритм и программу заново, чем разобраться в уже готовых. Все сказанное говорит о необходимости научно обоснованной методологии разработки (и документирования) алгоритмов и программ. Эта методология должна касаться анализа исходной задачи, разделения ее на достаточно самостоятельные части по возможности независимые друг от друга.
Такой методологией, зародившейся в начале 70-х годов и получившей в дальнейшем широкое распространение и признание, является структурное программирование. По своей сути структурное программирование является воплощением принципов системного подхода в процессе создания и эксплуатации программного обеспечения ЭВМ. В основу структурного программирования положены следующие достаточно простые положения.
Алгоритм и программа должны составляться поэтапно (по шагам). Размер шага определяется количеством решений, применяемых программистом на каждом этапе детализации.
Сложная задача должна разбиваться на достаточно простые, легко воспринимаемые части, каждая из которых имеет только один выход и один вход.
Логика алгоритма и программа должны опираться на минимальное число достаточно простых базовых управляющих структур.
Использование этих положений позволяет внести определенную систему в труд программиста и составить удобочитаемые алгоритмы и программы, которые можно изучать и проверять. Фундаментом структурного программирования является теорема о структурировании. Эта теорема доказывает, что как бы сложна не была задача, схема соответствующей программы всегда может быть представлена с использованием весьма ограниченного числа элементарных управляющих структур. Эти элементарные структуры могут соединяться между собой, образуя более сложные структуры, по тем же самым элементарным схемам. Базисными элементарными структурами являются структуры, изображенные на рис. 1. Они обладают функциональной полнотой, т.е. любой алгоритм может быть реализован в виде композиций этих трех конструкций. Каждая из конструкций имеет свое название. Так, первая из них (рис. 1,а) называется структурой типа последовательность (или просто последовательность), вторая (рис. 1,б) – структура выбора (разветвление), третья (рис.1,в) – структура цикла с предусловием. При словесной записи алгоритма указанные структуры имеют соответственно следующий смысл: “выполнить S1; выполнить S2”; “если P, то выполнить S1, иначе выполнить S2», «до тех пор, пока P, выполнять S”, где P - условие; S, S1, S2 - действия.
Любой алгоритм может быть представлен в виде композиции трех структур: последовательности, выбора, цикла с предусловием. Однако на практике с целью удобства и наглядности схем алгоритмов дополнительно используют еще четыре элементарные структуры: сокращенное разветвление (рис. 2,а); вариант (рис. 2,б); цикл с заголовком или цикл с параметром (рис. 2,в); цикл с постусловием (рис. 2,г). Каждая из структур, показанных на рис. 1 и 2, имеет один вход и один выход. В языке программирования имеются средства (операторы), позволяющие достаточно просто и наглядно реализовать часть (или все) из этих структур, поэтому правильное использование типовых структур в процессе разработки алгоритма обеспечивает упрощение последующих этапов решения задачи на ЭВМ.