Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
румбешт без юрца.docx
Скачиваний:
4
Добавлен:
25.09.2019
Размер:
724.17 Кб
Скачать

17. Задачи и многообразие алгоритмов их решения

Этапы решения любой задачи можно изобразить в таком виде:

  1. Формулировка задачи

  2. Выбор метода решения

  3. Составление алгоритма

  4. Написание программы

  5. Решение задачи

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

Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно.

Разветвляющимся называют алгоритм в котором выбираются один или несколько возможных вариантов вычислительного процесса. Каждый подобный путь называют ветвью алгоритма. Признаком разветвляющегося алгоритма является наличие операции проверки условия. Условия могут быть простыми и составными. Простым условие является тогда, когда состоит из двух арифметических выражений или текстовых величин, соединенных знаками : =, ? , ? ,? , ? , ,? . Составное условие образуется соединением двух или более простых условий логическими операциями.

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

17.1 Правила построения алгоритма задачи.

Можно сформулировать общие правила построения алгоритма задачи:

  1. Выявить исходные данные, результаты, назначить им имена.

  2. Выбрать метод (порядок) решения задачи.

  3. Разбить метод решения задачи на отдельные этапы.

  4. Составить алгоритм выполнения каждого этапа.

  5. Обеспечить выдачу результатов или сообщение об их отсутствии и предусмотреть возможность после любой операции выхода из задачи.

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

* Научить читать и механически выполнять алгоритмы; * Проверить правильность трактовки операций или указаний алгоритма; * Проверить правильность составления алгоритма.

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

1. Обеспечить проверку выполнения всех операций алгоритма; 2. Свести количество вычислений к минимуму.