Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Тема 6. Основы модульного программирования

Читайте также:
  1. V1: {{1}} 1.Основы менеджмента
  2. Административно-правовые основы лицензионно- разрешительной системы.
  3. Б. ОСНОВЫ ТЕХНИКИ ПЕРЕДВИЖЕНИЯ НА ЛЫЖАХ
  4. Виды травматизма, их характеристика и основы профилактики.
  5. ВОЕННО-ПОЛИТИЧЕСКИЕ ОСНОВЫ ВОЕННОЙ БЕЗОПАСНОСТИ
  6. ВОЕННО-СТРАТЕГИЧЕСКИЕ ОСНОВЫ ВОЕННОЙ БЕЗОПАСНОСТИ
  7. Вопрос 10. Правовые основы специального образования

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

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

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

- модуль - это независимый блок, код (текст) которого физически и логически отделен от кода других модулей;

- модуль выполняет только одну логическую функцию, иначе говоря, должен решать самостоятельную задачу своего уровня по принципу: один программный модуль - одна логическая функция;

- работа программного модуля не должна зависеть:

§ от входных данных;

§ от того, какому программному модулю предназначены его выходные данные;

§ от предыстории вызовов программного модуля;

- размер программного модуля желательно ограничивать одной - двумя страницами исходного листинга (50-100 строк исходного кода);

- модуль должен иметь только одну входную и одну выходную точку;

- взаимосвязи между модулями устанавливаются по иерархической структуре;

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

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

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

- идентификаторы переменных и модулей должны быть смысловыми, «говорящими»;

- в одной строке стоит записывать не более одного оператора. Если для записи оператора требуется больше, чем одна строка, то все последующие операторы записываются с отступами;

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

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

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

Подпрограммы

Простейшим видом модуля является подпрограмма.

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

Использование подпрограмм позволяет решить следующие задачи:

- избавляет от необходимости многократно повторять в тексте программы аналогичные фрагменты;

- улучшает читабельность текста программы, позволяя легче выявить ее логическую структуру и скрывая подробности вычислений (то есть повышается слепень абстрагирования);

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

- в общем случае уменьшает объем используемой памяти ЭВМ;

- сокращает время отладки программы;

Существует два основных критерия создания подпрограммы.

  1. Если некоторая последовательность действий встречается в программе более одного раза, следует выделить ее в подпрограмму.
  2. Если последовательность действий встречается один раз, но может быть функционально объединена в единое целое, то следует выделять ее в подпрограмму. Этот критерий менее четкий чем предыдущий. Тем не менее, его полезно использовать в следующих случаях:

1. если программа длинная: очевидно, что объем незначительно увеличится, но сама программа станет более читабельной. (Это примерно похоже на программы дисциплины на темы).

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

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

Все подпрограммы имеют следующие свойства:

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

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

3. Главной называется программа (подпрограмма), которая вызывается операционной системой.

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

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

 

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


Дата добавления: 2015-11-30; просмотров: 22 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)