Алгоритм. Свойства алгоритма.
Алгоритм
- Алгоритм - конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью точных и понятных исполнителю команд.
- Слово «алгоритм» происходит от algorithmi - латинской формы написания имени великого математика IX века аль-Хорезми
Алгоритмы встречаются нам повсюду, например:
Приготовление торта- алгоритм :
- Замесить тесто
- Раскатать коржи
- Выпечь коржи
- Дать коржам остыть
5. Украсить торт
Исполнитель
Исполнитель - управляющий объект совершающий последовательность действий, направленных на достижение поставленной цели
Исполнителем может быть человек, робот, компьютер, язык программирования и т.д. Исполнитель умеет выполнять некоторые команды.
СКИ - совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя.
Свойства алгоритмов
Дискретность
- Описываемый алгоритмом процесс разбит на последовательность отдельных шагов.
- Запись представляет собой упорядоченную совокупность разделенных предписаний, образующих дискретную (прерывную) структуру алгоритма.
- Только выполнив требования одного предписания, можно приступить к выполнению следующего.
Понятность
Алгоритмы составляются ориентацией на определенного исполнителя.
Все команды в алгоритме должны быть понятны исполнителю, т.е. принадлежать его СКИ.
Детерминированность (определённость)
- Последовательность выполнения действий д.б. строго определенной.
- Каждый шаг алгоритма д.б. четким и однозначным.
- Алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно, т.е. одна и та же команда, будучи понятна разным исполнителям, после исполнения каждым из них должна давать одинаковый результат.
- Также недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какая из команд должна выполняться на следующем шаге.
Результативность
- При точном исполнении всех предписаний алгоритм приводит к решению задачи за конечное число шагов и при этом получается определенный результат. Вывод о том, что решения не существует - тоже результат.
Массовость
- Алгоритм разработан в общем виде, обеспечивая решение не одной конкретной задачи, а некоторого класса задач данного типа. В простейшем случае массовость обеспечивает возможность использования различных исходных данных.
Формы записи алгоритма
- Словесная (на естественном языке)
- Графическая ( блок – схема)
- Программная (тексты на языках программирования)
Исполнители алгоритмов
al = 10100110 sar al, 3 al = 11110100 sar al, 2 al = 11111101 bl = 00100110 sar bl, 3 bl = 00000010
Языки программирования:
1.Машинноориентированные языки : Автокод, Assembler
2. Языки программирования высокого уровня: машиннонезависимые языки:
C++, Delphi, Visual Basic, Turbo Pascal,
- Программа – алгоритм записанный на языке программирования.
Исполнители алгоритмов
- Процессор понимает только язык машинных команд. Обязательный элемент любой системы программирования
Транслятор – программа - переводчик с языка программирования на ЯМК.
Интерпритатор – перевод программы на ЯМК и ее исполнение производятся параллельно
Компилятор - переводит программу на ЯМК до ее исполнения
Блок – схема графическое представление алгоритма
- Алгоритм изображается в виде последовательности связанных между собой функциональных блоков. Каждый блок выполняет одно или несколько действий. Каждому типу действий соответствует геометрическая фигура.
Графические объекты блок - схемы
Название
Символ
Начало/конец алгоритма
Выполняемая функция
Процесс
Ввод/вывод
Начало или конец программы, вход или выход в подпрограмму
Выполняемое действие
Условие
Ввод или вывод данных в общем виде
( данные записываются внутри)
Модификация (цикл с параметром)
Проверка условия выполнения действий(записывается внутри)
Предопределенный процесс
Выполнение действий, изменяющих пункты алгоритма
( данные записываются внутри)
Печать
Вычисления по подпрограмме, стандартной программе
Вывод данных на печатающее устройство
начало
X= a+b
Ввод
a,b
a
нет
да
i=1,12,50
Печать
a,b
Элементы блок-схемы
С помощью блок-схем ы описан следующий план: пойду на реку, буду купаться и ловить рыбу.
Блок - схема
начало
Записать в виде блок – схемы:
- Вычислить площадь прямоугольника, если известны стороны А и В.
1в.Вычислить площадь и длину окружности, если известен радиус R окружности.
2в.Перевести сумму R рублей в доллары США по курсу ММВБ на день решения задачи.
Ввод А,В
S:=А*В
Вывод S
конец
Вопросы и задания
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.