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


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



ЗНАЕТЕ ЛИ ВЫ?

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



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

а) словесный (записи на естественном языке);

б) структурно-стилизованный (записи на языке псевдокода);

в) программный (тексты на языках программирования);

г) графический (схемы графических символов).

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

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

При таком словесном способе содержание алгоритма может быть следующим:

1) если числа равны, то необходимо взять любое из них в качестве ответа, в противном случае - продолжить выполнение алгоритма:

2) определить большее из чисел;

3) заменить большее число разностью большего и меньшего чисел;

4) повторить алгоритм с начала.

Структурно-стилизованный способ записи алгоритмов основан на формализованном представлении предписаний, задаваемых путем использования ограниченного набора типовых синтаксических конструкций. Такие средства описания алгоритмов часто называются псевдокодами. Разновидностью структурно-стилизованного способа описания алгоритмов является известный школьникам алгоритмический язык в русской нотации (АЯРН).

Пример. Приведем описанный на АЯРН алгоритм решения задачи об определении принадлежности точки D треугольнику ABC.

алг Определение принадлежности точки треугольнику (действ xА, yА, хВ,уВ, xС, yС, xD, yD целое z лит а);

арг xА, yА, хВ,уВ, xС, yС, xD, yD;

рез z,a;

нач

действ S1, S2, S3, S4

вычислить значение S1 равное площади гр-ка АВС

вычислить значение S2, равное площади тр-ка АВD

вычислить значение S3, равное площади тр-ка ACD

вычислить значение S4, равное площади гр-ка CDB

есл и S1 = S2+S3+S4

то z:= 1,

а:= "точка внутри треугольника",

иначе z:= О,

а:= "точка вне треугольника",

все

напечатать значение а:

кон

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

Пример. Программа на языке Бейсик перевода температуры из градусов Цельсия в градусы Фаренгейта.

PRINT "Перевод температуры из град. Цельсия в град. Фаренгейта"

PRINT "Укажите температуру в град. Цельсия"

INPUT С

6 IF С = 9999 THEN 7

F = С*1.8 +32

PRINT С, F

GOTO 6

7 END

Для графического изображения алгоритмов используются графические символы. Наиболее распространёнными являются блочные символы (блоки), соединяемые линиями передач управления. Схемы алгоритмов и программ входят в состав программной документации и оформляются в соответствии с ГОСТ 19.701 – 90 (ИСО 5807 – 85) "Схемы алгоритмов, программ, данных и систем" (взамен ГОСТ 19.002-80, 19.003-80). При этом используются условные графические обозначения (УГО), которые вписываются в прямоугольник (см. рисунок 1.1). Стороны прямоугольника имеют следующие размеры:

a = 10, 15, 20 и т.д. через 5 мм, b = 1,5а или b = 2a.

Схемы могут быть представлены также в виде структограмм или по имени их авторов диаграммами Нэсси – Шнейдермана (см. рисунок 1.2),.

 

 

Рисунок 1.2 - Схема и структограмма перевода температуры из шкалы Цельсия в шкалу Фаренгейта

Схемы алгоритма

Схема алгоритма представляет собой совокупность УГО, соединенных линиями связи. Все линии на схеме (контуры элементов и соединения) имеют одинаковую толщину. Схема начинается блоком "Начало" и заканчивается блоком "Конец". Для каждого элемента схемы должно выполняться условие: существует, по крайней мере, один путь от блока "Начало" до блока "Конец", проходящий через этот элемент.

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

Таблица 1 - Блоки для изображения схем алгоритмов и программ

Наименование Обозначение Действие
y=x2
Процесс

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

 

 


Программная документация должна содержать не только схемы алгоритмов, но и их описание. При этом могут описываться действия, выполняемые отдельными блоками или группами блоков. Для удобства ссылок элементы схем могут нумероваться. При этом блоки «Начало» и «Конец» не нумеруются.

Другим способом обозначения блоков является разбиение листа, на котором изображается схема, на прямоугольные зоны. Границы зон обозначаются черточками на границах листа. Размеры зон пропорциональны размеру "a" стороны основного прямоугольника, показанного на рис. 4 (обычно в 2 раза больше). Столбцы зон обозначаются цифрами, а строки – заглавными латинскими буквами. Блоки располагают посредине каждой зоны и обозначают сочетанием букв и цифр их зон, например, A1, B1 и т.д.

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

Структуры алгоритмов

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

Алгоритм линейной структуры

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

Пример 1.1 Ввести длины a, b, c трех сторон треугольника. Вычислить его площадь, используя формулу Герона: S=(p*(p-a)(p-b)(p-c))½, где p – полупериметр треугольника (р=(а+b+c)/2). Для того чтобы рассчитать S, необходимо иметь численные значения р, а, b, c. Можно рассчитать р по формуле, а вот значения а, b, c должны быть заданы заранее, иначе задачу решить невозможно.

Пример 1.2 Вычислить значение функций Y и Z. Исходные данные: a, b, c. Y и X должны быть определены раньше, чем Y и Z так как входят в расчетную формулу для Y и для Z.



Поделиться:


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

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