Высокоуровневые методы информатики и программирования. Степанов А.Г. - 60 стр.

UptoLike

Составители: 

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