четверг, 6 октября 2011 г.

Задание 4 для модуля 1.

- Когда возникло понятие алгоритм? Что оно означало в средние века?

Слово «алгоритм» происходит от имени великого среднеазиатского учёного Мухаммеда аль-Хорезми́, жившего в первой половине IX ве́ка (точные годы его жизни неизвестны, но считается, что он родился около 780 года, а умер около 850). «Аль-Хорезми» означает «из Хорезма» (исторической области в нынешнем Узбекистане, центром которой был город Хива).

Термин алгоритм употреблялся для обозначения четырех арифметических операций, именно в таком значении он и вошел в некоторые европейские языки. Например, в авторитетном словаре английского языка Webster's New World Dictionary, изданном в 1957, слово алгоритм снабжено пометкой «устаревшее» и объясняется как выполнение арифметических действий с помощью арабских цифр.


- Приведите любое найденное вами в Интернете определение алгоритма.


АЛГОРИТМ – система правил, сформулированная на понятном исполнителю языке, которая определяет процесс перехода от допустимых исходных данных к некоторому результату и обладает свойствами массовости, конечности, определенности, детерминированности.

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



- Назовите формы, в которых может быть представлен алгоритм.
1. словесно пошаговая
2. Таблиная
3. Запись на алгоритмическом языке
4. Графическая форма записи (блок-схема)




- Каковы базовые алгоритмические структуры?
1. Следование
Эта структура предполагает последовательное выполнение входящих в нее инструкций. Существенно, что структура следование, рассматриваемая как единое целое, имеет один вход и один выход.
2. Разветвление
Разветвление предполагает проверку некоторого условия. В зависимости от того выполняется это условие или нет, выполняется либо одна инструкция, либо другая.
Если на момент проверки условие оказалось выполнено, то будет выполнена инструкция 1, а инструкция 2 игнорируется. Если же оказывается, что условие не выполнено, то будет выполнена инструкция 2, а инструкция 1 игнорируется. Разветвление также имеет один вход и один выход.
3. Цикл
Цикл предполагает повторение выполнения некоторой инструкции, а также проверку некоторого условия продолжения повторения этой инструкции. Различают два вида базовых циклов в зависимости от порядка выполнения этих действий: сначала проверка условия выполнения инструкции, а затем ее выполнение (цикл – пока), или сначала выполнение инструкции, а затем проверка условия повторения ее выполнения (цикл – до). Также рассматривается цикл со счетчиком. Базовая структура – цикл имеет один вход и один выход.



- Назовите основные этапы разработки алгоритма.

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



- Опишите основной принцип метода проектирования алгоритма сверху вниз.

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

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