Similar presentations:
Лек4
1. Модели и решения функциональных и вычислительных задач
Донской государственный технический университетКафедра «Информационные технологии»
______________________________________________
Модели и решения
функциональных и
вычислительных задач
«Информатика»
Лектор: Трубчик Ирина Степановна
2. План лекции
Модели и моделирование процессов винформатике
Типовые процессы и их алгоритмическое
представление
Программирование, назначение и основные
функции
3. Этапы подготовки решения задач
Постановка задачи.Формулируется цель, описывается содержание, анализируется корректность.
Математическое описание.
Формулируется задача, изучаются количественные взаимосвязи, приводящие к
некоторым равенствам, записываются уравнения, т.е. строится
математическая модель.
Выбор метода решения.
Рассматриваются вопросы эффективности метода, точности решения.
Алгоритмизация вычислительного процесса.
Осмысливается алгоритм, составляется блок-схема.
Составление программы.
Алгоритм переводится на конкретный язык программирования высокого или
низкого уровня.
Отладка программы
Устранение синтаксических и семантических ошибок, контрольный пример.
Решение задачи на ЭВМ
Полученные результаты анализируются поставившими задачу специалистами.
Задача применяется к решению класса задач.
4. Этапы и цели математического моделирования
1 этап – определение целей моделирования1) модель нужна для того, чтобы понять, как устроен конкретный
объект, какова его структура, основные свойства, законы развития
и взаимодействия с окружающим миром (понимание);
2) модель нужна для того, чтобы научиться управлять объектом
(или процессом) и определить наилучшие способы управления при
заданных целях и критериях (управление);
3) модель нужна для того, чтобы прогнозировать прямые и
косвенные последствия реализации заданных способов и форм
воздействия на объект (прогнозирование).
2 этап – разделение входных параметров по степени важности
влияния их изменений на выходные параметры.
Такой процесс называется ранжированием (разделением по рангам).
3этап – поиск математического описания.
На этом этапе необходимо перейти от абстрактной формулировки
модели к формулировке, имеющей конкретное математическое
наполнение.
5. Виды абстрактных моделей
Вербальные (текстовые) модели. Эти модели используютМатематические модели – очень широкий класс знаковых моделей
Информационные модели – класс знаковых моделей, описывающих
последовательности предложений на формализованных диалектах
естественного языка для описания той или иной области действительности
(примерами такого рода моделей являются милицейский протокол, правила
дорожного движения).
(основанных на формальных языках над конечными алфавитами), широко
использующих те или иные математические методы.
информационные процессы (возникновение, передачу, преобразование и
использование информации) в системах самой разнообразной природы.
6. Математическое моделирование
Математическая модель выражаетсущественные черты объекта или процесса
языком уравнений и других математических
средств.
Аналитические решения (т.е. представленные
формулами, выражающими результаты
исследования через исходные данные) обычно
удобнее и информативнее численных.
7. Классификация математических моделей
дескриптивные (описательные) модели;оптимизационные модели;
многокритериальные модели;
игровые модели;
имитационные модели.
8. Алгоритмы и способы их описания
Алгоритм — это конечнаяпоследовательность предписаний
(инструкций), которая определяет
процесс, ведущий от исходных данных к
требуемому конечному результату.
Алгоритм всегда рассчитан на конкретного исполнителя.
В нашем случае таким исполнителем является ЭВМ.
9.
Программа для ЭВМпредставляет собой описание алгоритма и
данных на некотором языке
программирования, предназначенное для
последующего автоматического выполнения.
10. Свойства алгоритма
Дискретность – возможность расчлененияалгоритма на отдельные шаги
Результативность – возможность получения
результата после выполнения конечного
количества инструкций
Определенность – получаемые результаты
совпадают независимо от пользователя и
применяемых технических средств
Массовость – возможность применения
алгоритма к целому классу
11. Задание алгоритма
Для задания алгоритма необходимо описать следующиеэлементы:
набор объектов, составляющих совокупность
исходных данных, промежуточных и конечных
результатов;
правило начала;
правило непосредственной переработке информации
(последовательность действий);
правило окончания;
правило извлечения результатов.
12. Способы описания алгоритмов
словесно-формульный или псевдокод;структурный или блок-схемный;
с помощью граф-схем;
с помощью сетей Петри.
13. словесно формульный способ
алгоритм записывается в виде текста с формулами по пунктам,определяющим последовательность действий
Пусть, например, необходимо найти значение выражения
Y=a*x+b+1
Ввести значения a,b,x.
Перемножить a*x.
Результат сложить с b.
Прибавить 1.
Вывести результат вычисления выражения.
14. блок-схемный способ
алгоритм изображается геометрическими фигурами(блоками), связанными по управлению линиями
(направлениями потока) со стрелками. В блоках
записывается последовательность действий.
Оформление программ должно соответствовать
определенным требованиям. В настоящее время
действует единая система программной документации
(ЕСПД), которая устанавливает правила разработки,
оформления программ и программной документации.
В ЕСПД определены и правила оформления блоксхем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ
10.003-80 ЕСПД).
15. Таблица. Условные обозначения блоков схем алгоритмов
НаименованиеОбозначение
Функции
Процесс
Выполнение операции или группы операций, в результате которых
изменяется значение, форма представления или расположение данных.
Ввод-вывод
Преобразование данных в форму, пригодную для обработки (ввод) или
отображения результатов обработки (вывод).
Решение (условие)
Выбор направления выполнения алгоритма в зависимости от некоторых
переменных условий.
Предопределенный
процесс
Использование ранее созданных и отдельно написанных программ
(подпрограмм).
Документ
Вывод данных на бумажный носитель.
Магнитный диск
Ввод-вывод данных, носителем которых служит магнитный диск.
Пуск-останов
Начало, конец, прерывание процесса обработки данных.
Соединитель
Указание связи между прерванными линиями, соединяющими блоки.
Межстраничный
соединитель
Указание связи между прерванными линиями, соединяющими блоки,
расположенные на разных листах.
Комментарий
Связь между элементом схемы и пояснением.
16. Граф-схемы
представляют собой графическое представлениенабора элементов с отношениями между ними.
Элементы в данном представлении –
некоторые события, которые могут
определяться как связями (отношениями)
между ними, так и собственным текущим
состоянием.
Подобные схемы чаще называют графами.
17. Сети Петри
- математический аппарат для моделирования динамическихдискретных систем
(Впервые описаны Карлом Петри в 1962 году)
Сеть Петри представляет собой двудольный
Пример сети Петри.
ориентированный граф, состоящий из вершин двух
типов — позиций и переходов, соединённых между собой
дугами, вершины одного типа не могут быть соединены
непосредственно. В позициях могут размещаться метки
(маркеры), способные перемещаться по сети.
Событием называют срабатывание перехода, при котором
метки из входных позиций этого перехода перемещаются в
выходные позиции. События происходят мгновенно, либо
разновременно, при выполнении некоторых условий.
Белыми кружками обозначены позиции, полосками — переходы, чёрными кружками — метки.
18. Структурные схемы алгоритмов
Линейные - последовательность двух илиболее операций ;
Ветвящиеся - выбор направления ;
Циклические - повторение .
19. Линейный процесс
вычислительный процесс, в которомоперации выполняются
последовательно, в порядке их
записи. Каждая операция является
самостоятельной, независимой от
каких-либо условий. На схеме
блоки, отображающие эти
операции, располагаются в
линейной последовательности.
20. ветвящийся процесс
Вычислительный процесс называетсяветвящимся, если для его реализации
предусмотрено несколько направлений
(ветвей).
Каждое отдельное направление процесса
обработки данных является отдельной
ветвью вычислений.
Ветвление в программе – это выбор одной из
нескольких последовательностей команд при
выполнении программы.
Выбор направления зависит от заранее
определенного признака, который может
относиться к исходным данным, к
промежуточным или конечным результатам.
Признак характеризует свойство данных и имеет
два или более значений.
21. Циклический процесс
Цикл – это многократно повторяемый участокпрограммы.
В организации цикла можно выделить
следующие этапы:
подготовка (инициализация) цикла (И);
выполнение вычислений цикла (тело цикла)
(Т);
модификация параметров (М);
проверка условия окончания цикла (У).
22.
Цикл с постусловиемЦикл с предусловием
23.
правило счетчика:Начальное
значение счетчика K=0;
Цикл
называется
детерминированным,
если циклической
В
теле
некоторой
число
повторений
тела цикла
конструкции
выполнить
команду:
заранее известно
K:=K+1 или
определено.
Цикл называется
итерационным, если число
повторений тела цикла
заранее неизвестно, а
зависит от значений
параметров (некоторых
переменных), участвующих
в вычислениях.
24.
Сформулируем правило суммирования:Начальное значение суммы равно S=0;
В теле некоторой циклической конструкции выполнить команду:
S:=S+<слагаемое>.
Алгоритм нахождения суммы 10-ти чисел
25. Системы программирования
Система программирования — это системадля разработки новых программ на
конкретном языке программирования
26. средства разработки программ
языковой процессор типа компилятор илиинтерпретатор;
средства создания и редактирования текстов программ;
обширные библиотеки стандартных программ и
функций;
отладочные программы, т.е. программы, помогающие
находить и устранять ошибки в программе;
"дружественная" к пользователю диалоговая среда;
многооконный режим работы;
мощные графические библиотеки; утилиты для работы с
библиотеками
встроенный ассемблер;
встроенная справочная служба;
другие специфические особенности.
27. Языковые процессоры
Транслятор (англ. translator — переводчик) — это программапереводчик. Она преобразует программу, написанную на одномиз языков высокого уровня, в программу, состоящую из
машинных команд.
Трансляторы реализуются в виде компиляторов или
интерпретаторов. С точки зрения выполнения работы компилятор
и интерпретатор существенно различаются.
Компилятор (англ. compiler — составитель, собиратель) читает
всю программу целиком, делает ее перевод и создает законченный
вариант программы на машинном языке, который затем и
выполняется
Интерпретатор (англ. interpreter — истолкователь, устный
переводчик) переводит и выполняет программу строка за
строкой.
28. Стили программирования
Процедурное программированиеФункциональное программирование
Логическое программирование
Объектно-ориентированное программирование
Аспектно-ориентированное программирование
29. Прикладное ПО
Прикладная программа — это любая конкретнаяпрограмма, способствующая решению какой-либо
задачи в пределах данной проблемной области.
Текстовые редакторы и процессоры.
Графические редакторы
Табличные процессоры
Системы управления базами данных
Библиотеки стандартных подпрограмм
информационно-поисковые системы (ИПС)
programming