Понятие алгоритма и его свойства. Способы записи алгоритмов. 


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



ЗНАЕТЕ ЛИ ВЫ?

Понятие алгоритма и его свойства. Способы записи алгоритмов.



Основы алгоритмизации

Понятие алгоритма и его свойства. Способы записи алгоритмов.

Алгоритм — это точно определенное (формальное) описание способа решения задачи в виде конечной последовательности действий.

Исполнитель алгоритма – это тот объект, для управления которым составлен алгоритм.

В качестве исполнителей алгоритма могут выступать человек и различные устройства: механические, электрические, электронно-вычислительные машины (ЭВМ) и т.д.

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

· дискретность — представление алгоритма в виде последовательности шагов;

· массовость — применимость алгоритма к некоторому множеству исходных данных;

· результативность – получение результата за конечное число шагов

· однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.

Способы записи алгоритмов:

· на естественном языке (словесная форма),

· графически в виде блок-схем

· на псевдокоде,

· на языках программирования.

Достоинством записи алгоритма на естественном языке является доступность для понимания его любым человеком.

Недостатки записи алгоритмов на естественном языке состоят в громоздкости записи, ненаглядности, неточности и многозначности.

Преимущество блок-схем – в наглядности алгоритма.

Для изображения алгоритмов будем использовать блок-схемы, формируемые из типовых блоков, показанных на рис. 1.

 

 

Одним из распространенных способов представления алгоритма является псевдокод.

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

Общая форма Записи алгоритма на псевдокоде

Алгоритм< название > Начало < последовательность действий > Конец

 

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

o операция присваивания вида < переменная >:= < выражение >

o операция ввода/вывода

ввод (список ввода)
вывод (список вывода).

Смысл операции присваивания состоит в вычислении результата выражения, стоящего справа от знака “:= “, для конкретных значений входящих в него переменных и присваивании этого результата переменной, стоящей слева от знака “:= “, например:

D:= 5

D:= D+1

Min:= C

При выполнении операции ввода ввод (A, B, C) переменным из списка ввода A, B и C присваиваются конкретные значения, вводимые с клавиатуры, например:

-5 7 20 {Enter}

В результате в памяти получим:

A = -5, B = 7, C = 20.

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

вывод (A, B, C, 10)

На экране получим:

- 5 7 20 10

 

Примером псевдокода является алгоритмический язык в русской нотации.

 

Общая форма Записи алгоритма на алгоритмическом языке:

алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин| последовательность команд (тело алгоритма) кон

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

Пример

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

Исходные данные: A, B, C - длины сторон треугольника
Результат: S - площадь треугольника.
Метод решения:

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

Алгоритм Линейная структура (площадь треугольника)

Начало

ввод (A, B, C)

вывод S

Конец

 

 

Для записи алгоритмов могут использоваться специальные искусственные языки – языки программирования.,

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

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

Классификация алгоритмов

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

  Словесное описание Алгоритмический язык Блок-схема
Линейный   алгоритм, в котором все действия выполняются однократно в строго определенной последовательности (базовая структура следование) действие 1 действие 2......... действие n
Ветвящийся алгоритм, в котором в зависимости от выполнения или невыполнения некоторых условий, выбирается один из нескольких возможных путей вычислительного процесса (базовая структура ветвление). При ветвлении происходит однократный проход по одной из ветвей решения задачи. Признаком ветвящегося алгоритма является наличие операций условного перехода, когда происходит проверка истинности некоторого логического выражения, и, в зависимости от истинности или ложности проверяемого условия, для выполнения выбирается та или иная ветвь алгоритма. Логическое выражение - это выражение, записанное с помощью операций сравнения: <, >, <=, >=, =, <>. При составлении условий можно использовать совокупность связанных между собой условий - составные условия. Для этого используются логические союзы "И" или "ИЛИ", частица "НЕ". .    
Структура ветвление существует в 4 вариантах 1) если-то если условие то действия все
  2) если-то-иначе если условие то действия 1 иначе действия 2 все
  3). выбор выбор при условие 1: действия 1 при условие 2: действия 2............ при условие N: действия N все
  4). выбор-иначе выбор при условие 1: действия 1 при условие 2: действия 2............ при условие N: действия N иначедействия N+1 все
Циклический алгоритм, который при каждом исполнении предписывает многократное выполнение одной и той же последовательности действий – тела цикла(базовая структура цикл).    
  цикл пока с предусловием – Серия шагов повторяется до тех пор, пока условие цикла истинно. нц пока условие тело цикла (последовательность действий) кц
  цикл "до" с постусловием– серия шагов выполняется до тех пор, пока условие цикла ложно нц тело цикла доусловие кц
  Цикл «для» (цикл с параметром)– предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. Цикл "для" используется для ситуаций, когда заранее известно количество повторений некоторых действий. нц для i от N1до N2 тело цикла кц

 

В языках программирования имеются команды, реализующие показанные выше структуры.

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

По способу исполнения выделяют также

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

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

Алгоритм может содержать обращение к самому себе как вспомогательному и в этом случае он называется рекурсивным.

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

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

Средства создания программ

В самом общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты.

1. Текстовый редактор - для набора исходного текста программы

2. Компилятор (COMPILER) - для перевода текста программы в машинный код. Если обнаружены синтаксические ошибки, то результирующий код создан не будет. Компилятор обычно выдает промежуточный объектный код. Объектный код обрабатывается специальной программой - редактором связей или сборщиком.

3. Редактор связей (LINKER) -для сборки нескольких откомпилированных модулей в одну программу (исполнимый код).

Исполнимый код — это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .ЕХЕ или .СОМ.

4. Библиотеки функций — для подключения стандартных функций к программе. Такие функции содержатся в библиотеках - файлах со стандартным расширением .LIB или .TPL, которые поставляются вместе с компилятором

5. Отладчик (DEBUGGER) – инструментальное средство для поиска и исправления ошибок.

Позволяет анализировать работу программы во время ее выполнения, дает возможность выполнить отдельные операторы по шагам.

 

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

Современные системы программирования включают в себя все указанные компоненты и называются интегрированными системами.

Исходный текст программы можно получить без записи его вручную в текстовом редакторе. Существуют системы визуального программирования — RAD -среды (Rapid Application Development), которые, не исключая возможности записи программы вручную, позволяют создавать текст программы автоматически, путем манипуляций со стандартными элементами управления, включенными в RAD-среду. Поэтому для RAD-среды понятие «программирование» часто заменяют понятием «проектирование».

 

Языки программирования

Основы алгоритмизации

Понятие алгоритма и его свойства. Способы записи алгоритмов.

Алгоритм — это точно определенное (формальное) описание способа решения задачи в виде конечной последовательности действий.

Исполнитель алгоритма – это тот объект, для управления которым составлен алгоритм.

В качестве исполнителей алгоритма могут выступать человек и различные устройства: механические, электрические, электронно-вычислительные машины (ЭВМ) и т.д.

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

· дискретность — представление алгоритма в виде последовательности шагов;

· массовость — применимость алгоритма к некоторому множеству исходных данных;

· результативность – получение результата за конечное число шагов

· однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.

Способы записи алгоритмов:

· на естественном языке (словесная форма),

· графически в виде блок-схем

· на псевдокоде,

· на языках программирования.

Достоинством записи алгоритма на естественном языке является доступность для понимания его любым человеком.

Недостатки записи алгоритмов на естественном языке состоят в громоздкости записи, ненаглядности, неточности и многозначности.

Преимущество блок-схем – в наглядности алгоритма.

Для изображения алгоритмов будем использовать блок-схемы, формируемые из типовых блоков, показанных на рис. 1.

 

 

Одним из распространенных способов представления алгоритма является псевдокод.

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



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 298; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.136.97.64 (0.036 с.)