четверг, 29 сентября 2011 г.

Модуль 1, задание 4

Когда возникло понятие алгоритм? Что оно означало в средние века?
Термин «алгоритм» содержит преобразованное географическое название древнего государства в Средней Азии – Хорезм, родины человека по имени Мухаммед ибн Муса аль-Хорезми, ориентировочные годы жизни которого 783-850. В средние века понятие алгоритм означало "решение задач некоторого класса".


Приведите любое найденное вами в Интернете определение алгоритма.
Алгоритм — строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд 

Назовите формы, в которых может быть представлен алгоритм.

Наиболее распространены следующие формы представления алгоритмов: 
  •  словесная (записи на естественном языке);
  •  графическая (изображения из графических символов); 
  •  программная (тексты на языках программирования).
Каковы базовые алгоритмические структуры? 
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл.
Следование. Образуется из последовательности действий, следующих одно за другим.
Ветвление. Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма.  
ЦиклОбеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. 

Назовите основные этапы разработки алгоритма.
Процесс решения любой задачи можно разбить на несколько этапов. Первыми шагами решения всегда являются анализ задачи и разработка (проектирование) алгоритма ее решения.
 На этапе анализа задачи уточняется постановка задачи, исходные данные для ее решения и предъявляемые к решению требования и условия, при которых задача должна быть решена. 
Разрабатывая алгоритм решения задачи, необходимо ответить на вопросы:
  • Существуют ли решенные аналогичные задачи?
  •  Какие структуры данных больше всего подходят для описания того, что известно и что надо найти, какие отношения выявлены между данными?
Первое, что требуется от алгоритма, это правильно реализовать функцию, которая каждому элементу из множества исходных данных ставит в соответствие возможный результат. И второе: от алгоритма требуется такая реализация этой функции, чтобы время решения и затрачиваемые усилия были по возможности минимальными.  
 На сегодняшний день самой популярной методикой проектирования алгоритмов, уменьшающей вероятность ошибок, упрощающей понимание и облегчающей их модификацию, считается технология  проектирования сверху вниз.

 Опишите основной принцип метода проектирования алгоритма сверху вниз.
 При использовании этого метода осуществляется декомпозиция общей задачи на точно определенные подзадачи и доказательство того, что если каждая задача решена корректно и полученные решения связаны друг с другом определенным образом, то исходная задача также будет решена корректно. Затем для полученных подзадач также повторяются процессы декомпозиции и доказательства корректности, которые повторяются до получения подзадач настолько простых, что их решение может быть сформулировано в терминах элементарных операций, понятных исполнителю алгоритма. 

1 комментарий: