Скачать презентацию Алгоритмизация Кафедра информатики Этапы проектирования задач и Скачать презентацию Алгоритмизация Кафедра информатики Этапы проектирования задач и

Лекция_Алгоритмизация.ppt

  • Количество слайдов: 21

Алгоритмизация Кафедра информатики Алгоритмизация Кафедра информатики

Этапы проектирования задач и разработки программ Этапы проектирования задач и разработки программ

Начало Постановка задачи, определение целей и результатов Выбор метода решения Определение информационного обеспечения Разработка Начало Постановка задачи, определение целей и результатов Выбор метода решения Определение информационного обеспечения Разработка алгоритма Запись алгоритма на языке программирования Ввод программы в ЭВМ Отладка программы Да Если есть ошибки Нет Редактирование программы Запуск программы Анализ полученных результатов Конец

7. 2. Понятие алгоритма Алгоритм – одно из фундаментальных понятий в математике и программировании. 7. 2. Понятие алгоритма Алгоритм – одно из фундаментальных понятий в математике и программировании. Само слово «алгоритм» (Algorithmi) происходит от имени арабского математика, астронома и географа, автора персидского учебника по математике Абу Абд Аллах Мухаммед ибн Мусса аль. Хорезми (уроженца Хорезма) (750 -850 гг. ), впервые описавшего правила выполнения четырёх арифметических действий.

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

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

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

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

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

Проектирование алгоритмов и основные их типы Алгоритм можно представить различными способами: ►с помощью словесного Проектирование алгоритмов и основные их типы Алгоритм можно представить различными способами: ►с помощью словесного описания; ►формульно-словесного; ►на алгоритмическом языке; ►с помощью графики и др. Графическое описание называется блок-схемой.

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

Основные блоки блок-схемы Основные блоки блок-схемы

Основные типы алгоритмов 1. Линейный алгоритм (описывает последовательный порядок действий) Оператор1 Оператор2 Оператор3 Основные типы алгоритмов 1. Линейный алгоритм (описывает последовательный порядок действий) Оператор1 Оператор2 Оператор3

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

2. Разветвляющийся алгоритм ход решения задачи определяется в зависимости от условия (переход и ветвление) 2. Разветвляющийся алгоритм ход решения задачи определяется в зависимости от условия (переход и ветвление) Если – то - иначе Если – то (обход)

Выбор направления продолжения вычислительного процесса осуществляется проверкой выполнения заданного условия (в зависимости от этого Выбор направления продолжения вычислительного процесса осуществляется проверкой выполнения заданного условия (в зависимости от этого в каждом конкретном случае вычислительный процесс реализуется только по одной ветви, выполнение остальных условий исключается). Ветвящиеся процессы описываются оператором IF. Его структуру полной формы можно показать так: IF <условие> THEN <оператор1> ELSE <оператор2> - условный оператор; IF <условие> THEN <оператор1> - условный оператор обхода

3. Циклический алгоритм (описывает повторяющиеся действия) Начальное значение переменной цикла i Проверка условия да 3. Циклический алгоритм (описывает повторяющиеся действия) Начальное значение переменной цикла i Проверка условия да Блок операторов i = i+1 нет

Циклические процессы описываются таким оператором: FOR х = 1 ТО n STEP h <оператор> Циклические процессы описываются таким оператором: FOR х = 1 ТО n STEP h <оператор> NEXT x - циклическая конструкция. Операторы цикла организуют повторное выполнение одних и тех же команд несколько раз (при этом повторение происходит не в буквальном смысле, а каждый раз выполнение повторяемого участка программы происходит с использованием новых значений переменных).

Автоматическое управление циклом осуществляет переменная, называемая параметром (управляющая переменная). Задаются первоначальное значение параметра цикла Автоматическое управление циклом осуществляет переменная, называемая параметром (управляющая переменная). Задаются первоначальное значение параметра цикла (например i = 1), конечное значение (например i =< 100), и увеличение параметра на каждом шаге повторения (например, i = i + 1). Существует две разновидности операторов цикла: оператор цикла с фиксированным числом повторений (детерминированный цикл) и операторы цикла с переменным числом повторений, зависящим от условий (итерационный цикл).

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