'

Алгоритмы

Понравилась презентация – покажи это...





Слайд 0

Алгоритмы


Слайд 1

Что такое алгоритм? В старой трактовке алгори?тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное время. По мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Это связано с тем, что какие-то действия алгоритма должны быть выполнены только друг за другом, но какие-то могут быть и независимыми.


Слайд 2

Понятие алгоритма необязательно относится к компьютерным программам, так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек. Однако чаще всего в качестве исполнителя выступает компьютер.


Слайд 3

Определения алгоритма Единого «истинного» определения понятия «алгоритм» нет. «Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность». (Д. Э. Кнут) «Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи». (А. Колмогоров) «Алгоритм — это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату». (А. Марков) «Алгоритм — строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд». (Николай Дмитриевич Угринович) «Алгоритм — это последовательность действий, направленных на получение определённого результата за конечное число шагов». (ROXANstudio) «Алгоритм — это строго определённая последовательность действий, направленная на достижение определённых целей за конечное число шагов». (Привалов Егор Николаевич) «Алгоритм есть формализованная последовательность действий (событий). Алгоритм может быть записан словами и изображён схематически. Практически любое неслучайное повторяемое действие поддаётся описанию через алгоритм». ([grey_olli]) «Алгоритм — однозначно, доступно и кратко (условные понятия — названия этапа) описанная последовательность процедур для воспроизводства процесса с обусловленным задачей алгоритма результатом при заданных начальных условиях. Универсальность (или специализация) алгоритма определяется применимостью и надёжностью данного алгоритма для решения нестандартных задач».


Слайд 4


Слайд 5

Детерминированность Детерминированность— определённость. В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа.


Слайд 6

Понятность Понятность — алгоритм для исполнителя должен включать только те команды, которые ему (исполнителю) доступны, которые входят в его систему команд.


Слайд 7

Завершаемость (конечность) Завершаемость (конечность) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0.


Слайд 8

Массовость Массовость — алгоритм должен быть применим к разным наборам исходных данных.


Слайд 9

История термина «Алгоритм» Само слово «алгоритм» происходит от имени учёного Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми. Около 825 года он написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. Абу Абдулла (или Абу Джафар) Мухаммед ибн Муса аль-Хорезми


Слайд 10

Основные виды алгоритмов


Слайд 11


Слайд 12

Запись алгоритма на формальном языке называется программой. Иногда само понятие алгоритма отождествляется с его записью, так что слова «алгоритм» и «программа» — почти синонимы. Небольшое различие заключается в том, что под алгоритмом, как правило, понимают основную идею его построения. Программа же всегда связана с записью алгоритма на конкретном формальном языке.


Слайд 13

Алгоритм действия пешехода, который позволит ему безопасно перейти улицу Подойти к дороге. Дождаться зелёного сигнала светофора. Перейти дорогу. Если впереди есть ещё одна дорога, то перейти к шагу 1.


Слайд 14

Запись алгоритма в виде блок-схемы Запись алгоритма в виде блок схемы позволяет увидеть структуру алгоритма наглядно, без использования специфического языка. Часто такая запись позволяет выявить ошибки в алгоритме


Слайд 15

Основные блоки алгоритмов Блок операции Начало и конец алгоритма Блок ввода/вывода Алтернативный блок (блок условия)


Слайд 16

Разбить яйцо на сковороду Линейный алгоритм приготовления яичницы Начало Разогреть сковороду Налить масло на сковороду Взять яйцо Посолить яйцо Подождать 5 минут Конец


Слайд 17

Подойти к дороге. Дождаться зелёного сигнала светофора. Перейти дорогу. Начало Впереди есть ещё одна дорога? Конец нет да Циклический алгоритм действия пешехода, который позволит ему безопасно перейти улицу


Слайд 18

Условный алгоритм похода в магазин Начало Есть продукты? Взять деньги, одеться, выйти из дома, дойти до магазина Конец да Магазин работает? нет Идти к другому магазину Купить продукты Конец да нет


Слайд 19

С развитием вычислительной техники и теории программирования возрастает необходимость построения новых экономичных алгоритмов, изменяются способы их построения, способы записи алгоритмов на языке, понятном исполнителю. Особый тип исполнителя алгоритмов – компьютер, поэтому необходимо создавать специальные средства, позволяющие, с одной стороны, разработчику в удобном виде записывать алгоритмы, а с другой – дающие компьютеру возможность понимать написанное. Такими средствами являются языки программирования или алгоритмические языки.


×

HTML:





Ссылка: