Модели и решения функциональных и вычислительных задач
План лекции
Этапы подготовки решения задач
Этапы и цели математического моделирования
Виды абстрактных моделей
Математическое моделирование
Классификация математических моделей
Алгоритмы и способы их описания
Свойства алгоритма
Задание алгоритма
Способы описания алгоритмов
словесно формульный способ
блок-схемный способ
Таблица. Условные обозначения блоков схем алгоритмов
Граф-схемы
Сети Петри
Структурные схемы алгоритмов
Линейный процесс
ветвящийся процесс
Циклический процесс
Системы программирования
средства разработки программ
Языковые процессоры
Стили программирования
Прикладное ПО
171.50K
Category: programmingprogramming

Лек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. Прикладное ПО

Прикладная программа — это любая конкретная
программа, способствующая решению какой-либо
задачи в пределах данной проблемной области.
Текстовые редакторы и процессоры.
Графические редакторы
Табличные процессоры
Системы управления базами данных
Библиотеки стандартных подпрограмм
информационно-поисковые системы (ИПС)
English     Русский Rules