русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

О С Т И Л Е П Р О Г Р А М М И Р О В А Н И Я


Дата добавления: 2014-11-27; просмотров: 647; Нарушение авторских прав


 

Программу MakeArray (пример 2 предыдущего раздела) можно было бы написать следующим образом:

 

Program MakeArray1; Const Nmax=500;Type Ar1=array[1..Nmax] of

real;Ar2=array[1..Nmax] of word;Var i,n:word;X:Ar1;Y:Ar2;

Function Elem(k:word):word;Var p:word;Begin p:=0;For i:=1 to

n do If x[i]>x[k] then Inc(p);Elem:=p;End;Begin В в о д n, X

For i:=1 to n do y[i]:=Elem(i); П е ч а т ь Y End.

 

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

 

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

Исходный текст программы MakeArray1 занимает меньший объем памяти на диске по сравнению с программой MakeArray, однако это не должно служить критерием для выбора формы ее представления. Если возникает противоречие между экономией машинных ресурсов и читабельностью программы, то в этом случае нужно руководствоваться следующим: рабочее время программиста значительно дороже машинных ресурсов.

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

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



1) Заголовки модуля и его секций, заголовки программы и каждого ее раздела (разделы Label, Const, Type, Var, раздел описания процедур и функций, раздел операторов) начинать с первой позиции строки.

2) После заголовка модуля (Unit) указывать в комментарии основное назначение входящих в модуль процедур и функций.

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

4) Длинные тексты программы разделять комментариями на фрагменты. В комментарии кратко описывать работу фрагмента.

5) После объявления имени переменной в комментарии описывать назначение переменной.

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

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

8) В качестве символов комментария использовать только фигурные скобки.

9) Каждое слово Begin начинать с новой строки.

10) Каждое слово Endзаписывать с новой строки строго с той позиции, с которой начинается относящееся к нему слово Begin, Case или record.

11) Текст программы между словами Begin и End, Case и End, Recordи Endдолжен быть сдвинут на один отступ вправо. Отступ равен двум позициям строки.

12) Текст программы после слов do, then, else должен начинаться с новой строки, сдвинутой на один отступ вправо.

13) Каждое слово else должно быть расположено под тем словом if, к которому оно относится.

14) Разделы описания, как правило, располагать в порядке, предусмотренном стандартным языком Паскаль: Label, Const, Type, Var, описание процедур и функций.

15) Имена переменных записывать, как правило, с большой буквы.

16) Имена переменных в программе в общем случае не должны отличаться от обозначений, принятых в исходной постановке задачи. Например, было бы нелогично обозначать в программе ускорение свободного падения именем Z вместо общепринятого обозначения g, даже снабдив это имя комментарием.

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

18) Длина строки программы не должна превышать 68 символов (для печати текста программы стандартным шрифтом на бумаге формата А4).

19) Оператор Goto разрешается применять в программе в двух случаях:

- для принудительного выхода из цикла;

- для перехода к далеко отстоящему фрагменту программы.

Совершенно недопустимо использовать оператор Gotoдля перехода снизу вверх.

Если оператор Goto производит переход на конец процедуры или функции, то его целесообразно заменить оператором Exit, а для принудительного выхода из цикла использовать оператор Break.

20) В программе вместо значений констант использовать, как правило, имена констант.

21) В разделе описания переменных использовать имена типов, а не описания типов. Например, вместо описания

Var A : array[1..100] of string[40];

целесообразно использовать описание

ConstNmax = 100;

Type string40 = string[40];

Ar = array[1..Nmax] of string40;

Var A : Ar;

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

22) Следует избегать различных программных "трюков", затрудняющих понимание программы.

Например, трудно понять работу такого фрагмента:

Varx,y,z,w : real;

......

If x>y then

w:=0

Else

w:=y-x;

z:=x+w;

Оказывается, это вычисление значения, равного большему из двух чисел: x и y.

В данном случае целесообразно написать:

If x>y then

z:=x

Else

z:=y;

 

Второй пример.

Для обмена значений двух переменных иногда записывают:

x:=x-y; y:=x+y; x:=y-x;

вместо более ясной схемы обмена "по треугольнику":

z:=x; x:=y; y:=z .

 

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

 

 



<== предыдущая лекция | следующая лекция ==>
С П И С К И П А Р А М Е Т Р О В | ТОЖДЕСТВЕННЫЕ И СОВМЕСТИМЫЕ ТИПЫ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.028 сек.