Алгоритмы дискретной математики

Автор работы: Пользователь скрыл имя, 22 Марта 2013 в 09:49, курсовая работа

Краткое описание

Целью курсовой работы является получение опыта самостоятельной разработки в соответствии с заданием пользовательского приложения, работающего под управлением ОС Microsoft Windows, в среде разработки приложений Delphi 7, а также получение навыка составления пояснительной записки и оформления в соответствии с требованиями, принятыми на факультете «Информационные системы в управлении».
Задачами курсовой работы являются:
Разработка программы в соответствии с заданием;
Составление пояснительной записки в соответствии с требованиями.
Овладеть навыками самостоятельной работы;
Закрепить, углубить и расширить теоретические знания в соответствии с дисциплиной «Вычислительная математика».

Содержание

Задание 3
Реферат 4
Введение 5
Правила игры 6
Описание программы 6
Теоретические основы 7
Обзор используемых в программе компонентов Borland Delphi 9
Блок-схема программы 14
Системные требования и необходимое оборудование 22
Заключение 23
Список литературы 24
Листинг программы 25

Прикрепленные файлы: 1 файл

пояснительная записка по вычмату.doc 11.docx

— 434.99 Кб (Скачать документ)

Министерство  образования и науки Российской Федерации 

Федеральное государственное бюджетное образовательное  учреждение высшего профессионального  образования

«Сибирская  государственная автомобильно-дорожная академия

(СибАДИ)»

 

Факультет      Информационные системы в управлении

Специальность       Автоматизированные системы обработки информации и 

                                управления

Кафедра                  Компьютерные информационные системы

 

 

 

Пояснительная записка

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

 

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

 

Название работы:      Алгоритмы дискретной математики

 

 

 

 

 

 

 

 

 

 

 

 

 

Омск 2011

 

Оглавление

 

Задание  3

Реферат………………………………………………………………………….……4

Введение 5

Правила игры 6

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

Теоретические основы 7

Обзор используемых в программе компонентов Borland Delphi 9

Блок-схема программы 14

Системные требования и необходимое оборудование 22

Заключение 23

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

Листинг программы 25

 

 

 

ЗАДАНИЕ

на курсовую работу

по дисциплине «Вычислительная математика»

 

Студентке группы АС-10И2

Баратовой Альфии Раифовне

1.Тема курсового проекта (работы) разработка игры «Четыре линии».

 

2. Источники:

  1. Список источников

3. Содержание расчетно-пояснительной  записки (перечень подлежащих  разработке вопросов):

  1. Техническое задание
  2. Блок-схема алгоритма
  3. Описание работы программного продукта
  4. Перечень графического материала
  5. Презентация курсового проекта (работы)

 

4.Заключение.

 

 

 

 

 

Срок сдачи  законченной работы: 24.12.2011

Руководитель  работы:  Першина Елена Леонидовна.

Задание принято  к исполнению: Баратова Альфия Раифовна

 

Реферат

Пояснительная записка 40 листов, 5 рисунков, 4 источника, 1 полный листинг.

Цель  работы - рассмотреть описание основных узлов игры, алгоритмы их действия, и на основе рассмотренного материала  разработать  работоспособную игру.

Код программы написан на языке Delphi. 

 

Введение

Целью курсовой работы является получение опыта  самостоятельной разработки в соответствии с заданием пользовательского приложения, работающего под управлением  ОС Microsoft Windows, в среде разработки приложений Delphi 7, а также получение навыка составления пояснительной записки и оформления в соответствии с требованиями, принятыми на факультете «Информационные системы в управлении».

Задачами  курсовой работы являются:

    1. Разработка программы в соответствии с заданием;
    2. Составление пояснительной записки в соответствии с требованиями.
    3. Овладеть навыками самостоятельной работы;
    4. Закрепить, углубить и расширить теоретические знания в соответствии с дисциплиной «Вычислительная математика».

 

В первой главе пояснительной записки  к курсовой работе приводится описание правил игры «Четыре линии».

Во второй главе приводится краткое описание программы и демонстрация работы программы.

В приложение вынесен программный код с  комментариями.

 

 

 

 

 

 

 

 

 

 

 

Правила игры

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

Поле  расчерчено размером 4x9 квадратов (карт).

Путём перемещения  карт нужно выстроить 4 линии по мастям в порядке возрастания.

Цель игры: Игрок должен разложить по возрастанию все предложенные карты в четыре линии (по количеству мастей), начиная от шестёрки и заканчивая королём. Карты одной масти должны находиться только в одной линии. Выбирать карты можно из представленного поля карт. Собравший все карты в четыре линии игрок считается победителем. Чем меньше затрачено попыток на прохождение кона и чем больше очков было набрано — тем лучше. По окончанию игры предлагается сыграть заново.

 

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

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

 

Теоретические основы

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

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

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

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

Первая известная книга с  описанием пасьянсов вышла в  Москве в 1826 году и называлась «Собрание карточных раскладок, известных под названием Гранд-пасиансов, усердно посвящаемое всем деловым людям».

Данная  программа реализована на языке  Delphi в среде Borland Delphi Light 10.

Delphi - это комбинация нескольких важнейших технологий:

    • Высокопроизводительный компилятор в машинный код;
    • Объектно-ориентированная модель компонент;
    • Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;

 

    • Масштабируемые средства для построения баз данных;

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”.  Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL.  Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на C++ или ручного написания кода (хотя это возможно).

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

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

Подпрограммы, входящие в состав классов  в объектных языках программирования, обычно называются методами. Этим термином называют любые подпрограммы-члены класса, как функции, так и процедуры; когда требуется уточнение, говорят о методах-процедурах или методах-функциях.

 

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

 

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

 

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

 

Обзор используемых в программе компонентов  Borland Delphi

Компонент TMainMenu

TMainMenu  позволяет поместить главное  меню в программу. При помещении  TMainMenu на форму это выглядит, как  просто иконка. Иконки данного  типа называют невидимым (не  визуальным) компонентом, поскольку  они невидимы во время выполнения  программы. Создание меню включает  три шага:

1) помещение  TMainMenu на форму,

2) вызов  Дизайнера Меню через свойство  Items в Инспекторе Объектов,

3) определение  пунктов меню в Дизайнере Меню.

Этот  компонент доступен из модуля MENUS, и  находится на странице Палитры компонентов  Standard

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

 

Компонент TLabel

TLabel служит для отображения текста на экране. Можно изменить шрифт и цвет метки, если дважды щелкнуть на свойство Font в Инспекторе Объектов. Видно, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.

Этот  компонент доступен из модуля STDCTRLS, и находится на странице Палитры  компонентов Standard.

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

 

Компонент TImage

TImage - отображает  графическое изображение на форме.  Воспринимает форматы BMP, ICO, WMF. Если  картинку подключить во время  дизайна программы, то она прикомпилируется  к EXE файлу.

Этот  компонент доступен из модуля EXTCTRLS, и находится на странице Палитры  компонентов Additional.

Этот  компонент служит надстройкой над  классом TPicture и замыкает всю иерархию графических объектов VCL. Он предназначен для показа на форме изображения: битовой карты (TBitmap), метафайла (TMetafile), значка (TIcon).

Свойство (Pb) property Picture: TPicture; служит контейнером для графического объекта одного из перечисленных классов.

В качестве канвы используется канва объекта  Picture. Graphic — только если поле Graphic ссылается на объект класса TBitmap:

(Pb) property Canvas: TCanvas;

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

Следующие три свойства определяют, как именно Tpicture располагается в рабочей области компонента:

(Pb) property AutoSize: Boolean;

— означает, что размеры компонента настраиваются  по размерам содержащегося в нем  графического объекта. Устанавливать  его в True нужно перед загрузкой изображения из файла или буфера обмена;

(Pb) property Stretch: Boolean;

— если это свойство установлено в True, то изображение "натягивается" на рабочую область, при необходимости уменьшая или увеличивая свои размеры. Если оно установлено в False, то играет роль следующее свойство;

(Pb) property Center: Boolean;

 

— если это свойство установлено в True, изображение центрируется в пределах рабочей области. В противном случае — располагается в ее верхнем левом углу.

Компонент TStatusBar

Компонент StatusBar представляет собой ряд панелей, отображающих полосу состояния в стиле Windows. Обычно эта полоса размещается внизу формы.

Информация о работе Алгоритмы дискретной математики