Появление алгоритмов связано с именем математика Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмом понимали только правила выполнения четырех арифметических действий над числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению любой поставленной задачи. Само слово «алгоритм» возникло в Европе после перевода на латынь книги этого среднеазиатского математика, в котором его имя писалось как «Алгоритми».
Научное определение понятия алгоритма дал А. Черч в 1930 году. Позже и другие математики вносили свои уточнения в это определение.
Говоря об алгоритме вычислительного процесса, необходимо понимать, что объектами, к которым применялся алгоритм, являются данные. Алгоритм решения вычислительной задачи представляет собой совокупность правил преобразования исходных данных в результатные.
В дальнейшем дается определение понятие алгоритма.
Под алгоритмом понимают понятное и точное предписание (указание) исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи.
Алгоритм - описание последовательности действий (план), исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Алгоритм - понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.
Всякий алгоритм составляется в расчете на определенного исполнителя. Им может быть человек, робот, компьютер и др. Вопрос о рассмотрении человека в этом качестве является спорным, но в рамках данной работы мы будем придерживаться мнения о человеке, как исполнителе алгоритма.
Исполнитель – объект, который выполняет алгоритм.
Алгоритм может выполнить тот, кто понимает все его команды и может их выполнить. Таким образом, мы видим, что алгоритм не имеет смысла, если неизвестны или не учитываются возможности того, кто будет исполнять этот алгоритм, то есть возможности исполнителя. Поэтому нам потребуется еще одно определение «система команд исполнителя».
Система команд исполнителя – совокупность команд, которые данный исполнитель умеет выполнить.
Многие алгоритмы, составленные для исполнителя-человека, часто предполагают наличие у человека некоторого дополнительного объема знаний, умений, интуиции и, естественно, здравого смысла. Например, в алгоритме перехода улицы предполагается, что исходное положение пешехода (исполнителя алгоритма) — лицом к улице, что он будет переходить улицу в разрешенном для этого месте. Предполагается также, что пешеход сообразит, что пропускать нужно транспорт, который не стоит, а движется, причем в сторону пешехода, и находится уже недалеко от перехода. Эти и множество других на первый взгляд мелочей нужно было бы обязательно учесть, если бы алгоритм предназначался для самостоятельных прогулок по городу робота.
Создание и использование в качестве исполнителей различных автоматов, роботов и компьютеров предъявляют очень строгие требования к точности описания алгоритмов их работы. Это связано с тем, что каждое автоматическое устройство имеет ограниченный, строго определенный набор законченных действий, которые (и только такие) оно может исполнять.
Для выполнения всякой работы, решения поставленной задачи исполнитель на входе получает алгоритм и исходные данные, а на выходе получает требуемые результаты.
Иногда при выполнении алгоритма возникает ситуация, когда исполнитель не может выполнить очередное предписание, несмотря на то что оно имеется в его системе команд. Такую ситуацию называют отказом.
Например, дан следующий алгоритм для исполнителя – человека.
1. Сделать один шаг вперед.
2. Повернуться направо.
3. Поднять вверх правую руку.
4. Поднять вверх левую руку.
5. Опустить вниз правую руку.
6. Поднять вверх левую руку
При выполнении шестой команды алгоритма исполнитель обнаруживает, что выполнить это предписание не удается, так как его рука уже находится в поднятом состоянии.
Как вы поняли, каждый алгоритм должен быть понятен исполнителю, поэтому алгоритм должен быть записан на понятном для исполнителя языке, и эта запись называется программой.
Программа - запись алгоритма на языке исполнителя.
Другие статьи:
Технология работы по формированию здорового образа жизни
Технология - это инструмент профессиональной деятельности педагога, соответственно характеризующаяся качественным прилагательным – педагогическая. Сущность педагогической технологии заключается в том, что она имеет выраженную этапность (пошаговость), включает в себя набор определенных профессиональных действ ...
Новые подходы к адаптации детей раннего возраста
Среди разнообразных подходов к разработке содержания и организации учебно-воспитательного процесса весьма популярна в последнее время модульная технология интеграционного взаимодействия специалистов социального воспитания О.Н. Усановой, применяемая в некоторых детских садах. Сущность ее в том, что специалист ...