Тема 3 Сложные задачи и системный подход к их решению
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Общая часть

Понятие «сложная задача»

 

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

3.2 Основные положения и определения методологии решения сложных задач

 

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

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

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

Методология разработки сложных задач включает следующие элементы:

- модульное программирование

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

- нисходящая разработка (проектирование сверху вниз)

- стиль программирования

Вариант 1 Дайте определения структуры и иерархии. Приведите примеры их графического представления.

 

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

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

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

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

Различают взаимосвязи типа “один к одному”, “один ко многим”.

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

Вариант 1 Зачем необходимо использовать технологию модульного проектирование

 

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

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

• улучшается качество проектирование ПИ;

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

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

• упрощается оценка текущего состояния работ.

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

Дата: 2019-05-29, просмотров: 155.