- Алгоритм и его свойства?
Последовательность
действий , которые необходимо выполнить
для решения определённой задачи или
получения результата.
Свойства:
Дискретность
– алгоритм представлен как последовательное
выполнение простых (или ранее определённых)
шагов. Новое действие исполняется по
окончании предыдущего.
Определённость
– каждое действие однозначно
интерпретируется , читается.
Результативность
(конечность) – решение задачи осуществляется
конечным набором действий.
Массовость
– если алгоритм разработан в общем виде
, то он должен быть применим для
определённого класса задач , различающихся
только входными данными.
- Принципы структурного программирования Дейкстры?
Отказ
от использования оператора безусловного
перехода.
Программа строится на
основе трёх базовых конструкций :
действие , условие , цикл.
Базовые
конструкции могут быть вложены друг в
друга в произвольной форме и неограниченном
количестве.
Повторяющиеся
фрагменты желательно оформлять в виде
подпрограмм.
Логически
законченные группы инструкций желательно
объединять в блоки.
Все
перечисленные конструкции должны иметь
один вход и один выход. Разработка
программы ведётся пошагово , используя
метод «сверху-вниз».
Метод
«сверху-вниз»
При разработке алгоритма
первоначально реализуется основной
управляющий алгоритм без детализации
функциональных элементов , которые
заменяются функциями-заглушками ,
возвращающими постоянное значение. По
мере разработки такие функции реализуются
своим алгоритмом , вызывающим , при
необходимости , другие функции-заглушки.
Разработка
считается завершённой , когда все
функции-заглушки реализованы в виде
набора базовых конструкций.
- Рекурсия?
Рекурсией
называется вызов функцией самой себя
, с некоторым изменением входных
параметров.
Пример:
1!=1
2!=2*1!
3!=3*2!
и
т.д.
Условие
для использования рекурсии – наличие
базы рекурсии – значений , которые
зависят только от входного параметра
и позволяют выйти из рекурсии.
В
примере , база рекурсии , это 1!