Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры информатика 2012.doc
Скачиваний:
16
Добавлен:
17.04.2019
Размер:
11.54 Mб
Скачать

1. Свойства и этапы построения алгоритма.

Алгоритм – строгая система правил и определенная последовательность действий над объектами.

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

Свойства:

  1. Результативность— Алгоритм имеет некоторое число входных величин – аргументов. Цель выполнения алгоритма –получение конкретного результата, имеющего вполне определенное отношение к исходным данным.

  2. Определённость – Каждый шаг алгоритма для решения должен быть четко и недвусмысленно определен, не должен допускать произвольной трактовки

  3. Массовость- Можно применять один и тот же алгоритм для решения множества однотипных задач, различающихся данными

  4. Дискретность — Алгоритм представлен в виде конечной последовательности шагов: решение задачи алгоритм сводит к решению отдельных более простых задач.

  5. Эффективность – алгоритм может быть выполнен не просто за конечное, а за разумно конечное время.

  6. Конечность – Действуя в соответствии с алгоритмом, за конечное число шагов обязательно получается решение задачи. Строится бесконечный, сходящийся к искомому решению процесс. Он обрывается на некотором шаге, и полученное значение принимается за приближенное решение рассматриваемой задачи. Точность приближения зависит от числа шагов.

  7. Компактность – это свойство предполагает лаконичность

2.Постановка задачи. Разработка модели. Построение алгоритма.

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

  • 1. Понятна ли терминология?

  • 2.Что дано?

  • 3.Что следует найти?

  • 4. Как определить решение?

  • 5. Каких данных не хватает и все ли они необходимы?

  • 6. Являются ли какие-то имеющиеся данные бесполезными?

  • 7. Какие сделать допущения?

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

Построение модели и разработка алгоритма.

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

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