Алгоритм
Алгоритм - Алгори тм — набор инструкций, описывающих порядок действий исполнителя достижения результата решения задачи за конечное время. Инструкция или оператор (англ. statement) — наименьшая автономная часть языка программирования; команда. Программа обычно представляет собой последовательность инструкций.
Происхождение слова «алгоритм» n Таким образом, мы видим, что латинизированное имя среднеазиатского учёного было вынесено в заглавие книги, и сегодня считается, что слово «алгоритм» попало в европейские языки именно благодаря этому сочинению. Однако вопрос о его смысле длительное время вызывал ожесточённые споры. На протяжении многих веков происхождению слова давались самые разные объяснения.
Свойства алгоритмов Дискретность — алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно.
Свойства алгоритмов Детерминированность (определённость). В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных.
Свойства алгоритмов Понятность — алгоритм должен включать только те команды, которые доступны исполнителю и входят в его систему команд. Завершаемость (конечность) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0.
Свойства алгоритмов Массовость (универсальность)- Алгоритм должен быть применим к разным наборам исходных данных. Результативность — завершение алгоритма определёнными результатами. Алгоритм содержит ошибки, если приводит к получению неправильных результатов либо не даёт результатов вовсе. Алгоритм не содержит ошибок, если он даёт правильные результаты для любых допустимых исходных
Исправьте алгоритм “Поездка в гости”: 1. 2. 3. 4. 5. 6. Выйти из дома. Выйти из автобуса. Сесть в автобус № 10. Дойти до автобусной остановки. Проехать 3 остановки. Дойти до дома, в котором живет друг. Назовите правильный порядок действий.
Формы записи алгоритмов q Словесная или вербальная (языковая, формульнословесная); q Псевдокод (формальные алгоритмические языки); q Схематическая: - структурограммы (схемы Насси-Шнайдермана); - графическая (блок-схемы, выполняется с ребованиями стандарта).
Словесная или вербальная Например, Составить алгоритм решения арифметического выражения (23+34)*57/3 1 шаг 23+34=57 2 шаг 57*57=3249 3 шаг 3249/3=1083
Псевдокод (формальные алгоритмические языки); Например, Составить алгоритм решения алгебраического выражения x=2 y+z алг Выражение арг y, z: цел рез x: цел нач x: =2*y x: =x+z кон n
Элементы блок-схемы Начало Данные Последовательность команд Условие Объявление переменных Начало и конец алгоритма Описание ввода и вывода данных Описание линейной последовательности команд Обозначение условий в алгоритмических структурах «ветвление» и «выбор» Объявление переменных или ввод комментариев
Типы алгоритмов n n Линейный Разветвлённый(алгоритмические структуры «ветвление» и «выбор» ) Циклический (алгоритмическая структура «цикл» ) Вспомогательный Определения
Линейный алгоритм Пример. Алгоритм посадки дерева Начало Выкопать в земле ямку Опустить в ямку саженец Закопать ямку с саженцем землёй Полить саженец водой Конец
Линейный алгоритм - это алгоритм, в котором все операции выполняются последовательно одна за другой.
Разветвлённый алгоритм Пример: Из трёх монет одинакового достоинства одна фальшивая (лёгкая). Как её найти с помощью одного взвешивания на чашечных весах без гирь? Начало Положить по 1 монете на каждую чашу весов, третью монету отложить в сторону Да Весы в равновесии? Нет Монета на поднявшейся вверх чаше фальшивая Отложенная монета фальшивая Конец
Разветвление Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.
Не формальное представление разветвления Движение по однополосной магистрали с осмотром/без осмотра достопримечательностей
Циклический алгоритм Домашнее задание по математике Начало Есть нерешённые задачи по математике? Да Решить задачу Пойти погулять Конец Нет
Алгоритмы циклической структуры n n Циклом называют повторение одних и тех же действий (шагов). Последовательность действий, которые повторяются в цикле, называют телом цикла. Существует несколько типов алгоритмов циклической структуры.
Повторим… на представленные утверждения дайте ответ «да/нет» Алгоритм ветвления обязательно содержит условие, которое может выполниться или не выполниться. В алгоритме ветвления направление решения задачи не зависит от выполнения или невыполнения условия. В линейном алгоритме последовательность команд выполняется многократно. Линейный алгоритм является частным случаем алгоритма ветвления. Любая последовательность действий является алгоритмом. Строгая последовательность конечного числа действий является алгоритмом.
Цикл с предусловием
Алгоритм циклической структуры с постусловием
Условный циклический алгоритм с известным числом повторений