
- •1 Вопр .Понятие алгоритма. Свойства алгоритма
- •2 Вопр. Понятие алгоритма. Способы описания алгоритмов
- •3 Вопрос. Виды алгоритмов
- •4 Вопрос. Графический способ описания алгоритма
- •6 Вопрос. Принципы алгоритмизации
- •7 Вопрос. Принципы, лежащие в основе создания эффективных алгоритмов
- •8 Вопрос. Отладка алгоритмов. Тестирование алгоритмов.
- •9. Вопрос. Линейный алгоритм. Методика составления линейных алгоритмов
- •10. Вопрос. Разветвляющиеся алгоритмы. Методика составления разветвляющихся алгоритмов
- •11. Вопрос. Разветвляющиеся алгоритмы со сложным условием. Методика составления разветвляющихся алгоритмов со сложным условием
- •12. Вопрос. Циклические алгоритмы. Методика составления циклического алгоритма с одним условием
- •13 Вопрос. Вспомогательные алгоритмы
- •13. Вопрос. Рекурсивные алгоритмы.
- •14 Вопрос. Алгоритмы работы с массивами
6 Вопрос. Принципы алгоритмизации
На сегодняшний день самой популярной методикой программирования является структурное программирование "сверху – вниз". Эта технология программирования представляет собой процесс пошагово разбиения алгоритма на все более мелкие части с целью получить такие элементы, для которых можно легко написать конкретные предписания.
Структурная алгоритмизация основывается на двух принципах:
1) последовательная детализация "сверху - вниз";
2) ограниченность базового набора структур для построения алгоритмов любой степени сложности.
Из принципов вытекают требования структурного программирования:
1) программа должна составляться мелкими шагами, таким образом, сложная задача разбивается на достаточно простые, легко воспринимаемые части;
2) логика программы должна опираться на минимальное число достаточно простых базовых управляющих структур.
Базовый набор структурной алгоритмизации содержит линейные, разветвляющиеся и циклические структуры.
Можно перечислить основные свойства и достоинства структурного программирования:
1) возможность преодоления барьера сложности программ;
2) возможность демонстрации правильности программ на различных этапах решения задачи;
3) наглядность программ;
4) простота модификации программ.
7 Вопрос. Принципы, лежащие в основе создания эффективных алгоритмов
Разработке алгоритма предшествуют такие этапы, как формализация и моделирование задачи. Формализация предполагает замену словесной формулировки решаемой задачи краткими символьными обозначениями, близкими к обозначениям в языках программирования или к математическим.Моделирование задачи является важнейшим этапом, целью которого является поиск общей концепции решения. Обычно моделирование выполняется путем выдвижения гипотез решения задачи и их проверке любым рациональным способом (прикидочные расчеты, физическое моделирование и т.д.). Результатом каждой проверки является либо принятие гипотезы, либо отказ от нее и разработка новой.
При разработке алгоритма используют следующие основные принципы.
Принцип поэтапной детализации алгоритма (другое название — "проектирование сверху-вниз"). Этот принцип предполагает первоначальную разработку алгоритма в виде укрупненных блоков (разбиение задачи на подзадачи) и их постепенную детализацию.
Принцип "от главного к второстепенному", предполагающий составление алгоритма, начиная с главной конструкции. При этом, часто, приходится "достраивать" алгоритм в обратную сторону, например, от середины к началу.
Принцип структурирования, т.е. использования только типовых алгоритмических структур при построении алгоритма. Нетиповой структурой считается, например, циклическая конструкция, содержащая в теле цикла дополнительные выходы из цикла. В программировании нетиповые структуры появляются в результате злоупотребления командой безусловного перехода (GoTo). При этом программа хуже читается и труднее отлаживается.
|