Класс, предоставляющий возможности отбработки алгоритмов в форме таблиц решений

Автор: Пользователь скрыл имя, 24 Декабря 2012 в 15:33, курсовая работа

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

Подробная постановка задачи:
1. Реализовать класс, содержащий в себе n количество переменных;
2. Разработать графическое приложение;
3. С помощью прогонного метода произвести проверку правильности отработки алгоритма;
Цели:
• Совершенствование навыков ООП (C#);
• Повторение математической логики;
• Изучение классов;
• Получение навыков по организации тестов (опросов).

Файлы: 1 файл

Отчёт по курсовой работе.docx

— 52.84 Кб (Скачать)

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

Сибирская государственная  автомобильно-дорожная академия “СибАДИ”

 

 

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

Специальность  090105 Комплексное обеспечение ИБ АС

Кафедра   Информационная безопасность

 

 

 

 

Курсовая  работа

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

 

 

 

 

 

Выполнил: студент гр. БИ-10И1

Шупенько  К.А.

Руководитель: доцент кафедры ИБ

Чегодаев  В.Н.

 

 

 

 

 

 

Омск – 2012

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

профессионального образования «Сибирская государственная автомобильно-дорожная академия (СибАДИ)»

Кафедра Информационная безопасность Утверждаю:

Зав. Кафедрой                      Семенова З.В.

Дата                                             19.09.2012

 

ЗАДАНИЕ № 25

НА КУРСОВУЮ РАБОТУ ПО ДИСЦИПЛИНЕ МЕТОДЫ ПРОГРАММИРОВАНИЯ

 

Студент                                            Шупенько Константин Анатольевич                                               .

 

1. Тема курсовой работы

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

 

 

 

2. Срок сдачи студентом законченной курсовой работы

Декабрь 2012 г.                                                                                                                                              .

 

 

 

3. Исходные данные

Таблица решений                                                                                                                                          .

                                                                                                                                                                             .

 

4. Содержание расчетно-пояснительной  записки 

(перечень подлежащих разработке  вопросов)

          1. Введение                                                                                                                                          .

          2. Теоретическая часть                                                                                                                       .

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

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

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

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

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

 

 

 

 

 

 

Руководитель                                                                                                                          Чегодаев В.Н.

Задание принял к исполнению                                                                                           Шупенько К.А.

 

Введение

Задание:

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

 

Подробная постановка задачи:

  1. Реализовать класс, содержащий в себе n количество переменных;
  2. Разработать графическое приложение;
  3. С помощью прогонного метода произвести проверку правильности отработки алгоритма;

Цели:

  • Совершенствование навыков ООП (C#);
  • Повторение математической логики;
  • Изучение классов;
  • Получение навыков по организации тестов (опросов).

Методы решения:

  • Microsoft Visual Studio

 

Таблицы решений

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

Таблицы принятия решений, как правило, разделяются  на четыре квадранта, как показано на рисунке 1.

Условия

Варианты выполнения условий

Действия

Необходимость действий


Рис.1

В простейшем случае здесь «условия» — список возможных условий, «варианты» выполнения условий — комбинация из выполнения или невыполнения условий из этого списка. «Действия» — список возможных действий, «Необходимость действий» — указание на то, надо или не надо выполнять соответствующее действие для каждой из комбинаций условий. Например для ситуации «свет погас» (Рис.2)

Свет в соседней комнате горит

Да

Нет

Нет

Свет у соседей горит

-

Да

Нет

Поменять лампочку

Х

   

Проверить пробки

 

Х

 

Позвонить электрику

 

Х

Х

Позвонить диспетчеру

   

Х


Рис.2

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

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

Алгоритмы

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

Запись  алгоритма на формальном языке называется программой. Иногда само понятие алгоритма отождествляется с его записью, так что слова «алгоритм» и «программа» — почти синонимы. Небольшое различие заключается в том, что под алгоритмом, как правило, понимают основную идею его построения. Программа же всегда связана с записью алгоритма на конкретном формальном языке.

Алгоритмы обладают свойством детерминированности (определённости): каждый шаг и переход от шага к шагу должны быть точно определены так, чтобы его мог выполнить любой другой человек или механическое устройство.

Кроме детерминированности, алгоритмы также должны обладать свойством конечности и массовости:

Конечность:

- Алгоритм всегда  должен заканчиваться за конечное  число шагов, но это число  не ограничено сверху;

Массовость:

- Алгоритм применяется  к некоторому классу входных  данных (чисел, пар чисел, набору  букв и тому подобному). Не имеет  смысла строить алгоритм нахождения  наибольшего общего делителя  только для одной пары чисел  10 и 15;

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

Для создания алгоритма (программы) необходимо знать:

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

 

 Полученный алгоритм  (программа) должен обладать следующим набором свойств:

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

Язык программирования C# (C Sharp)

C# Sharp — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к  семье языков с C-подобным синтаксисом,  из них его синтаксис наиболее  близок к C++ и Java. Язык имеет  статическую типизацию, поддерживает  полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

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

Полиморфизм (от греч. πολὺ- — много, и μορφή — форма) в языках программирования — возможность объектов с одинаковой спецификацией иметь различную реализацию.

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

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

Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает  некоторые модели, зарекомендовавшие  себя как проблематичные при разработке программных систем, например, C# в  отличие от C++ не поддерживает множественное  наследование классов (между тем  допускается множественное наследование интерфейсов).

Особенности языка С#

C# разрабатывался  как язык программирования прикладного  уровня для CLR и, как таковой,  зависит, прежде всего, от возможностей  самой CLR. Это касается, прежде  всего, системы типов C#, которая  отражает BCL. Присутствие или отсутствие  тех или иных выразительных  особенностей языка диктуется  тем, может ли конкретная языковая  особенность быть транслирована  в соответствующие конструкции  CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился  и сам C#; подобного взаимодействия  следует ожидать и в дальнейшем. (Однако эта закономерность была  нарушена с выходом C# 3.0, представляющего  собой расширения языка, не  опирающиеся на расширения платформы  .NET.) CLR предоставляет C#, как и всем  другим .NET-ориентированным языкам, многие возможности, которых лишены  «классические» языки программирования. Например, сборка мусора не реализована  в самом C#, а производится CLR для  программ, написанных на C# точно  так же, как это делается для  программ на VB.NET, J# и др.

Информация о работе Класс, предоставляющий возможности отбработки алгоритмов в форме таблиц решений