Алгоритм, его свойства. Виды алгоритмов. Формы записи алгоритмов

Автор работы: Пользователь скрыл имя, 12 Сентября 2013 в 14:39, реферат

Краткое описание

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

Вложенные файлы: 1 файл

Алгоритм.doc

— 76.50 Кб (Скачать файл)

Алгоритм, его свойства. Виды алгоритмов. Формы записи алгоритмов.

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

Алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению. Разработка алгоритма  является сложным и трудоемким процессом. Алгоритмизация – это техника  разработки (составления) алгоритма для решения задач на ЭВМ.

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

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

  1. Наличие ввода исходных данных.
  2. Наличие вывода результата выполнения.
  3. Однозначность (компьютер «понимает» только однозначные инструкции).
  4. Общность – алгоритм предназначен для решения некоторого класса задач.
  5. Корректность – алгоритм должен давать правильное решение задачи.
  6. Конечность – решение задачи должно быть получено за конечное число шагов.
  7. Эффективность – для решения задачи должны использоваться ограниченные ресурсы компьютера (процессорное время, объем оперативной памяти и т.д.).

Свойства алгоритма:

  1. Массовость – алгоритм должен описывать круг однотипных задач, исходные данные которых могут изменяться в определенных пределах.
  2. Детерминированность – это обусловленность всех шагов алгоритма потребностью решения данных задач. Свойство детерминированности выражается в том, что при заданных значениях параметров алгоритм выполняется формально, т.е. строго выполняется последовательностьдействий до появления результата.
  3. Понятность – предписания алгоритма должны быть сформулированы так, чтобы они понимались одинаково разработчиком и исполнителем, т.е. они должны быть однозначно понятны.
  4. Дискретность – четкое разделение всего пути решения задачи на отдельные этапы (шаги) так, чтобы ход выполнения алгоритма проходил поэтапно, вовремя корректируя действия исполнителя.
  5. Результативность – точное выполнение предписаний алгоритма должно привести к результату за n шагов, если правильно разработана исходная модель и сам алгоритм.

Всякий человек при  планировании деятельности обязательно  выполняет две операции:

  1. Оценивает исходные данные (создает исходную модель).
  2. Прогнозирует результат (прогнозирует какую-то конечную модель).

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

Несмотря на многообразие алгоритмов все они строятся из 3-х  типов алгоритмических структур.

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

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

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

Изобразительные средства для описания (представление) алгоритма

Для записи алгоритма  решения задачи применяются следующие  изобразительные способы их представления:

    • Словесно- формульное описание
    • Блок-схема (схема графических символов)
    • Алгоритмические языки
    • Операторные схемы
    • Псевдокод

Для записи алгоритма  существует общая методика:

    • Каждый алгоритм должен иметь имя, которое раскрывает его смысл.
    • Необходимо обозначить начало и конец алгоритма.
    • Описать входные и выходные данные.
    • Указать команды, которые позволяют выполнять определенные действия над выделенными данными

Общий вид алгоритма

Алгоритм: Название алгоритма

Описание данных

Начало

Команды

Конец

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

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

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

Каждый этап вычислительного  процесса  представляется геометрическими фигурами (блоками). Они делятся на арифметические или вычислительные (прямоугольник), логические (ромб) и блоки ввода-вывода данных (параллелограмм).

Основные блоки.

    Начало / конец алгоритма  



           Передача управления


            Ввод / вывод данных

  


          Блок  вычислений 


            Начало (заголовок) цикла


            Конец цикла


          нет


                      Ветвление



да

 

 

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

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

Операторные схемы алгоритмов. Суть этого способа описания алгоритма заключается в том, что каждый оператор обозначается буквой (например, А – арифметический оператор, Р – логический оператор и т.д.).

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

Псевдокод – система  команд абстрактной машины. Этот способ записи алгоритма с помощью операторов близких к алгоритмическим языкам.

Принципы  разработки алгоритмов и программ

Типы алгоритмических  процессов

По структуре выполнения алгоритмы и программы делятся  на три вида:

    • Линейные
    • Ветвящиеся
    • Циклические

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

Алгоритмы разветвляющейся  структуры

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

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

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

 

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

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

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

Алгоритм любой сложности  может быть представлен комбинацией  трех базовых структур:

  • следование;
  • ветвление (в полной и сокращенной форме);
  • цикл (с предусловием или постусловием).

Характерной особенностью этих структур является наличие у  них одного входа и одного выхода.

 

Линейный  алгоритм:

                               






 


                                             …






 

Разветвляющийся алгоритм:





                                                               нет


                                                     


                                                     да



                     





Циклический алгоритм:

                               






 


                                             …




                                                             да



                                                   нет   




 


Информация о работе Алгоритм, его свойства. Виды алгоритмов. Формы записи алгоритмов