Similar presentations:
Модели и алгоритмы. Роль моделирования в решении задач и формализации знаний
1.
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»Модели и алгоритмы
Роль моделирования в решении задач и формализации
знаний
Добро пожаловать!!!!
При входе в систему Zoom
1. Отключите ЗВУК и ВИДЕО
2. В ЧАТЕ напишите Фамилию Имя, название группы
например, Иванов Денис Мб-20
© Л.Ю. Дмитриева
2.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Основные этапы решения задач на ЭВМ:
1. Постановка задачи
2. Построение математической модели данных
3. Техническое задание (условие)
4. Выбор ПО для решения поставленной задачи
5. Тестирование
6. Составление алгоритмов
7. Написание программ для ЭВМ
8. Отладка программ на ЭВМ
9. Получение результатов на ЭВМ
© Л.Ю. Дмитриева
3.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
1. Постановка задачи
На этом этапе на основе информационной модели (словесной постановки) задачи формируется
цель решения задачи и подробно описывается её содержание.
Проводится анализ характера и сущности известных и неизвестных данных, рассматривается
область их существования, определяются условия, при которых задача может быть решена.
1.
2.
3.
4.
5.
6.
7.
Процесс формулировки задачи сводится к постановке следующих основных вопросов:
Что дано?
Что нужно вычислить?
Что представляют собой неизвестные и сколько их?
Какие данные необходимо ввести в ПК, чтобы получить ответ?
Как определить решение?
Какие следует сделать допущения?
Каковы требования к точности решения? И т.д.
© Л.Ю. Дмитриева
4.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
2. Построение математической модели
Математическая формулировка задачи или формализация условий задачи.
Любая задача подразумевает наличие входных данных, которые в процессе её решения
преобразуются в выходные данные.
На этапе формализации задачи чётко зафиксирован характер, тип входных и выходных
данных и установлено соответствие между ними, заданное посредством математических
зависимостей.
Математическая модель:
Геометрия, Физика
Исходные данные:
Дано:
Выходные данные:
Найти:
Связь:
Решение:
Исходные данные (ИД)- данные которые мы передаём программе для вычисления и она обрабатывает их согласно инструкциям
Выходные данные (ВД) – результат, который возвращает нам программа
На выбор модели влияют такие факторы, как простота и однозначность вычислений, удобство
представления и уровень знаний. При этом следует определить следующее:
• Вся ли информация, необходимая для решения задачи, полностью описана математически?
• Существует ли математическая величина, соотносимая с результатом?
• Все ли соотношения между характеристиками модели описаны?
© Л.Ю. Дмитриева
5.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
3. Техническое задание
Техническое задание – это договоренность о том как будет функционировать будущая программа
© Л.Ю. Дмитриева
6.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
4. Выбор ПО
Выбор программного обеспечения происходит исходя из:
1. Технического задания
2. Знаний человека, который решает поставленную задачу
© Л.Ю. Дмитриева
7.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
5. Тестирование
Тестирование- это процесс набора теста.
Тест- это специально подобранные исходные данные (ИД) для которых заранее, до реализации
программы известен результат выполнения программы
Правила тестирования:
1. «Покрытие условий»
2. «Граничный случай»
3. Недопустимые ИД
© Л.Ю. Дмитриева
8.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
6. Алгоритмизация
Алгоритмизация- это процесс составления алгоритма
Алгоритм- это точное, понятное предписание выполнить последовательность действий,
направленных на достижение поставленной цели
Шаг алгоритма – это каждое отдельное действие алгоритма
Для алгоритма
должны
быть
характерны
следующие
свойства:
© Л.Ю. Дмитриева
9.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
6. Алгоритмизация
Свойства
алгоритма
© Л.Ю. Дмитриева
10.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
6. Алгоритмизация
Свойства
алгоритма
© Л.Ю. Дмитриева
11.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
6. Алгоритмизация
Свойства
алгоритма
При управлении самолетом используются сложные алгоритмы, исполнителями которых являются пилот или бортовой
компьютер. Последовательность выполнения действий, например, при взлете должна быть строго определенной (например,
нельзя отрываться от взлетной полосы, пока самолет не набрал необходимую взлетную скорость).
Исполнитель алгоритма, выполнив очередную команду, должен точно знать, какую команду необходимо исполнять
следующей. Это свойство алгоритма называется детерминированностью (однозначностью)
© Л.Ю. Дмитриева
12.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
6. Алгоритмизация
Свойства
алгоритма
Алгоритмы сложения, вычитания, умножения и деления могут
быть применены для любых чисел, причем не только в
десятичной, но и в других позиционных системах счисления
(двоичной,
восьмеричной,
шестнадцатеричной
и
др.).
Возможность применения алгоритма к большому количеству
различных исходных данных называется массовостью.
© Л.Ю. Дмитриева
13.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
6. Алгоритмизация
Свойства
алгоритма
© Л.Ю. Дмитриева
14.
Модели иалгоритмы
6. Алгоритмизация
Способы записи
алгоритма
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Алгоритм можно записать разными способами и даже на разных языках.
Есть специальные виды исполнителей алгоритмов - компьютеры. Они
выполняют программы.
Наибольшее распространение получили способы:
© Л.Ю. Дмитриева
15.
Модели иалгоритмы
6. Алгоритмизация
Способы записи
алгоритма
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Словесный способ записи алгоритмов основан на использовании
общепринятых средств общения между людьми и содержит набор фраз,
который не допускает лишних слов, повторений и неоднозначностей.
Действия, предусмотренные алгоритмом, нумеруются, что даёт
возможность на них ссылаться.
Допускается использование математической символики.
© Л.Ю. Дмитриева
16.
Модели иалгоритмы
6. Алгоритмизация
Способы записи
алгоритма
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Псевдокод – это язык записи структурированных алгоритмов.
Основан на формализованном представлении предписаний,
задаваемых с помощью ограниченного набора типовых синтаксических
конструкций.
Набор конструкций состоит из смеси алгоритмического языка
высокого уровня и фраз родного языка исполнителя.
Как правило, стандартов на псевдокод не существует.
Основными достоинствами псевдокода являются:
• близость к языкам программирования;
• возможность разобраться в самом длинном и сложном алгоритме.
Поэтому псевдокод используется чаще всего для документирования
программ.
© Л.Ю. Дмитриева
17.
Модели иалгоритмы
6. Алгоритмизация
Способы записи
алгоритма
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Блок-схемы – это набор геометрических фигур и стрелок, указывающих
порядок действий.
© Л.Ю. Дмитриева
18.
Модели иалгоритмы
6. Алгоритмизация
Способы записи
алгоритма
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Программа – это алгоритм, записанный в форме, понятной исполнителю.
Процесс написания программ называется программированием.
Компилятор – это программа, которая переводит текст, написанный на
языке программирования, в набор машинных кодов
Классификация языков программирования
© Л.Ю. Дмитриева
19.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Несколько правил написания КАЧЕСТВЕННОГО кода:
7. Написание
программы
Правило 1. Следуйте стандартам оформления кода
У каждого языка программирования есть свой стандарт оформления кода, который говорит, как надо делать отступы,
где ставить пробелы и скобки, как называть объекты, как комментировать код и т.д.
Например, Google разработал стандарты для более чем 12 языков программирования. Стандарты даже включают в себя настройки
редактора, которые помогут вам соблюдать стиль, и специальные инструменты, верифицирующие ваш код на соответствию этому
стилю.
Правило 2. Давайте наглядные имена объектам (переменные, модули, процедуры и т.д.)
Имена классов и типов должны быть существительными. Название метода должно содержать глагол.
Если метод определяет, является ли какая-то информация об объекте истинной или ложной, его имя должно начинаться с «is».
Методы, которые возвращают свойства объектов, должны начинаться с «get», а устанавливающие значения свойств — «set»
Правило 3. Комментируйте и документируйте
Начинайте каждый метод и процедуру с описания в комментарии того, что данный метод или процедура делает, параметров,
возвращаемого значения и возможных ошибок и исключений. Опишите в комментариях роль каждого файла и класса, содержимое
каждого поля класса и основные шаги сложного кода. Пишите комментарии по мере разработки кода. Если вы полагаете, что
напишете их потом, то обманываете самого себя.
© Л.Ю. Дмитриева
20.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Несколько правил написания КАЧЕСТВЕННОГО кода:
7. Написание
программы
Правило 4. Не повторяйтесь
Правило 5. Проверяйте на ошибки и реагируйте на них
Правило 6. Разделяйте код на короткие, обособленные части
Правило 7. Используйте эффективные структуры данных и алгоритмы
Простой код часто легче сопровождать, чем такой же, но изменённый ради эффективности. Вы можете совмещать
сопровождаемость и эффективность, используя структуры данных и алгоритмы.
Сложность современного ПО делает его установку дороже, а тестирование труднее. Продуктивным подходом будет
сопровождение каждого куска кода тестами, которые проверяют корректность его работы. Этот подход упрощает отладку, т.к.
он позволяет обнаружить ошибки раньше.
© Л.Ю. Дмитриева
21.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
8. Отладка
программы
Отладка программы — это специальный этап в разработке программы, состоящий в
выявлении и устранении программных ошибок, факт существования которых уже
установлен.
Программные ошибки, как правило, делятся на три вида:
1. Синтаксическая ошибка
Неправильное употребление синтаксических конструкций, например употребление
оператора цикла For без tо или Next.
2. Семантическая ошибка
Нарушение семантики той или иной конструкции, например передача функции
параметров, не соответствующих ее аргументам.
3. Логическая ошибка
Нарушение логики программы, приводящее к неверному результату. Это наиболее
трудный для "отлова" тип ошибки, ибо подобного рода ошибки, как правило, кроются
в алгоритмах и требуют тщательного анализа и всестороннего тестирования.
© Л.Ю. Дмитриева
22.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Методы разработки алгоритмов
Метод пошаговой ДЕТОЛИЗАЦИИ
© Л.Ю. Дмитриева
23.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Методы разработки алгоритмов
Структурный подход - алгоритм может состоять только из 3 основных БАЗОВЫХ структур
Структура
«СЛЕДОВАНИЯ»
Данная конструкция
состоит из
последовательно
выполняемых действий
(инструкций), следующих
друг за другом
Структура
«РАЗВИЛКА»
Структура
«ЦИКЛ»
Полное ветвление: по каждой ветке выполняется
«ПОКА»-с предусловием
действие (набор действий)
Неполное ветвление: действие (набор действий)
выполняется только в одном случае когда условие
истинно
«ДО»-с постусловием
© Л.Ю. Дмитриева
24.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Типы алгоритмов
1. Линейный алгоритм
Алгоритм называется ЛИНЕЙНЫМ, если он не имеет логических условий и имеет ОДНУ ветвь
вычислений. Основная базовая структура- «СЛЕДОВАНИЯ»
© Л.Ю. Дмитриева
25.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Типы алгоритмов
2. Разветвляющийся алгоритм
Алгоритм называется РАЗВЕТВЛЯЮЩИМСЯ, если он имеет хотя бы 1 логическое условие.
Основная базовая структура- «РАЗВИЛКА»
© Л.Ю. Дмитриева
26.
Модели иалгоритмы
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Типы алгоритмов
3. Циклический алгоритм
Цикл –это часть алгоритма, повторяющаяся многократно
Алгоритм называется ЦИКЛИЧЕСКИМ, если он предусматривает выполнение одной и той же серии
команд в данном месте алгоритма
© Л.Ю. Дмитриева
27.
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»Литература:
1.
15 правил написания качественного кода. Ресурс доступа: https://tproger.ru/translations/15-rules-for-writing-quality-code/
2.
Логинов, В.И. Основы алгоритмизации : учеб.-метод. пособие для студ. оч. и заоч. обуч. технич. специальностей / В.И. Логинов, Л.Н. Шемагина. – Н. Новгород : Изд-во ФГОУ ВПО «ВГАВТ»,
2010. – 81 с.
3.
«Алгоритмика» Ресурс доступа: https://sites.google.com/site/algoritmika8/didakticeskie-materialy-dla-8-klassa/4-svojstva-algoritmov
4.
Сайт учителей информатики: Скобелев Сергей Федорович, Скобелева Татьяна Сергеевна
Ресурс доступа: https://skobelevserg.jimdofree.com/%D0%BE%D0%B1-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B0%D1%85/
© Л.Ю. Дмитриева