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


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



ЗНАЕТЕ ЛИ ВЫ?

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



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

 

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

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 тело цикла кц

 

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

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

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

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

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

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

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

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



Поделиться:


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

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