Скачать презентацию Основы алгоритмизации 17 02 2018 1 Понятие Скачать презентацию Основы алгоритмизации 17 02 2018 1 Понятие

1-2_Основы алгоритмизации.ppt

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

Основы алгоритмизации 17. 02. 2018 Основы алгоритмизации 17. 02. 2018

1. Понятие и свойства алгоритма 17. 02. 2018 1. Понятие и свойства алгоритма 17. 02. 2018

Определение • (1) Алгоритм - это определённая последовательность действий, которые необходимо выполнить, чтобы получить Определение • (1) Алгоритм - это определённая последовательность действий, которые необходимо выполнить, чтобы получить результат. • (2) Алгори тм — набор инструкций, описывающих порядок действий исполнителя достижения результата решения задачи за конечное число действий. 17. 02. 2018

История термина В 1983 году отмечалось 1200 -летие со дня рождения величайшего средневекового ученого История термина В 1983 году отмечалось 1200 -летие со дня рождения величайшего средневекового ученого Средней Азии Мухамеда ибн Мусы аль. Хорезми (полное имя – Мухаммед бен Муса ал-Хорезми). С именем этого ученого связано понятие алгоритма. Он описал десятичную систему счисления и впервые сформулировал правила выполнения арифметических действий над целыми числами и обыкновенными дробями. 17. 02. 2018

Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом. Исполнителя хаpактеpизуют: • среда; • элементарные действия; • система команд; • отказы. 17. 02. 2018

Исполнитель алгоритма Среда (или обстановка) - это «место обитания» исполнителя. Система команд. Каждый исполнитель Исполнитель алгоритма Среда (или обстановка) - это «место обитания» исполнителя. Система команд. Каждый исполнитель может выполнять команды только из некоторого строго заданного списка-системы команд исполнителя. Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды. После вызова команды исполнитель совершает соответствующее элементарное действие. 17. 02. 2018

Исполнитель алгоритма Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды. Исполнитель алгоритма Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды. Исполнитель ничего не знает о цели алгоритма. Он выполняет все полученные команды, не задавая вопросов «почему» и «зачем» . 17. 02. 2018

Теория алгоритмов - это наука, изучающая общие свойства и закономерности алгоритмов, разнообразные формальные модели Теория алгоритмов - это наука, изучающая общие свойства и закономерности алгоритмов, разнообразные формальные модели их представления. На основе формализации понятия алгоритма возможно сравнение алгоритмов по их эффективности, проверка их эквивалентности, определение областей применимости. 17. 02. 2018

Алгоритм может представлять собой некоторую последовательность вычислений, а может - последовательность действий нематического характера. Алгоритм может представлять собой некоторую последовательность вычислений, а может - последовательность действий нематического характера. Для любого алгоритма справедливы общие закономерности - свойства алгоритма. 17. 02. 2018

Свойства алгоритма 1. 2. 3. 4. 5. 17. 02. 2018 Дискретность. Понятность Детерминированность Массовость Свойства алгоритма 1. 2. 3. 4. 5. 17. 02. 2018 Дискретность. Понятность Детерминированность Массовость Результативность

Свойства алгоритма (1) 1. Дискретность - алгоритм разбивается на конечное число элементарных действий (шагов). Свойства алгоритма (1) 1. Дискретность - алгоритм разбивается на конечное число элементарных действий (шагов). 2. Детерминированность - каждое действие (операция. указание. шаг. требование) должно пониматься в строго определённом смысле, чтобы не оставалась места произвольному толкованию. чтобы каждый, прочитавший указание, понимал его однозначно. 3. Массовость - по данному алгоритму должна решаться не одна, а целый класс подобных задач. 17. 02. 2018

Свойства алгоритма (2) 4. Результативность –любой алгоритм в процессе выполнения должен приводить к определённому Свойства алгоритма (2) 4. Результативность –любой алгоритм в процессе выполнения должен приводить к определённому результату. Отрицательный результат также является результатом. 5. Конечность (финитность) алгоритма. Алгоритм должен приводить к решению задачи обязательно за конечное время. Последовательность правил, приведшая к бесконечному циклу, алгоритмом не является. 17. 02. 2018

Свойства алгоритма (3) 6. Эффективность алгоритма - такое его свойство (качество), которое позволяет решить Свойства алгоритма (3) 6. Эффективность алгоритма - такое его свойство (качество), которое позволяет решить задачу за приемлемое для разработчика время. К параметру, характеризующему эффективность алгоритма, следует отнести также объем памяти компьютера, необходимый для решения задачи. 7. Корректность - означает, что если алгоритм создан для решения определенной задачи, то для всех исходных данных он должен всегда давать правильный результат и ни для каких исходных данных не будет получен неправильный результат. Если хотя бы один из полученных результатов противоречит хотя бы одному из ранее установленных и получивших признание фактов, алгоритм нельзя признать корректным. 17. 02. 2018

2. Способы записи алгоритма 17. 02. 2018 2. Способы записи алгоритма 17. 02. 2018

Способы записи алгоритма 1. 2. 3. Словесная (вербальная) на неформальном языке (на естественном языке Способы записи алгоритма 1. 2. 3. Словесная (вербальная) на неформальном языке (на естественном языке в виде описания); в виде графических блок-схем (блоксхемы и диаграммы Насси. Шнейдермана); на специальном алгоритмическом языке (программирования) 17. 02. 2018

Язык блок-схем 17. 02. 2018 Язык блок-схем 17. 02. 2018

Использование блок-схем дает возможность • наглядно отобразить базовые конструкции алгоритма; • сосредоточить внимание на Использование блок-схем дает возможность • наглядно отобразить базовые конструкции алгоритма; • сосредоточить внимание на структуре алгоритма, а не на синтаксисе языка; • анализировать логическую структуру алгоритма; • преобразовывать алгоритм методом укрупнения (сведения к единому блоку) или детализации – разбиения на ряд блоков; 17. 02. 2018

Использование блок-схем дает возможность • использовать принцип блочности при коллективном решении сложной задачи; • Использование блок-схем дает возможность • использовать принцип блочности при коллективном решении сложной задачи; • осуществить быструю проверку разработанного алгоритма (на уровне идеи); • разобрать большее число учебных задач. 17. 02. 2018

Диаграммы Насси - Шнейдермана САМОСТОЯТЕЛЬНО!!! 17. 02. 2018 Диаграммы Насси - Шнейдермана САМОСТОЯТЕЛЬНО!!! 17. 02. 2018

3. Основные алгоритмические конструкции 17. 02. 2018 3. Основные алгоритмические конструкции 17. 02. 2018

Основные алгоритмические конструкции 1. линейные алгоритмы; 2. алгоритмы ветвления; 3. циклические алгоритмы. В 1966 Основные алгоритмические конструкции 1. линейные алгоритмы; 2. алгоритмы ветвления; 3. циклические алгоритмы. В 1966 г Бом и Джакопини доказали, что для записи алгоритма любой сложности достаточно 3 -х основных структур. 17. 02. 2018

Основные алгоритмические конструкции 17. 02. 2018 Основные алгоритмические конструкции 17. 02. 2018

Линейная Начало Ввод данных присваивание Вывод Стоп 17. 02. 2018 Линейная Начало Ввод данных присваивание Вывод Стоп 17. 02. 2018

Ветвление Начало Ввод данных … 17. 02. 2018 Проверка условия Ветвление Начало Ввод данных … 17. 02. 2018 Проверка условия

Цикл Начало Цикл Ввод данных … 17. 02. 2018 Цикл Начало Цикл Ввод данных … 17. 02. 2018

Пример 1 Алгоритм «Телефонный разговор» 17. 02. 2018 Пример 1 Алгоритм «Телефонный разговор» 17. 02. 2018

17. 02. 2018 17. 02. 2018

Пример 2 Алгоритм поиска наибольшего общего делителя (алгоритм Евклида) 17. 02. 2018 Пример 2 Алгоритм поиска наибольшего общего делителя (алгоритм Евклида) 17. 02. 2018

ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ 1. Что такое алгоритм? 2. Назовите основные свойства алгоритма. 3. Какие ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ 1. Что такое алгоритм? 2. Назовите основные свойства алгоритма. 3. Какие существуют формы представления алгоритма? Кратко охарактеризуйте их. 4. Чем отличается графическая форма представления алгоритма от других форм? 5. С помощью какой фигуры изображается этап вычисления? Проверка условия? Вывод данных? 6. Какие преимущества дает блок-схема? 7. Назовите три основных структуры алгоритмов. 17. 02. 2018