Алгоритм
Скачать 46.69 Kb.
|
Происхождение слова «алгоритм». Определение алгоритма. Слово «алгоритм» происходит от имени учёного Абу Абдаллах Мухаммеда ибн Муса аль-Хорезми. Около 825 года он написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. Арабский оригинал книги не сохранился. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как «цифра» и «шифр»). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название Algoritmi de numero Indorum («Алгоритми о счёте индийском»). По-арабски же книга именовалась Китаб аль-джебр валь-мукабала («Краткая книга восполнения и противопоставления»). Из оригинального названия книги происходит слово Алгебра. Алгори́тм — конечная совокупность точно заданных правил решения произвольного класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи. Основные схемы алгоритмов. Способы представления алгоритмов Линейный Рисунок 1 – Линейный алгоритм Линейным называют алгоритм, реализованный в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i-го действия (шага) выполняется (i +1)-е действие (шаг), если i -е действие - не конец алгоритма. Разветвляющеся алгоритмРазветвляющейся (или ветвящейся) называется алгоритм, обеспечивающий выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают неполное (если - то) и полное (если - то - иначе) ветвления. Полное ветвление позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо оттого, какой путь был выбран (рис). Р исунок 2 – Полное ветвление Неполное ветвление предполагает наличие некоторых действий алгоритма только на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис). Р исунок 3 – неполное ветвление Циклический алгоритмЦиклом называют алгоритм, в котором некая, идущая подряд группа действий (шагов) алгоритма может выполняться несколько раз, в зависимости от входных данных или условия задачи. Группа повторяющихся действий на каждом шагу цикла называется телом цикла. Любая циклическая конструкция содержит в себе элементы ветвящегося алгоритма. Существуют три основных способа представления алгоритмов. Использование естественного языка. В этом случае последовательность предложений языка описывает последовательность действий исполнителя, которым может быть в большинстве случаев только человек. Никаких специальных правил и требований к таким записям алгоритмов не предъявляется. Главное, что бы выполнялись требования, предъявляемые к алгоритмам, о которых говорилось выше. Иногда такая запись включает некоторые языковые конструкции известных алгоритмических языков или языков программирования. Графически способ. В графической форме алгоритм представляется в виде геометрических фигур. Обычно они связываются линиями, которые показывают последовательность исполнения отдельных шагов алгоритма. Существует несколько вариантов графического представления алгоритмов, но наиболее широкую известность получило представление в виде схем-алгоритмов. Метод схем-алгоритмов был разработан Фон Нейманом – одним из первых разработчиков вычислительных машин. В схеме-алгоритме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Использование алгоритмических языков. Алгоритмический язык – это формальный язык, используемый для записи алгоритмов. Запись алгоритма на алгоритмическом языке является формализованной и подчиняется строгим требованиям синтаксиса используемого языка. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, и не содержит деталей, связанных с его устройством. Алгоритм на алгоритмическом языке в общем виде записывается в следующей форме: алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) Кон В записи алгоритма ключевые слова обычно подчёркиваются либо выделяются полужирным шрифтом. Для выделения логических блоков применяются отступы, а парные слова начала и конца блока соединяются вертикальной чертой. |