среда, 28 сентября 2011 г.

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


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


1.Понятие алгоритма, являющееся фундаментальным в математике и информатике, возникло задолго до появления средств вычислительной техники. Слово «алгоритм» появилось в средние века, когда европейцы познакомились со способами выполнения арифметических действий в десятичной системе счисления, описанными узбекским математиком Муххамедом бен Аль-Хорезми .Слово алгоритм - есть результат европейского произношения слов Аль-Хорезми.Первоначально под алгоритмом понимали способ выполнения арифметических действий над десятичными числами. В дальнейшем это понятие стали использовать для обозначения любой последовательности действий, приводящей к решению поставленной задачи.Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.).Значение слова «алгоритм» очень схоже со значениями слов «рецепт», «метод», «процесс».

2. а) Алгоритм - это точная конечная система правил, определяющая содержание и порядок действий исполнителя над некоторыми объектами (исходными и промежуточными данными) для получения (после конечного числа шагов) искомого результата.
б) Алгоритм – система правил, сформулированная на понятном исполнителю языке, которая определяет процесс перехода от допустимых исходных данных к некоторому результату и обладает свойствами массовости, конечности, определенности, детерминированности.
в) Алгори́тм, от имени учёного аль-Хорезми (перс. خوارزمی‎ [al-Khwārazmī]) — точный набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное время.

3. Формы представления алгоритмов:
-словесная (записи на естественном языке);
-графическая (изображения из графических символов);
-псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
-программная (тексты на языках программирования).

4. Базовые алгоритмические структуры:
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Естественно, что при таком подходе к алгоритмам изучение основных принципов их конструирования должно начинаться с изучения этих базовых элементов.
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, цикл, ветвление.
Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.
1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим.
2. Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
 3. Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах: если—то; если—то—иначе;
а) если—то: обеспечивает ветвление (не полная форма). Если условие истинно, то выполняются действия, указанные в списке. If (если).
б) если—то—иначе: обеспечивает ветвление (полная форма). Если условие истинно, то выполняется первое действие, если условие ложно – выполняется второе действие. (Ifelse - иначе).

5. При разработке алгоритма используют следующие основные принципы:
1) Принцип поэтапной детализации алгоритма (другое название — "проектирование сверху-вниз").
2) Принцип "от главного к второстепенному", предполагающий составление алгоритма, начиная с главной конструкции.
3) Принцип структурирования, т.е. использования только типовых алгоритмических структур при построении алгоритма.

6.  Принцип поэтапной детализации алгоритма (другое название — "проектирование сверху-вниз").  Этот принцип предполагает первоначальную разработку алгоритма в виде укрупненных блоков (разбиение задачи на подзадачи) и их постепенную детализацию.

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