Методические указания по курсовому проектированию по дисциплине «основы алгоритмизации и программирования»


Скачать 327.78 Kb.
НазваниеМетодические указания по курсовому проектированию по дисциплине «основы алгоритмизации и программирования»
страница1/2
Дата публикации23.03.2013
Размер327.78 Kb.
ТипМетодические указания
referatdb.ru > Математика > Методические указания
  1   2
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

ПАВЛОДАРСКИЙ ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ

УТВЕРЖДАЮ

Зам. директора по УМР

___________ Жумадилова Г.А.

«____»______________2012 г.

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

ПО КУРСОВОМУ ПРОЕКТИРОВАНИЮ

ПО ДИСЦИПЛИНЕ «ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ»

Павлодар

2012

Методические рекомендации по выполнению курсового проекта разработаны преподавателем спец.дисциплин Н.А.Салий.

Методические указания обсуждены и одобрены на заседании ПЦК «Специальных дисциплин» от ______ 2012 г., протокол № ___.

СОДЕРЖАНИЕ

  1. Общие положения

4

  1. Содержание разделов курсовой работы (проекта)

5

  1. Примерная тематика курсовых проектов

9



  1. Общие положения

Курсовой проект предусмотрен тематическим планом изучения дисциплины "Основы алгоритмизации и программирования".

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

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

Перед студентом ставится задача разработать приложение с целью решения конкретной задачи. Результатом решения является:

А) исполняемый файл программы;

Б) пояснительная записка.

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

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

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

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

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

^ 2. Содержание разделов курсовой работы (проекта)

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ.

  1. Постановочная часть

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

    2. Описание алгоритма.

  2. Проектная часть

    1. Написание программы

    2. Описание программы.

ЗАКЛЮЧЕНИЕ.

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

ПРИЛОЖЕНИЕ. Листинг программы.

ОГЛАВЛЕНИЕ. Оглавление составляется в соответствие с содержанием пояснительной записки и должно отражать все разделы курсовой работы. После написания пояснительной записки в оглавлении проставляются страницы.

ВВЕДЕНИЕ. В разделе "Введение" указывается тема и цель курсового проекта. А также указывают назначение и краткую характеристику области применения программного курсового проекта.

^ 1. Постановочная часть.

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

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

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

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

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

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

^ 2. Проектная часть.

2.1. Написание программы

Современные программы разрабатываются для функционирования в среде Windows. Приложение для Windows студенты разрабатывают в среде визуального программирования.

Визуальное программирование строится на тесном взаимодействии двух процессов:

  • процесс конструирования Windows-окна;

  • процесс написания кода, придающего элементам этого окна и программе в целом необходимую функциональность.

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

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

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

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

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

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

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ. В заключении необходимо показать, каким образом решены поставленные задачи курсового проекта и какова степень достижения ее цели. Заключение должно содержать выводы и предложения, обоснованные студентом в процессе выполнения.

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

Источники нумеруются для того, чтобы на них можно было ссылаться из текста пояснительной записки. Например:

  1. Фаронов В. В. Delphi 4. Учебный курс. -М.: Издательство "Нолидж", 1998.

  2. Дарахвелидзе П., Марков Е. Программирование в Delphi 4. - СПб.: БХВ-СПб., 1999.

^ 3. Примерная тематика курсовых проектов

  1. Создайте программу введения базы данных "Сотрудники" научного учреждения "Прогресс"" База данных состоит из двух файлов. Файл №1 - список сотрудников: фамилия, код должности, подразделение. Файл № 2 - справочник: наименование должности, зарплата за один час работы. Количество отработанных часов для каждого сотрудника вводятся с клавиатуры компьютера. Ведение базы данных включает в себя следующие пункты: ввод и редактирование данных, вывод расчетной ведомости для каждого подразделения и расчет суммы выплаты заработной платы по институту в целом. Расчетная ведомость имеет вид:



    Фамилия

    Начислено

    Подоходный налог

    ^ Отчисления в пенсионный фонд

    К выплате

  2. Создайте программу ведения базы данных торговой фирмы. Программа включает в себя: формирование и корректирование файлов данных; расчет комиссионного вознаграждений сотрудников фирмы. Файл данных о продавце включает его имя и фамилию, табельный номер, дату поступления на работу. Торговая фирма выплачивает продавцам комиссионное вознаграждение в размере 5%, если товара продано на, сумму менее 1000 долл. в день, и 6%, если выручка составляет 1000 долл./день и выше. Продавцы, проработавшие в фирме более 10 лет, получают комиссионные на 1% больше.

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

  1. Разработать алгоритм и построить приложение справочной службы аэропорта. Программа должна выдавать справки об авиарейсах из Москвы до Санкт-Петербурга. По требованию сообщать следующую информацию: о количестве свободных мест на заданное число; о проданных местах на заданное число; о проданных местах на весь месяц.

  2. Разработать приложение "Помощник экзаменатора". Экзаменационные вопросы и ответы к ним хранятся в файлах на диске. Каждый вопрос имеет балл сложности. Необходимо подобрать пять вопросов из разных разделов курса, имеющих в сумме балл сложности N, и вывести их на экран. Предусмотреть тренировочный режим, работы, когда возможен вывод ответов на представленные вопросы. Доступ к тренировочному режиму работы предоставляется по паролю.

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

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

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

Месяц

Сумма продаж

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

1

2

3

Январь













Итого:













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

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

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

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

  • Получить m расстановок 8 ферзей на шахматной доске, при которых ни один из ферзей не угрожает другому.

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

  2. Разработать программу, моделирующую игру. Игра имеет следующие правила. Перед Вами большое число ящиков с деньгами. Сумма денег в каждом ящике - случайная величина, равномерно распределенная на отрезке [0, 1]. Вы выбираете ящик, открываете его и или берете деньги из ящика, или отказываетесь от них. Если Вы берете деньги, игра кончается. В противном случае Вы можете выбрать другой ящик. Эта процедура повторяется максимум до пяти ящиков (деньги из/пятого ящика должны быть взяты, если он открыт).

  3. Разработайте программу, моделирующую игру. Два игрока, "нечетный" и "четный", по очереди ставят единицы и нули в незанятые позиции поля N на N. Каждый из игроков может ставить 1 или 0 в произвольную свободную позицию, тем самым, занимая ее. Игра продолжается до заполнения всех позиций. После этого суммируются числа вдоль каждой строки, каждого столбца и главных диагоналей. Число ODD нечетных сумм сравнивается с числом EVEN четных сумм. Если ODD > EVEN, выигрывает "нечетный"; если EVEN > ODD, выигрывает "четный"; если ODD = EVEN, результат считается ничейным. Если одним из игроков
    является ЭВМ, то постройте для нее выигрышную стратегию.

  4. Разработать программу, моделирующую игру "Кости". Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 ("бросает кубик", на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока.

  5. Разработать программу, моделирующую игру "Морской бой". На поле 10 на 10 позиций стоят невидимые вражеские корабли: 4 корабля по 1 клетке, 3 корабля по 2 клетки, 2 корабля по 3 клетки, 1 корабль в 4 клетки. Необходимо поразить каждую из клеток кораблей. Два игрока вводят позиции кораблей в виде цифр (1, 2, 3, 4) в соответствующие элементы матрицы, тем самым определяя конфигурацию и положение кораблей. Игроки по очереди "наносят удары" по кораблям противника. Если позиция корабля указана верно, то она помечается крестиком на поле. Предусмотреть вариант игры, когда одним из играющих является компьютер.

  6. Разработать программу, моделирующую игру "Сбей самолет". По экрану летят вражеские самолеты. Цель играющего — сбить их. Пусковая установка находится в нижней строке экрана. Пусковую установку можно перемещать по строке вперед и назад.

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

  8. Разработать программу, моделирующую игру "Скачки". В игре участвуют 10 наездников; за каждый тур игры каждый из них продвигается вперед на расстояние от 1 до 5 км случайным образом. Длина дистанции — 50 км. Всего проводится 5 заездов, победителю каждого заезда начисляется 5 очков. Победителем считается наездник, набравший наибольшее количество очков во всех заездах. Перед началом заездов участник игры выбирает номер наездника, с которым он будет идентифицироваться во время игры. Количество участников игры не превышает 10. В каждом туре с вероятностью 0.1 каждый наездник может упасть, т.е. продвинуться за этот тур на ноль км. Передвижение наездников
    отобразить графически на экране. Предусмотреть возможность случайного распределения номеров наездников.

  9. Игра "Ханойская башня" с визуализацией каждого хода. Правила игры следующие. Есть три стержня. На первый из них надета пирамидка из N колец (большие кольца снизу, меньшие сверху). Требуется переместить кольца на другой стержень. Разрешается перекладывать кольца со стержня на стержень, но класть большее кольцо поверх меньшего нельзя.

  10. Игра "Морской бой" с компьютером.

  11. Игра Конуэя "Жизнь".

  12. Текст программы на Паскале хранится в файле на диске. Составить программу обработки текста программы: 1) подсчитать, какие ключевые слова Паскаля и в каком количестве использованы в обрабатываемом тексте; 2) составить перечень имен простых переменных, используемых в левой части оператора присваивания; 3) представить перечень меток программы в алфавитном порядке.

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

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

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

  16. Разработка собственного Web - браузера. Разработать программное средство, реализующее стандартные функции работы с Web-страницами. Реализовать следующие возможности обозревателя:

  • выпадающий список, содержащий ранее просмотренные в данном сеансе адре­са URL;

  • кнопки Назад и Вперед, перемещающие пользователя по списку ранее просмотренных страниц;

  • панель состояния, отображающую сведения о загружаемом документе;

  • загрузку в первый момент выполнения домашней страницы;

  • возможность в любой момент перейти к домашней странице;

  • настройку адреса домашней страницы, загружаемой в начале сеанса;

  • возможность в любой момент перейти к странице поиска и, возможность на­стройки адреса этой страницы;

  • возможность обновить текущую страницу Web;

  • возможность остановить операцию загрузки или просмотра;

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

  2. Построение графика функции, введённой пользователем. Пользовательская функция может содержать числа, знаки арифметических действий и функции sin, cos. Скобки не допускаются.

  3. Графический редактор. Возможности: рисование линий, окружностей, квадратов.

  4. Работа с матрицами: сложение, умножение, обращение, транспонирование, нахождение дискриминанта (если он определён).

  5. Решение системы линейных алгебраических уравнений методом Гаусса и Крамера.

  6. Реализация алгоритмов шифрования текстовых данных.

  7. Построение календаря на заданный год и месяц с указанием дней недели.

  8. Программа для общения по локальной сети.

^ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

ПАВЛОДАРСКИЙ ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ

УТВЕРЖДАЮ

Зам. директора по УМР

___________ Жумадилова Г.А.

«____»______________2012 г.
  1   2

Похожие рефераты:

Программа вступительного экзамена по дисциплине «Основы алгоритмизации и программирования»
«Основы алгоритмизации и программирования» для абитуриентов, поступающих на сокращенную заочную форму обучения по специальности
Вопросы к экзамену по дисциплине «Основы алгоритмизации и программирования»
Голицина О. Л., Попов И. И. Основы алгоритмизации и программирования. – М: форум: инфра-м, 2004. – 432с. – (серия “Профессиональное...
Критерии оценки знаний абитуриентов по дисциплине «Основы алгоритмизации и программирования»
Программы вступительного экзамена по дисциплине «Основы алгоритмизации и программирования» для абитуриентов, поступающих на сокращенную...
Методические указания к курсовому проектированию по дисциплине «Основания и фундаменты»
Основания и фундаменты. Методические указания к курсовому проектированию. – Павлодар: Издательство ниц
Методические указания к курсовому проектированию по дисциплине «Основания и фундаменты»
Основания и фундаменты. Методические указания к курсовому проектированию. – Павлодар: Издательство ниц
Программа по дисциплине «основы алгоритмизации и программирования»
Целью изучения дисциплины является подготовка специалиста, владеющего фундаментальными знаниями и практическими навыками в области...
Программа по дисциплине «основы алгоритмизации и программирования»
Целью изучения дисциплины является подготовка специалиста, владеющего фундаментальными знаниями и практическими навыками в области...
Вопросы к экзамену по дисциплине «Основы алгоритмизации и программирования»
Вопросы к экзамену по дисциплине «Основы алгоритмизации и программирования» по специальности 1-40 01 02 «Информационные системы и...
Вопросы к экзамену по дисциплине «Основы алгоритмизации и программирования»
Вопросы к экзамену по дисциплине «Основы алгоритмизации и программирования» для студентов 1 курса специальности 1-40 05 01 «Информационные...
Вопросы к экзамену по дисциплине «Основы алгоритмизации и программирования»
Вопросы к экзамену по дисциплине «Основы алгоритмизации и программирования» по специальности 1-40 05 01 «Информационные системы и...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
referatdb.ru
referatdb.ru
Рефераты ДатаБаза