Математическая постановка задачи исследования реферат

Обновлено: 30.06.2024

Одной из основных форм самостоятельной работы студентов является написание ими курсовой работы.

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

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

Цели и задачи курсовой работы

К задачам курсовой работы относятся:

- приобретение опыта аналитической работы, развитие умений работы со специальной литературой и иными информационными источниками;

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

- формирование умения выступать с докладом при защите курсовой работы, компетентно отвечать на вопросы;

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

Порядок выполнения курсовой работы

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

В ходе курсового проектирования студент должен:

1. Выполнить постановку задачи в соответствии с вариантом задания;

2. Создать математическую модель решения поставленной задачи;

3. Разработать схему алгоритма решения задачи с учетом требований ГОСТ;

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

5. Протестировать все ветви работы программы и проанализировать полученные результаты;

6. Написать руководство пользователя;

7. Сделать выводы по работе в целом.

Методика выполнения курсовой работы

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

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

Постановка задачи включает определение сути задачи, ее в­ходных данных, состава результатов.

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

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

Математическая постановка задачи

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

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

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

Алгоритм решения задачи

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

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

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

Схема работы программы должна строиться в соответствии с требованиями ГОСТ 19.701 – 90 (ИСО 5807 – 85) Схемы алгоритмов, программ, данных и систем /1/.

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ

Институт психологии и образования

Кафедра дошкольного и начального образования

Трофимова Анна Александровна

выполнена в рамках изучения дисциплины

к.п.н., доцент кафедры дошкольного

и начального образования

Тигрова Ирина Валерьевна

Педагогика - это наука, изучающая сущность, закономерности, принципы, методы и формы организации педагогического процесса как фактора и средства развития человека на протяжении всей его жизни. [4,с.3]

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

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

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

Методы педагогического исследования — это способы изучения педагогических явлений, получение научной информации о них с целью установления закономерностей и взаимосвязи этих явлений. [3,с.19]

Классификации методов педагогического исследования

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

-эмпирические и теоретические;

-констатирующие и преобразующие;

-качественные и количественные;

-частные и общие;

-содержательные и формальные;

-методы сбора эмпирических данных, проверки и опровержения гипотез и теории;

-методы описания, объяснения и прогноза;

-специальные методы, используемые в отдельных педагогических науках;

-методы обработки результатов исследования и др.

К общенаучным методам (используются разными науками) относятся:

-общетеоретические (абстракция и конкретизация, анализ и синтез, сравнение, противопоставление, индукция и дедукция, т. е. логические методы);

-социологические (анкетирование, интервьюирование, экспертные опросы, рейтинг);

-социально-психологические (социометрия, тестирование, тренинг);

-математические (ранжирование, шкалирование, индексирование, корреляция).

К конкретно-научным (конкретно-педагогическим) относятся методы, которые в свою очередь подразделяются на теоретические и эмпирические (практические).

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

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

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

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

Изучение литературы и умение работать с ней:

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

Работая с литературой, исследователь осуществляет:

- аннотирование – краткое, лаконичное изложение основного содержания источника;

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

Основные идеи литературного источника могут быть перечислены в виде тезисов - кратких цитат или сжатых выдержек из этого источника.

Применяются также такие методы, как:

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

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

Наблюдение - организованное целенаправленное и фиксируемое восприятиеучастников педагогического процесса либо его явлений.

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

Этапы наблюдения:

Анкетирование - письменный опрос большого количества людей с помощью опросных листов (анкет).

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

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

Исследовательская беседа - диалог исследователя с испытуемым по заранее составленному плану.

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

Интервьюирование – разновидность беседы. Это метод, более ориентированный на выяснение оценок, позиции опрашиваемого. Интервью проводится по заранее подготовленным вопросам, ответы на которые записываются.

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

Метод написания сочинений - группа людей пишет сочинение на заданную тему, интересующую исследователя. Затем сочинения анализируются и обобщаются.

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

Методы оценивания

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

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

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

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

Проективные методы - это разновидность тестирования.

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

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

В рамках педагогического эксперимента используется комплекс теоретических и эмпирических методов.

Виды эксперимента:

По условивиям организации различают

-эксперимент естественный (в условиях обычного образовательного процесса);

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

Виды эксперимента:

По конечным целям педагогический эксперимент может быть:

-констатирующим, устанавливающим только реальное состояние дел в педагогическом процессе;

-преобразующим, когда проводится целенаправленная организация эксперимента для определения условий (методов, форм и содержания образования) развития личности школьника или детского коллектива;

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

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

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

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

2) Математические методы исследования в педагогике.

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

-медиана — показатель середины;

-степень рассеивания — дисперсия, или среднее квадратическое отклонение, коэффициент вариации и др.

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

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

Наиболее распространенными математическими методами, применяемыми в педагогике, являются:

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

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

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

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

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

- современная педагогика как наука использует целую систему способов, приемов, принципов и подходов для теоретического и практического исследования проблем воспитания и обучения;

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

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

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

Сластенин В.А. Педагогика: Учеб. пособие для студ. высш. пед. учеб. заведений / В. А. Сластенин,– М.: Издательский центр "Академия", 2002. – 576 с.

Харламов И.Ф. Педагогика/И. Ф. Харламов. – М.: Высшая школа, 1990 – 576с.

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

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

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

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


Рис.6.1. Состав задачи для постановки единичного структурно-функционального элемента задачи

В общем виде постановка задачи состоит из четырех принципиально важных компонентов:

1) организационной части ее использования и описания;

2) свода применяемых математических моделей;

3) описания вычислительных алгоритмов;

4) концепции построения информационной модели системы.

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

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

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

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

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

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

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

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

План постановки задачи

1. Организационно-экономическая сущность задачи:

- назначение (для каких объектов, подразделений, пользователей предназначена);

- периодичность решения и требования к срокам решения;

- источники и способы получения данных;

- потребители результатной информации и способы ее отправки;

- информационная связь с другими задачами.

2. Описание исходной (входной) информации:

- перечень исходной информации;

- формы представления (документ) по каждой позиции перечня; примеры заполнения документов;

- количество формируемых документов (информации) в единицу времени, количество строк в документе (массиве);

- описание структурных единиц информации (каждого элемента данных, реквизита);

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

- способы контроля исходных данных;

- контроль разрядности реквизита;

- контроль интервала значений реквизита;

- контроль соответствия списку значений;

- балансовый или расчетный метод контроля количественных значений реквизитов;

- метод контроля с помощью контрольных сумм и любые другие возможные способы контроля.

3. Описание результатной (выходной) информации:

- перечень результатной информации;

- формы представления (печатная сводка, машинный носитель и его макет и т.д.);

- периодичность и сроки представления;

- количество формируемых документов (информации) в единицу времени, количество строк в документе (массиве);

- перечень пользователей результатной информации (подразделение и персонал);

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

- способы контроля результатной информации;

- контроль интервала значений реквизита;

- контроль соответствия списку значений;

- балансовый или расчетный метод контроля отдельных показателей;

- метод контроля с помощью контрольных сумм и любые другие возможные способы контроля.

4. Описание алгоритма решения задачи (последовательности действий и логики решения задачи):

- описание способов формирования результатной информации с указанием последовательности выполнения логических и арифметических действий;

- описание связей между частями, операциями, формулами алгоритма;

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

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

5. Описание используемой условно-постоянной информации:

- перечень условно-постоянной информации (классификаторов, справочников, таблиц, списков с указанием их полных наименований);

- описание структурных единиц информации (по аналогии с исходными записями);

- способы взаимодействия с переменной информацией.

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

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

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

Понятие алгоритма

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

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

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

Алгоритм должен обладать следующими основными свойствами, раскрывающими его определение.

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

2. Определенность (или детерминированность). Это свойство состоит в том, что каждое правило алгоритма должно быть четким и однозначным. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.

3. Результативность (или конечность). Это свойство состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов.

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

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

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

Язык схем

Схемой называется наглядное графическое изображение алгоритма, когда отдельные действия (этапы) алгоритма изображаются при помощи различных геометрических фигур (блоков), а связи между этапами (последовательность выполнения этапов) указываются при помощи линий, соединяющих эти фигуры. Термин "блок" употребляется здесь и далее вместо термина "символ", используемого ГОСТом, в связи с употреблением термина "символ" в программировании в другом смысле.

1. Присваивание. (Заметим, что присваивание является основной операцией, при помощи которой осуществляется обработка данных.)

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

3. Ввод данных и вывод результата.

4. Начало и конец вычислительного процесса.

Конкретные операции указаны внутри фигур в качестве примеров, Рассмотрим выполнение этих действий, а также функции других элементов схем, приведенных на рис.6.1.

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


вычисления). Следовательно, термины "переменная" или "функция" только условно соответствуют общепринятым математическим понятиям. Числа, используемые, например, в операторах присваивания для задания значений переменных, называются константами. Константы обозначают сами числа, а не фактические адреса ячеек памяти.

Замечания:

1. Перед выполнением присваивания старое значение стирается.

2. При пересылке значение переменной копируется. Значение копируемой переменной не изменяется.

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

4. Если переменной не присвоено значение, то ее значение не определено.

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

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

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

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

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

Комментарии можно записывать около любого блока.

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

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

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

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

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

  1. Обследование объекта моделирования и формулировка технического задания на разработку модели (содержательная постановка задачи);
  2. Концептуальная и математическая постановка задачи;
  3. Качественный анализ и проверка корректности модели;
  4. Выбор и обоснование выбора методов решения задачи;
  5. Поиск решения;
  6. Разработка алгоритма решения и исследование его свойств, реализация алгоритма в виде программ;
  7. Проверка адекватности модели;
  8. Практическое использование построенной модели.

Обследование объекта моделирования

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

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

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

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

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

Концептуальная постановка задачи моделирования

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

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

Математическая постановка задачи

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

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

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

Выбор и обоснование выбора решения задачи

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

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

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

Численные методы применимы лишь для корректных математических задач, что существенно ограничивает использование их в математическом моделировании. Общим для всех численных методов является сведение математической задачи к конечномерной. Это чаще всего достигается дискретизацией исходной задачи, то есть переходом от функции непрерывного аргумента к функциям дискретного аргумента. Применение любого численного метода неминуемо приводит к погрешности результатов решения задачи. Выделяют три основных составляющих возникающей погрешности при численном решении исходной задачи: неустранимая погрешность, связанная с неточным заданием исходных данных (начальные и граничные условия, коэффициенты и правые части уравнений); погрешность метода, связанная с переходом к дискретному аналогу исходной задачи; ошибка округления, связанная с конечной разрядностью чисел, представляемых в вычислительной машине.

Естественным требованием для конкретного вычислительного алгоритма является согласованность в порядках величин перечисленных трех видов погрешностей.

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

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

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

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

Реализация математической модели в виде компьютерной программы

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

Процесс создания программного обеспечения можно разбить на несколько этапов:

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

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

Большинство программ, реализующих математические модели, состоят из трех основных частей:

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

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

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

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

Адекватность математической модели - степень соответствия результатов, полученных по разработанной модели, данным эксперимента или тестовой задачи.

Проверка адекватности модели преследует две цели:

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

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

Решение вопроса о точности моделирования зависит от требований, предъявляемых к модели, и ее назначения. При этом должна учитываться точность получения экспериментальных результатов или особенности постановок тестовых задач. В моделях, предназначенных для выполнения оценочных и прикидочных расчетов, удовлетворительной считается точность 10-15%. В моделях, используемых в управляющих и контролирующих системах, требуемая точность может быть 1-2% и даже более.

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

Практическое использование модели и анализ результатов моделирования

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

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

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

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

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

Читайте также: