Алгоритм. Свойства алгоритма. Автор: Асаянова О.Ю., учитель информатики ГОУ СОШ №1389 г.Москвы
Алгоритм Алгоритм - конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью точных и понятных исполнителю команд. Слово «алгоритм» происходит от algorithmi - латинской формы написания имени великого математика IX века аль-Хорезми
Алгоритмы встречаются нам повсюду, например: Приготовление торта- алгоритм: Замесить тесто Раскатать коржи Выпечь коржи Дать коржам остыть 5. Украсить торт
Исполнитель Исполнитель - управляющий объект совершающий последовательность действий, направленных на достижение поставленной цели Исполнителем может быть человек, робот, компьютер, язык программирования и т.д. Исполнитель умеет выполнять некоторые команды. СКИ - совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя.
Свойства алгоритмов Алгоритм составляется так, чтобы исполнитель, в расчете на которого он создан, мог однозначно и точно следовать командам и получать результат. Это накладывает на записи алгоритмов ряд обязательных требований (свойств).
Дискретность Описываемый алгоритмом процесс разбит на последовательность отдельных шагов. Запись представляет собой упорядоченную совокупность разделенных предписаний, образующих дискретную (прерывную) структуру алгоритма. Только выполнив требования одного предписания, можно приступить к выполнению следующего.
Понятность Алгоритмы составляются ориентацией на определенного исполнителя. Все команды в алгоритме должны быть понятны исполнителю, т.е. принадлежать его СКИ.
Детерминированность (определённость) Последовательность выполнения действий д.б. строго определенной. Каждый шаг алгоритма д.б. четким и однозначным. Алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно, т.е. одна и та же команда, будучи понятна разным исполнителям, после исполнения каждым из них должна давать одинаковый результат. Также недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какая из команд должна выполняться на следующем шаге.
Результативность При точном исполнении всех предписаний алгоритм приводит к решению задачи за конечное число шагов и при этом получается определенный результат. Вывод о том, что решения не существует - тоже результат.
Массовость Алгоритм разработан в общем виде, обеспечивая решение не одной конкретной задачи, а некоторого класса задач данного типа. В простейшем случае массовость обеспечивает возможность использования различных исходных данных.
Формы записи алгоритма Словесная (на естественном языке) Графическая ( блок – схема) Программная (тексты на языках программирования)
Исполнители алгоритмов Языки программирования: 1.Машинноориентированные языки: Автокод, Assembler 2. Языки программирования высокого уровня: машиннонезависимые языки: C++, Delphi, Visual Basic, Turbo Pascal, al = 10100110 sar al, 3 al = 11110100 sar al, 2 al = 11111101 bl = 00100110 sar bl, 3 bl = 00000010 Программа – алгоритм записанный на языке программирования.
Исполнители алгоритмов Процессор понимает только язык машинных команд. Обязательный элемент любой системы программирования Транслятор – программа - переводчик с языка программирования на ЯМК. Компилятор - переводит программу на ЯМК до ее исполнения Интерпритатор– перевод программы на ЯМК и ее исполнение производятся параллельно
Блок – схема графическое представление алгоритма Алгоритм изображается в виде последовательности связанных между собой функциональных блоков. Каждый блок выполняет одно или несколько действий. Каждому типу действий соответствует геометрическая фигура.
Графические объекты блок - схемы
Элементы блок-схемы С помощью блок-схем ы описан следующий план: пойду на реку, буду купаться и ловить рыбу.
Блок - схема Записать в виде блок – схемы: Вычислить площадь прямоугольника, если известны стороны А и В. 1в.Вычислить площадь и длину окружности, если известен радиус R окружности. 2в.Перевести сумму R рублей в доллары США по курсу ММВБ на день решения задачи.
Вопросы и задания 1.Что понимают под алгоритмом? 2.Чем отличается алгоритм от программы? 3. Перечислите формы представления алгоритма. 4.Является ли алгоритм последовательностью случайных действий человека? 5.Придумайте примеры, иллюстрирующие свойства алгоритма.
ДЗ: Придумать пример задачи и вписать в блок-схему.
Используемые материалы взяты: www.lbz.ru/pdf/cB481-1-ch.pdf pmi.ulstu.ru/new_project/.../kods.htm book.kbsu.ru/theory/.../1_7_6.html 5ka.su/ref/.../0_object90324.html - Шафрин Ю.А. Информационные технологии...6в 2ч.Ч.1Основы информатики и информационных техноогий.-М.:Лабаротория Базовых Знаний,2001.