Студопедия  
Главная страница | Контакты | Случайная страница

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

Структурное программирование

Читайте также:
  1. I. Программирование на CF Pascal
  2. PPUZKK 4230-программирование и прогнозирование урожаев зерновых культур и картофеля
  3. PPUZKK 4230-программирование и прогнозирование урожаев зерновых культур и картофеля
  4. VII.Модульное программирование.
  5. Алгоритмизация и программирование
  6. Введение в программирование для Windows
  7. Введение в программирование на языке Pascal Работа с величинами. Ввод-вывод Выражения. Линейные алгоритмы
  8. Вопрос33. Нелинейное программирование. Метод Лагранжа.
  9. Информатика и программирование
  10. Линейное программирование

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

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

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

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

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

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

Взаимодействие подпрограмм происходит с помощью обмена данными.

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

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

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

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

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

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

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

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

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

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

Примеры вопросов

1. Подпрограммой является:

• рекурсивный вызов в функции;

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

• часть операторов основной программы, выполняющихся как повторение цикла;

• скомпилированный исполняемый файл основной программы?

2. Подпрограммам НЕ СВОЙСТВЕННО:

• уменьшение общего объема программы;

усложнение понимания работы программы;

• структурирование программы;

• упрощение читабельности программы?

3. Основой метода структурного программирования являются:

принцип модульности разработки сложных программ;

использование композиции трех базовых элементов — линейной, ветвления и циклической структур;

• использование композиции двух базовых элементов — ветвления и циклической структур;

• использование большого количества подпрограмм?

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

• глобальными;

• абсолютными;

фактическими;

• постоянными?

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

обращение подпрограммы к самой себе;

• удаление подпрограммой самой себя;

• заражение подпрограммой самой себя;

• размножение подпрограммой самой себя?




Дата добавления: 2014-12-23; просмотров: 91 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав