ПОНЯТИЕ АЛГОРИТМА
Понятие алгоритма является центральным понятием информатики. Термин “алгоритм” своим происхождением обязан имени узбекского математика Аль-Хорезми, который еще в IX в. сформулировал правила выполнения четырех арифметических действий. Появившееся не сколько позже слово “алгорифм” связано с именем древнегреческого математика Евклида, назвавшего так сформулированные им правила нахождения наибольшего общего делителя двух чисел. В современной математике употребляют термин “алгоритм”.
Существует много определений этого термина. Например, акад. А. Н. Колмогоров дает такое определение: алгоритм или алгорифм -это всякая система вычислений, выполняемых по строго определенным правилам, которая после какого-либо числа шагов заведомо при водит к решению поставленной задачи.
В инженерной практике часто используется следующее определение: алгоритм — конечная последовательность точно определенных деиствий, приводящих к решению поставленной задачи. Однако алгоритмы это не только описания последовательностей решения различных задач. В форме различных инструкций и правил алгоритмы сопровождают человека во всей его жизни. Кулинарный рецепт типа “Взять того-то и того-то, перемешать, залить, довести до кипения, дать отстояться, процедить и т. д.” является типичным примером алгоритма. Алгоритмами являются и инструкции по включению и эксплуатации различных электробытовых приборов. Добираясь от дома до работы или места учебы, каждый из
нас выполняет определенный алгоритм, составленный для себя исходя из имеющихся возможностей, условий и накопленного опыта. В зависимости от времени выхода из дома. погодных условий, других обстоятельств этот алгоритм может допускать несколько вариантов маршрутов, совершение по пути пешей прогулки, использование того или иного вида транспорта и т. п.Устанавливаемая алгоритмом последовательность действий задается словесным или графическим описанием. При этом широко используются специально разработанные алгоритмические языки.
Примером словесной формы задания алгоритма служит алгоритм Евклида для нахождения наибольшего общего делителя двух чисел:
1.обозревая два числа а и Ь, переходи к следующему пункту.
2.сравни обозреваемые числа (а равно Ь, а меньше, больше b) и переходи к следующему пункту. 3.Если а и Ь равны, то прекрати вычисление: каждое из чисел дает искомый результат. Если числа не равны, то переходи к следующему пункту.
4. Если первое число меньше второго, то переставь их местами; переходи к следующему пункту.
5. Вычитай второе число из первого, обозревай два числа: вычитаемое и остаток; переходи к п. 2.
По указаниям этого алгоритма можно найти наибольший общий делитель для любой пары натуральных чисел.
Понятие алгоритма. (еще раз)
Алгоритмом называется четкое описание последовательности действий, которое необходимо выполнить для решения данной задачи. Решение любой задачи требует получения результата по исходным данным.
Разработать алгоритм решения задачи означает – разбить задачу на последовательно выполняемые шаги. Результаты предыдущих решений могут быть использованы при выполнении последующих.
Если алгоритм разработан правильно то его можно вручить для выполнения – исполнителю.
Алгоритмы могут записываться различными способами, например, в виде блок-схем или в виде программ. Программа это набор указаний исполнителю, т.е. в нашем случае – компьютеру.
Самостоятельно расставить номер шага:
Налить в чайник воду
Открыть кран газовой горелки
Поставить чайник на плиту
Ждать пока вода не закипит
Поднести спичку к горелке
Зажечь спичку
ПОНЯТИЕ АЛГОРИТМА (еще раз)
Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила, рецепты и т. п. Обычно мы это делаем не задумываясь. Например, открывая дверь ключом, никто не размышляет над тем, в какой последовательности выполнять действия. Однако чтобы кого-нибудь (скажем, младшего брата) научить открывать дверь, придется четко указать и сами действия, и порядок их выполнения. Например, так:
Достать ключ.
Вставить ключ в замочную скважину.
Повернуть ключ 2 раза против часовой стрелки.
Вынуть ключ.
А теперь представьте себе, что вас пригласили в гости. Наверняка вы попросите подробно и точно объяснить, как добраться. Вот как может выглядеть объяснение:
Выйти из дома. Повернуть направо.
Пройти 2 квартала до автобусной остановки.
Сесть в автобус № 25, идущий к центру города.
Проехать 3 остановки. Выйти из автобуса.
Посмотрим на эти алгоритмы. На первый взгляд, между ними нет ничего общего. Одно дело — открывать дверь, другое — ехать в гости. Однако если приглядеться внимательно, можно заметить существенное сходство между ними. Прежде всего это строгий порядок выполнения действий. Давайте переставим в первом алгоритме второе и третье действия:
Достать ключ.
Повернуть ключ 2 раза против часовой стрелки. Вставить ключ в замочную скважину. Вынуть ключ.
Вы, конечно, сможете выполнить и этот алгоритм. Но дверь вряд ли откроется. А что произойдет, если поменять местами четвертое и пятое действия во втором алгоритме? Он станет невыполнимым! Итак, мы убедились, что для алгоритма важен не только набор действий, но и то, как они организованы, т. е. в каком, порядке выполняются.
Мы можем теперь сказать, что алгоритм — это организованная последовательность действий. Эту формулировку, конечно, нельзя считать определением алгоритма. Например, мы не объяснили, что означают слова “организованная” и “действия”. Скажем сразу — абсолютно строгого определения алгоритма мы не дадим. Понятие алгоритма в информатике является фундаментальным. Таким же, какими являются понятия точки, прямой и плоскости в геометрии, пространства и времени в физике, вещества в химии и т. д. Поэтому мы не будем стремиться дать всеобъемлющее определение алгоритма, а будем уточнять смысл этого понятия в последующих параграфах.
Нам предстоит еще неоднократно записывать алгоритмы, поэтому давайте договоримся, выделяя порядок действий в алгоритме, записывать действия в столбик (как и в приведенных примерах).
Для описания алгоритма используют определенную форму записи. На первой строке записывается слово алгоритм или алг. Далее записывается название алгоритма. На второй строке пишется слово начало или нач. Далее в столбик записываются команды составляющие тело алгоритма. Последней строкой должно быть слово конец
.Пример:
Алгоритм “рисование домика”
Начало
Нарисовать стену
Нарисовать крышу
Нарисовать дверь
Нарисовать окно
Конец.
Для промежуточного хранения информации в вычислениях применяются переменные. За каждой такой переменной закрепляется имя и тип значений. В качестве переменных используются те же латинские буквы как в математике или любые другие. A,B, C,KOL, FAM$, UL$.
Пример диалогового алгоритма:
Алгоритм “приветствие”
Начало
Вывод “добрый день”
Запрос “ваше имя”, im
Вывод “рад встрече”, im
Конец.
Пример :
Алгоритм “определение скорости”
Начало
Вывод “алгоритм составлен Ивановой Машей”
Запрос “введите расстояние”, s
Запрос “введите время”,t
V=s/t
Вывод “скорость”;v; “км.ч.”
Конец.
Решение задач при помощи компьютера предполагает диалоговый режим человека и компьютера. Особенностью диалоговых алгоритмов является то, что они задают определенные правила работы людей с компьютером. При написании алгоритма могут встречается синтаксические и логические ошибки.
При работе с числами компьютер может выполнять: сложение, вычитание, умножение, деление, возведение в степень, вычислять функции: sin, cos, tan, atan, корень числа,