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



ЗНАЕТЕ ЛИ ВЫ?

Графический способ записи алгоритма

Поиск

Существует государственный стандарт на выполнение графической запи- си алгоритма. Согласно ГОСТ 19.701-90 термин «схема» определяется как гра- фическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения операций, данных, потока, оборудования и т. д.

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

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

Правила выполнения и оформления блок-схем определяются следующи- ми документами. ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и сис- тем Условные обозначения и правила выполнения. ГОСТ 19.002-80. Схемы ал- горитмов и программ. Правила выполнения. ГОСТ 19.003-80. Схемы алгорит- мов и программ. Обозначения условные графические.

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

Основные графические блоки приведены в табл. 1. Стрелками указаны входы и выходы у каждого блока. Например, блок «Начало», не имеет входа и имеет один выход, у вычислительного блока – по одному входу и выходу, ус- ловный блок имеет один вход и два выхода.

 

 

1 Знаки операций соответственно обозначают: плюс, минус, умножить, делить, возвести в степень, больше, меньше, равно, неравно.


Таблица 1

 

Начало и завершение алгоритма

 

   

  Ввод

 

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

 

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

 

Вычислительное действие или по- следовательность действий
  Условный блок

 

Проверка заданного условия и пере- дача управления в зависимости от выполнения/невыполнения условия
    Блок модификации

 

Заголовок цикла с параметром
  Вспомогательный процесс

 

Вычисления по ранее составленному алгоритму, вызов вспомогательного алгоритма по его имени

 

Комментарии

 

 

Пояснения к алгоритму. Можно ис- пользовать для вставки в блок-схему описаний используемых в алгоритме переменных

     
Соединительные значки

 

Для соединения разрывов направленных линий
         

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

 

обозначает команду «вывести на экран сообщение «Введи-

те цену товара». Блок

 

 

обозначает команду «Ввод с клавиатуры значения пере-

менной Cost».

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

 

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

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

Условный блок используется для проверки условия. Блок имеет один вход и два выхода: «да»/«нет». В блоке записывается проверяемое условие. Если оно выполняется, то дальнейшие действия должны идти по стрелке «да», в против- ном случае, по стрелке «нет».

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

Блок «вспомогательный процесс» используется для обозначения вызова вспомогательного алгоритма (подпрограммы).

Существуют правила составления блок-схем.

1) Каждый алгоритм должен начинаться и оканчиваться соответственно блоками «Начало» и «Конец». Причем каждый из этих блоков должен встре- чаться только один раз.


2) Все блоки соединяются между собой линиями со стрелками, озна- чающими передачу управления.

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

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

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

«справа - налево» линии обязательно помечают стрелками.

6) Не допускается передача управления в никуда. «Источник» передачи управления и «получатель» должны быть четко обозначены.

7) Внутри блоков указывается информация об операциях, подлежащих выполнению.

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

Рассмотрим пример простейшего алгоритма. Опишем алгоритм решения Задачи 1 (с. 9) в виде блок-схемы и программы на АЯРН (см. блок-схему 1 и программу «Prog1»). Запишем еще раз формализованную постановку задачи.

Исходные данные: a – ширина комнаты (м), b – длина комнаты (м), h – высота стен (м), da – ширина двери (м), dh – высота двери (м), fa – ширина окна (м), fh – высота окна (м), nrk – норма расхода краски, (кг/м2), bo – ширина погонного метра обоев (м).

Выходные данные: kk – количество краски (кг), ko – количество обоев

(пог. м).

Рабочие переменные: sp – площадь пола, sd – площадь двери,

sf – площадь одного окна, ss – площадь стен.

Расчетные формулы: sp = a · b; sd = da · dh; sf = fa · fh; ss = 2(a · h) + 2(b · h) – 2sf – sd; kk = (sp + sd)·nrk; ko = ss / bo.


 

НАЧАЛО

 

ВЕЩЕСТВЕННОЕ a, b, h, da, dh, fa, fh, nrk, bo, sp, sd, sf, ss, kk, ko

ВВОД a, b, h, da, dh, fa, fh

 

ВВОД nrk, bo sp:= a*b

sd:= da*dh sf:= fa*fh

ss:= 2*(a*h)+2*(b*h)-2sf-sd

 

 

 

kk:= (sp+2*sd)*nrk ko:= ss/bo

 
       

 

ss:= 2*(a*h)+2*(b*h)-2sf-sd kk:=(sp+2*sd)*nrk

ko:=ss/bo

 

 

ВЫВОД kk, ko

 

КОНЕЦ.

 


Блок-схема 1


Программа Prog1


 

Комментарии к алгоритму. После блока «Начало» записаны два блока ввода исходных данных. Это не обязательно, но когда исходных данных много, ввод их удобнее разбивать на несколько отдельных операций. Далее идет по- следовательность операций присваивания, разбитых по отдельным блокам блок-схемы. Это разделение выполнено по принципу независимости вычисле- ний. Например, вычисление значений переменных sp, sd, sf не зависят друг от друга, поэтому соответствующие операции размещены в одном блоке. Вычис- ление же переменной ss возможно лишь тогда, когда будут вычислены значе- ния переменных sd и sf. С другой стороны, значение переменной ss должно быть известно для дальнейших вычислений, поэтому операция присваивания значения переменной ss записана в отдельном блоке. В алгоритме на АЯРН по- сле слова НАЧАЛО идет описание всех используемых в алгоритме перемен- ных. В блок-схемах это действие не записывается, хотя его можно обозначить комментариями к блок-схеме. Описанный алгоритм можно усовершенствовать, добавив в него блоки вывода сообщений для ведения диалога с пользователем программы, составленной по данному алгоритму.

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

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


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

- описание модели предметной области, т. е. выделение ее объектов, ус- тановление их свойств и отношений между ними;

- определение структуры исходных и выходных данных, а также проме- жуточных данных, получаемых в ходе вычислительного процесса или отбора данных;

- определение и описание процессов и действий, допустимых в предмет- ной области для решения конкретной задачи;

- выявление известных методов решения задачи.

- Построение алгоритма заключается в следующем:

- определяется точная последовательность выполнения действий, пред- писанных методом решения задачи;

- выбирается способ записи алгоритма;

- последовательность действий записывается по правилам этого способа.

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

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




Поделиться:


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

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