русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Принцип параметризации


Дата добавления: 2013-12-23; просмотров: 2877; Нарушение авторских прав


Принцип агрегирования

Принцип множественности моделей

Принцип осуществимости

Создаваемая модель должна обеспечивать достижение поставленной цели исследования с вероятностью, существенно отличающейся от нуля.

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

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

Этот принцип означает, что модель строится в виде известной системы, параметры которой неизвестны.

3.Технология моделирования

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

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

1. Определение цели моделирования.

2. Разработка концептуальной модели.

3. Формализация модели.

4. Программная реализация модели.

5. Планирование модельных экспериментов.

6. Реализация плана эксперимента.

7. Анализ и интерпретация результатов моделирования.



4.Основные методы решения задач моделирования

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

Графические - оценочные приближенные методы, основанные на построении и анализе графиков.

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

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

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

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

1. Математическая модель является лишь приближенным описанием реального процесса (погрешность модели).

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

3. Применяемые для решения задачи методы в большинстве случаев являются приближенными (погрешность метода).

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

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

Оценка обусловленности вычислительной задачи — еще одно обязательное требование при выборе метода решения и построении математической модели.

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

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

Методы аппроксимации - заменяют исходную задачу другой, решение которой близко к решению исходной задачи

Методы конечно-разностные, основанные на замене производных конечными разностями

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

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

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

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

5.Контроль правильности модели

Для контроля правильности полученной модели может использоваться ряд приемов:

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

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

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

Проверка замкнутости и корректности математической задачи - система математических соотношений должна иметь единственное решение.

Задача называется корректной, если она удовлетворяет трем требованиям:

1. Ее решения существует при любых допустимых входных данных.

2. Это решение единственно (однозначно определено).

3. Решение непрерывно зависит от данных задачи - устойчиво по отношению к малым возмущениям входных данных.

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

неизвестных и связывающих их уравнений в модели.

Задачи моделирования

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

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

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

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

3.Построение математической модели

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

4.Выбор метода решения

5.Программная реализация модели на ЭВМ

Существует много программных средств, позволяющих реализовать задачи математического, в частности имитационного моделирования (ИМ). Это и языки программирования различного уровня, и специализированные и универсальные программные средства. В качестве специализированных можно указать AutoCAD, MicroCap, WorkBench, и т.д. Большой интерес представляют пакеты для универсального моделирования. Они не ориентированы на конкретные устройства и системы и позволяют представить их модели в стандартной форме.

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

Отметим следующие группы универсальных программных средств:

1. Пакеты блочного моделирования, например Simulink в системе MATLAB.

2. Пакеты физического моделирования, например 20SIM Pro.

3. Универсальные математические пакеты Mathcad, Maple, Mathematica, MATLAB.

4. Прочие, например статистический пакет GPSS.

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

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

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

7.Анализ результатов моделирования

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

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

Определить область применения модели.

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

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

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

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

 

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

Итак, процесс зачисления происходит описанным ниже образом:

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

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

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

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

 

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

Формализация выполнена. Ее результат – описание решения в виде последовательности шагов, входные и выходные данные.

 

Алгоритмизация и программирование

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

 

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

 

Свойства алгоритма

 

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

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

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

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

- конечность – алгоритм должен завершаться после конечного числа шагов

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

 

Формы записи алгоритмов

 

1.Словесно-формульный

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

3.Блок-схема (схематическое представление алгоритма)


Типы алгоритмов

 

·

 
 
 
 
Линейный алгоритм

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

 

 

· Разветвляющийся (условный алгоритм)

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

 

 

·

 
 
 
Циклический алгоритм

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

 

 

Методология решения задач с помощью ЭВМ

 

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

2. Анализ исходных данных (Исходными данными являются не только входные данные, но и выходной поток информации)

3. Алгоритмизация задач

4. Подбор компьютерных программ для реализации алгоритма

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

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

 

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

 

Программы, работающие на компьютеры можно разделить на 3 категории:

1. прикладное программное обеспечение, непосредственно обеспечивающее выполнение необходимых пользователям работ: редактирование текстов, рисование картинок, обработку информационных массивов и т.д.( WORD Excel Изд. и граф редактор)

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

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

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

Программное обеспечение или системы программирования – являются инструментами для программистов профессионалов и позволяют разрабатывать программы на различных языках программирования (Basic, Pascal, C++ и системах визуального программирования Visual Basic, Delphi)

Лекция 5

Данные в языке Turbo-Pascal 7.0. Стандартные функции языка Turbo-Pascal. Структура программы на языке Турбо Паскаль. Операторы Turbo-Pascal. Программирование линейных алгоритмов.

 

Исторический экскурс языка Турбо-Паскаль, на котором будем программировать:

Первая версия языка программирования ПАСКАЛЬ была разработана на кафедре информатики Стенфордского университета швейцарским ученым Никлаусом Виртом в 1968 году и опубликована в 1971 году. Язык был назван в честь великого французского математика Блеза Паскаля. ПАСКАЛЬ Блез (1623-1662) французский философ, писатель, математик и физик. (Блез Паскаль изобрел и сконструировал первое механическое счетное устройство, позволяющее складывать в десятичной системе счисления, в котором числа "набирались" на специальных дисках. Диски были механически связаны, при сложении можно было учесть "перенос единицы" в следующий десятичный разряд).

В то время как Бейсик 5 лет уже существовал, Паскаль на его фоне выглядел скромно – программы казались громоздкими и сложным, но через некоторое время его популярность возросла, язык совершенствовался. Паскаль был создан в учебных целях для наглядной иллюстрации теории алгоритмов. Сейчас различают версии Паскаля (TURBO-PASCAL, Boland Pascal, Borland Pascal FOR Windows) используются по преимуществу, где требуется значительные вычисления, алгоритмические и графические ресурсы. К нашему времени ПАСКАЛЬ пережил семь версий. ПАСКАЛЬ 7.0 появился в 1992 году. Наряду со всеми преимуществами, которые унаследованы от предыдущей версии (многооконный режим работы, возможность использования мыши, возможность использования процедур ассемблера и др.) появилась возможность исправлять ошибки даже неопытным пользователям, были расширены возможности объектно-ориентированного программирования. PASCAL - язык программирования высокого уровня!!!

 

 

Достоинствами языка Паскаль являются:

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

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

3. Универсальность языка. Язык Паскаль применим для решения практически всех задач программирования.

4. Поддержка объектно-ориентированного программирования.

 


Алфавит языка

· – это набор символов, разрешенных к использованию и «понимаемых» компьютером, т.е. набор для составления программы:

· 26 латинских строчных и 26 латинских прописных букв A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z

· Знак подчеркивания _

· 10 арабских цифр 0…9

· Специальные символы: + - * / = . , ' : ; ( ) [ ] @ ^ # $

· Составные символы:

- оператор присваивания :=

- знаки сравнения (логические операции) < > <= >=

- знак подмножества ..

- составные скобки (. .) { } (* *)

Идентификатором называют последовательность букв, цифр и знака подчеркивания «_», начинающуюся с буквы, которая может быть использована в качестве имени, константы, метки, типа, переменной, процедуры, функции, модуля, может содержать произвольное количество символов, но значащими являются 63 символа.

Допустимые идентификаторы: х3, С_1, GGG

Недопустимые идентификаторы: х+3, 1с, х/3, зим

Ключевыми словами называются идентификаторы, зарезервированные в языке, которые нельзя использовать в качестве имен - это FOR, IF, DO, Program, USES, ARRAY,BEGIN, END…

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

 

Символ Название Примеры
= Знак равенства If (x=3) then goto 20;
; Разделитель операторов a:=10; b:=12;
: Разделитель в формате вывода Writeln(x:4:2);
Ограничитель текста ‘МГУПИ’
. Конец программы End.
{} Комментарий {комментарий}
(* *) Комментарий (* a:=b *)
, Разделитель в списке Var a,b,c:byte;
[ ] Номер элемента массива. Длина строки. a[i]:=0.0; Var c:string[25];
( ) Индикатор аргумента. Ограничитель условия y:=sin(x); If (x>3) then y:=y+1;
_ «Сшиватель» слов Var mgypi_ti:real;

 

Данные – это простейшие объекты программной обработки.

Типы данных определяют:

1. Место, отводимое в памяти для хранения данного;

2. Возможные операции преобразования с этими данными.

Типы данных подразделяют на простые и структурированные или структуры.

Простые типы данных: целый, нецелый(вещественны), символьный и логический.

Ø Структура данных это отношение между другими данными. К структурам относятся массивы, записи и файлы.

Ø Простые данные Особенности Турбо-Паскаля:

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

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

 

 

      -Короткие целые (ShortInt)
      -Байтовый (Byte)
    Целые -Целый со знаком (Integer)
      -Целые без знака (Word)
  Числовые   -Длинные целые (LongInt)
         
      -Одинарные (Single)
    Нецелые -Вещественные (Real)
Данные     -Двойной точности (Double)
      -Высокой точности (Extended)
  Текстовые Строковые (String)  
    Cимвольные (Char)  
  Логические   (Boolean)  

 

 

Характеристики основных типов данных

 

Арифметические целые

Типы данных Обозначение Объем Диапазон значений Пример
Короткие целые ShortInt 1 B -128..127 60, -45
Байтовые Byte 1 B 0..255 0, 130
Целые со знаком Integer 2 B -32768..32767 -12, 4569
Целые без знака Word 2 B 0..6535 2346, 0
Длинные целые LongInt 4 B │х│<=2147483647 123457, 8


<== предыдущая лекция | следующая лекция ==>
Принцип информационной достаточности | Арифметические вещественные


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.01 сек.