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


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



ЗНАЕТЕ ЛИ ВЫ?

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



 

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

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

Существуют следующие формы представления алгоритмов: словесная; графическая.

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

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

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

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

 

Таблица 1

Блоки структурной схемы

 

       
   
 
 


Процесс

(вычисления)

  а   Решение (проверка условия)   a   b  
Предопределенный процесс (подпрограмма) 0.15a   а     b   Ввод-вывод   a   b 0.25a
Соединительные линии       Модификация (начало цикла) a   a     b  

 

 

Продолжение табл. 1

       
 
   
 


Начало-конец

    0.5a     B   Комментарии     a    
Внутри-страничный соединитель   0.5a     Межстраничный соединитель 0.5a   0.5a    

 

Примечание. Значение a принимается из ряда чисел 10; 15; 20… мм; b = 1,5 a.

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

Алгоритм, записанный на языке программирования, называется программой.

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

– линейные (следование);

– разветвляющиеся;

– циклические (повторение).

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

Под оператором понимается формальная запись предписания для выполнения некоторой последовательности действий.

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

Циклическая структура – многократное выполнение одинаковой последовательности операторов.

Схемы алгоритмов. Для изображения схем алгоритмов разработан ГОСТ 19.701-90.

 

 
 

 

 


а б

 

 

в

 

Рис. 1. Базовые алгоритмические структуры: а – следование;

б – ветвление; в – цикл с предусловием

 

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

следование. Обозначает последовательное выполнение действий (рис. 1, а);

ветвление. Соответствует выбору одного из двух вариантов действий (рис. 1, б);

цикл с предусловием. Определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла (рис. 1, в).

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

выбор. Обозначает выбор одного варианта из нескольких в зависимости от значения некоторой величины (рис. 2);

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

– цикл с заданным числом повторений (цикл с параметром) (рис. 4).

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

 
 

 

 

 


Рис. 2. Структура алгоритма выбора

 

 
 

 

 


Рис. 3. Структура цикла с постусловием

 

 
 


Рис. 4. Структура цикла с заданным числом повторений

Стиль программирования

 

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

Основные приемы эффективного программирования следующие.

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

2. Использовать постоянные (хорошо отработанные) приемы кодирования.

3. Применять разработку ПС сверху вниз, модульное программирование и структурное кодирование.

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

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

– линейная структура - последовательность двух и более операторов;

– разветвляющаяся структура - выбор одного из двух вариантов;

– циклическая структура - повторение, пока выполняется условие.

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

1.7. Комментарии, идентификаторы, оформление программ

 

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

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

Комментарии бывают вводными, блоковыми и операторными.

Вводные комментарии располагаются перед текстом программы, функции, процедуры. Полные вводные комментарии включают в себя:

– назначение программы;

– указание по вызову программы и ее использования;

– список и назначение основных переменных и массивов;

– указания по обмену с внешними устройствами и файлами;

– список используемых процедур и функций;

– наименование применяемых математических методов, ссылки на литературные источники, в которых содержится их описание;

– сведения о времени выполнения программы;

– специальные указания операторам;

– требуемый объем памяти;

– сведения об авторах, дата написания или последней версии программы.

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

Операторный комментарий описывает назначение отдельного оператора (комментарий с минимальной информацией).

Идентификаторы. Идентификаторы формируются по следующим правилам:

– осмысленность (имя напоминает соответствующую переменную в исходной программе);

– включение максимальной информации о данном объекте;

– исключение в аббревиатуре гласных из слова;

– использование префиксов или постфиксов.

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

«c» - тип char;

«h» - тип shortint;

«i» - тип integer;

«x», «y» - обозначение координат;

«b» - тип Boolean;

«w» - тип word;

«l» - тип longint;

«dw» - тип double word;

«fn» - function;

«s» - тип string;

«sz» - тип string, заканчивающийся символом конца строки «\0»;

«p» - тип указателя.

Следует избегать выбора подобных по написанию имен: AXIO (только буквы) и АХ10(буквы и цифры).

Если сокращают длину идентификатора, то пользуются принятыми стандартами на сокращение: каждое слово в имени подлежит сокращению, если общее количество слов более трех; в аббревиатуру всегда должны включаться начальные буквы слов (от 6 до 10); согласные важнее гласных; начало слова важнее его конца.

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

Для удобства и легкости чтения программы применяют отступы. Принято использовать не более 2-3 уровней вложенности, шаг отступа полагать равным 3-5 позициям. Последний уровень не должен выходить за рамки экрана.

В арифметических выражениях перенос выполняется после знака операции, в списках - после разделителя.

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

В одной строке обычно располагается 1 оператор.

Принято упорядочивать списки: последовательность элементов должна иметь определенную логику.

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

размер модуля 10-60 непустых строк,

размер имен 1-10 символов,

комментарии 15-25 % от размеров модуля,

длина строки 15-25 символов,

пробелы в строке 4-10.

Пример комментирования функции:

{ Вычисление тестовой функции F=x*x*x/(1+x+x*x). }

{ Параметры: x - аргумент функции. }

{ Возвращаемые значения: F - вычисленная функция. }

{ Используемые процедуры и функции: нет. }

{ Пример расчета функции в точке 0.1: Fx01:=F(0.1); }

{ Автор: Иванов А.С., 12.09.09 г. }

Function F(x: Real): Real;

begin

F:= sqr(x)*x/(1+x+sqr(x));

end;

 



Поделиться:


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

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