Алгоритмы и основные алгоритмические структуры



Разработка эффективных алгоритмов обработки информации является одной из важнейших теоретических проблем информатики.

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

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

Основные характеристики алгоритмов: дискретность, определенность, конечность и универсальность.

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

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

Конечность (или результативность) алгоритма предполагает, что его исполнение сводится к выполнению конечного числа шагов и всегда приводит к некоторому результату. Один из возможных результатов, установление факта, что задача решения не имеет.

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

Формы представления алгоритмов: вербальная, построчная запись, блок-схема, запись на языке программирования.

Вербальная форма представления алгоритма – это словесное описание последовательности действий. Построчная запись имеет более четкое предписание чем вербальная форма. Блок-схема алгоритма – это самая наглядная и точная форма представления алгоритма в виде отдельных боков. Запись на языке программирования – это тоже одна из форм представления алгоритма.

Разработка алгоритмов

Разработка алгоритмов решения задачи на ЭВМ требует специальных навыков. Запись алгоритма должна быть понятной, наглядной и допускать возможности частичных изменений без существенной переделки всего алгоритма.

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

а) линейная     б) разветвляющая       в) циклическая

 

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

Представление алгоритмов в виде блок-схем

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

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

Начертания блоков Назначения блоков
Начало алгоритма
Конец алгоритма
Вычислительное действие
Проверка условий
Ввод данных, вывод данных
Начало цикла
Вызов вспомогательного алгоритма

 

Задачи обработки информации

Задачи обработки информации можно разделить на 4 класса.

  1. Детерминированные задачи. Это строго определенные и четко поставленные задачи. К ним относятся вычислительные задачи.
  2. Недетерминированные задачи. Это задачи с неполной информацией. В этих задачах неопределенность встречается как в условиях задачи так и в процессе их решения. К ним относятся задачи автоматического управления в условиях, когда заранее неизвестен ряд характеристик объекта управления и окружающей среды. Например , задача управления полетом самолета (ветер, воздушные ямы и т.д.).
  3. Интеллектуальные задачи. Решение таких задач требует формализации понятий и обработки знаний. Например, задача распознавания речи. Задача формулируется на символах определенного языка в данной предметной области.
  4. Эвристические задачи. Эти задачи связанны с имитацией и моделированием творческой деятельности человека. Алгоритмы их решения носят эвристический характер. Например, игра в шахматы, сочинение стихов.

Самыми массовыми задачами решаемыми на ЭВМ являются детерминированные задачи. Для решения детерминированных задач требуется пройти следующие этапы:

  1. Поиск метода решения задачи (Формализация).
  2. Разработка алгоритма.
  3. Написание программы на языке программирования.
  4. Ввод и отладка программы на ЭВМ.
  5. Анализ результатов решения задачи.

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


Дата добавления: 2020-12-12; просмотров: 181; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!