Слово алгоритм произошло от algorithm – латинского написания слова аль – Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (города в современном Узбекистане) Мухамеда бен Мусу, жившего в 783 – 850 гг.
o Алгоритм описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов. o Алгоритмизация процесс разработки алгоритма (плана действий) для решения задачи.
o Любой прибор, купленный в магазине, снабжается инструкцией по его использованию. o Каждый шофер должен знать правила дорожного движения. o Массовый выпуск автомобилей стал возможен только тогда, когда был придуман порядок сборки машины на конвейере.
Мы на каждом шагу встречаем алгоритмы. Некоторые из них мы выполняем машинально, даже не задумываясь об этом. Выполняя некоторые действия мы даже не подозреваем, что выполняем определенный алгоритм. Например, вы хорошо знаете, как открывать дверь ключом. Однако, чтобы научить этому малыша, придется четко разъяснить и сами действия, и порядок их выполнения. Запишем алгоритм выполнения открывания двери. 1. Достать ключ из кармана. 2. Вставить ключ в замочную скважину. 3. Повернуть ключ два раза против часовой стрелки. 4. Вынуть ключ.
Вас пригласили в гости и подробно объяснили, как добраться: 1. Выйти из дома. 2. Повернуть направо. 3. Пройти два квартала до остановки. 4. Сесть в автобус 5, идущий к центру города. 5. Проехать три остановки. 6. Выйти из автобуса. 7. Найти по указанному адресу дом и квартиру.
o Эти примеры не что иное, как алгоритм. Несмотря на значительное различие в сути самих действий этих примеров, можно найти в них много общего. Эти общие характеристики называют свойствами алгоритма. Рассмотрим их.
o Дискретность (от лат. discretus разделенный, прерывистый) – это разбиение алгоритма на ряд отдельных законченных действий (шагов). В приведенных выше алгоритмах общим является необходимость строгого соблюдения последовательности выполнения действий. Попробуем переставить в первом примере второе и третье действия. Вы, конечно, сможете выполнить и этот алгоритм, но дверь вряд ли откроется. А если поменять местами, предположим, пятое и второе действия во втором примере, алгоритм станет невыполнимым. o Детерминированность (от лат. determinate определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае.
o линейный, o циклический, o разветвляющийся, o вспомогательный.
o Линейные алгоритмы состоят из нескольких команд (операторов), которые должны быть выполнены последовательно одна за другой.
o Ветвление (развилка) - такая форма организации действий, при которой в зависимости от выполнения или невыполнения конкретного условия, совершается либо одна, либо другая последовательность действий.
Полная форма ветвления УСЛОВИЕ ДЕЙСТВИЕ 1ДЕЙСТВИЕ 2 да-нет
Неполная форма ветвления УСЛОВИЕ ДЕЙСТВИЕ 1 да-нет
o Циклом (повтором) называется такая форма организации действий, при которой одна и та же последовательность действий повторяется несколько раз ( или ни разу) до тех пор, пока выполняется некоторое условие.
o Вспомогательным называется алгоритм, снабженный таким заголовком, который позволяет вызывать этот алгоритм из других алгоритмов.
Program Uses crt; Var x,y: integer; Begin fillChar (mem[$B800:0], 80*25*2,0); Y:=0; Repeat X:=0; Repeat mem[$B800:x*2+y*160+1]:=byte(«*»); Inc(x,2); Until x>=79; Inc(y,2); Until y>=24; End. Алгоритм, записанный на понятном компьютеру языке программирования, называется программой.