Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 343

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

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

Использование значения, которое задает тот или иной путь вычислений процедуры, целесообразно оформлять как тпараметр. В большинстве языков это означает необходимость передавать его как параметрзна­чение. Но не следует забывать и о механизмах передачи параметра по ссылке или как переменной, которые позволяют избежать дублирова­ния значения фактического параметра в локальном контексте. В част­ности, в С/С++ внешняя похожесть передачи массива на механизм параметровзначений не должна вводить в заблуждение на этот счет.

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

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

на Pascalследует помнить, что язык допускает лишь скалярные ре­зультаты функций, а потому ограничивает возможности применения данного средства.

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

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

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

Реклама