Информатика / Тема 3
.pdfТема 3 «Понятие и свойства алгоритма»
Понятие алгоритма |
|
Алгоритм – это четкое, ясное, законченное |
предписание (инструкции) |
исполнителю совершать те или иные действия направленные на решение поставленной задачи. Алгоритм – есть описание способа решения задачи.
Свойства алгоритма:
Дискретность- вся совокупность инструкций может быть разбита на некоторое число системных блоков (шаги).
Определенность - различные пользователи находящихся в разных местах но с
одинаковым набором начальных данных следуя одному и тому же алгоритму получат один и тот же результат.
Конечность- совокупность инструкций должна быть конечной (конечное число шагов).
Понятность- алгоритм должен быть записан так, чтобы исполнитель его понял.
Массовость- алгоритм должен быть успешно применим некому набору начальных данных.
Эффективность – алгоритм должен быть выполнен за конечное (разумное)
время
Тема 3 «Понятие и свойства алгоритма»
Типы алгоритмов
Линейный алгоритм - совокупность всех инструкций выполняющихся последовательно одна за одной; инструкции выполняются в том порядке как записаны.
Алгоритмы с ветвлением - характерно наличие этапа или этапов, на котором пользователь должен выбирать ход дальнейших действий.
Циклические алгоритмы - характерно наличие этапов, которые в процессе выполнения алгоритма повторяются.
На практике в чистом виде они не встречаются. Обычно они комбинируются в различных последовательностях.
Тема 3 «Понятие и свойства алгоритма»
Методы проектирования алгоритмов и программ
|
методы |
Степень автоматизации |
Методология процесса |
Неавтоматизированное проектирование |
Структурное проектирование |
Автоматизированное проектирование |
Информационное моделирование |
(CASE –технология) |
предметной области |
|
Объектно-ориентированное проектирование |
Тема 3 «Понятие и свойства алгоритма»
Структурное проектирование
Его основу составляет последовательная декомпозиция, целенаправленное
структурирование алгоритма на отдельные составляющие
Типичными методами структурного проектирования являются:
•Нисходящее проектирование, кодирование и тестирование программ;
•Модульное программирование;
•Структурное программирование
Основано на модульной структуре программного продукта и типовых управляющих структурах алгоритмов обработки данных
(«Последовательность», «Альтернатива», «Цикл»)
Предполагает компоновку решения задачи из модулей – логически взаимосвязанной совокупности функциональных элементов,
оформленных в виде самостоятельных программных объектов
Предполагает последовательное разложение общей задачи на простые функциональные элементы («сверху – вниз»)
Тема 3 «Понятие и свойства алгоритма»
Структурное проектирование
Косновным принципам структурного проектирования относят:
•разработка алгоритмов (программ) методом «сверху-вниз»;
•пошаговая детализация;
•отказ от применения оператора безусловного перехода GOTO («программирование без GOTO»)
•детальная логика обработки данных программных модулей
•определение структуры и декомпозиции целей, функций управления и приложений
Тема 3 «Понятие и свойства алгоритма»
Информационное моделирование предметной области
Его основу составляет положение об определяющей роли данных при проектировании алгоритмов и программ.
•Информационный анализ предметных областей («бизнес-областей»);
•Информационное моделирование (построение взаимосвязанных моделей данных);
•Системное проектирование функций обработки данных;
•Детальное конструирование процедур обработки данных.
Тема 3 «Понятие и свойства алгоритма»
Объектно - ориентированное проектирование
Подход основан на использовании следующих базовых понятий:
•Объект (совокупность свойств определенных сущностей и методов их обработки)
•Свойство объекта (характеристики объекта и его параметров);
•Метод обработки (программа действий над объектом или его свойствами);
•Событие (характеристика изменения состояния объекта);
•Класс объектов (совокупность объектов, характеризующихся общностью применяемых
методов обработки или свойств).
Тема 3 «Понятие и свойства алгоритма»
Объектно - ориентированное проектирование
Важнейшие принципы объектно – ориентированного проектирования:
•инкапсуляция (замыкание) свойств данных и программ в объекте
•наследование
•полиморфизм
Подразумевает способность объекта реагировать на запрос сообразно своему типу, при этом одно и то же имя метода может использоваться
для различных классов объектов
Подразумевает наследование данных и методов обработки объектов исходного класса при образовании на его основе подклассов, позволяя
создавать иерархию классов
Скрытие полей объекта с целью обеспечения доступа к ним только посредством методов класса (т.е. скрытие деталей, несущественных для использования объекта)
Тема 3 «Понятие и свойства алгоритма»
Способы задания алгоритмов
Словесный способ (человеческий язык) – не воспринимается ЭВМ;
Машинный язык (единственный способ понятный машине) – представляет собой запись в виде совокупности двоичных кодов;
Словесно-формульный способ (с помощью алгоритмического языка
или языка программирования);
С помощью блок – схем (гибкий и наглядный способ описания алгоритма с помощью специальных значков);
Тема 3 «Понятие и свойства алгоритма»
Пример Составить блок-схему алгоритма расчета площади трапеции