вторник, 27 сентября 2011 г.


Модуль 1, задание 4:
  • Само слово «алгоритм» происходит от имени учёного Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми (алгоритм — аль-Хорезми). Около 825 года он написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, арабский оригинал книги не сохранился. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название Algoritmi de numero Indorum («Алгоритмы о счёте индийском»). По-арабски же книга именовалась Китаб аль-джебр валь-мукабала («Книга о сложении и вычитании»). Из оригинального названия книги происходит слово Алгебра (алгебра — аль-джебр — сложение).Таким образом, мы видим, что латинизированное имя среднеазиатского учёного было вынесено в заглавие книги, и сегодня ни у кого нет сомнений, что слово «алгоритм» попало в европейские языки именно благодаря этому сочинению. Однако вопрос о его смысле длительное время вызывал ожесточённые споры. На протяжении многих веков происхождению слова давались самые разные объяснения.

Очень распространённой была версия о греческом происхождении книги. В англо-норманнской рукописи XIII века, написанной в стихах, читаем:
"Алгоризм был придуман в Греции. Это часть арифметики. Придуман он был мастером по имени Алгоризм, который дал ему своё имя. И поскольку его звали Алгоризм, Он назвал свою книгу «Алгоризм».

  • «Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность». (Д. Э. Кнут) 
  • Алгоритм может быть записан словами и изображён схематически. Обычно сначала алгоритм описывается словами, затем он обретает всё более формальные очертания и формулировку на языке, понятном исполнителю. Например, для описания алгоритма применяются блок-схемы.
  • Базовые алгоритмические структуры: следствие, ветвление, цикл.
  • Алгоритм - анализ задачи: 1)уточнение постановки задачи; 2)уточнение исходных данных; 3)уточнение условий решения. 
         Алгоритм - разработка алгоритма решения: 1)есть ли решенные аналогичные задачи? 2)что известно? 3)что нужно найти? 4)как данные связаны между собой? 

  • Метод проектирования алгоритма сверху вниз:
определяются цели и их иерархия, затем устанавливается состав приложений для реализации поставленной цели. Далее уточняется характер взаимосвязи приложений с их характеристиками, определяется необходимая для решения задач функция обработки данных. Выполняется декомпозиция функций обработки.

2 комментария: