Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

МОДУЛЬ 2.6.03 Структурное программирование

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 18.5.2024

МОДУЛЬ 2.6.03 Структурное программирование. Модульный принцип программирования. Подпрограммы. Принципы проектирования программ сверху-вниз и снизу-вверх.

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

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

Структурное программирование – методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры модулей. Предложена в 70-х года XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.

Основные положения структурного программирования

  1.  Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
    •  последовательное исполнение – однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
    •  ветвление – однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
    •  цикл – многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

Структурное программирование часто называют «программированием без GOTO».

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

Принципы проектирования программ сверху-вниз и снизу-вверх

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

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

В данном случае программа конструируется иерархически - сверху вниз: от главной программы к подпрограммам самого нижнего уровня.

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

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

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

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

В простейшем случае подпрограмма представляет собой последовательность команд (операторов), отдельную от основной части программы и имеющую в конце специальную команду выхода из подпрограммы. Обычно подпрограмма также имеет имя, по которому её можно вызвать, хотя ряд языков программирования допускает использование и неименованных подпрограмм. В языках высокого уровня описание подпрограммы обычно состоит, по меньшей мере, из двух частей: заголовка и тела. Заголовок подпрограммы описывает её имя и, возможно, параметры, то есть содержит информацию, необходимую для вызова подпрограммы. Тело – набор операторов, который будет выполнен всякий раз, когда подпрограмма будет вызвана.

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

В нижеследующем примере на языке Pascal подпрограмма subprog вызывается из основной программы трижды:

program SubProgExample;

   procedure subprog; {Заголовок, включающий имя подпрограммы}

   begin {начало тела подпрограммы}

     WriteLn('Bye');

   end; {конец тела подпрограммы}

 begin

   WriteLn('Hello');

   subprog; {1-й вызов}

   subprog; {2-й вызов}

   subprog; {3-й вызов}

 end.

Результатом выполнения такой программы станет вывод строки «Hello» и трёх строк «Bye».

Назначение параметров

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

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

program SubProgExample2;

   procedure subprog(Line: String); {Заголовок, включающий имя подпрограммы}

   begin {начало тела подпрограммы}

     WriteLn(Line);

   end; {конец тела подпрограммы}

 begin

   WriteLn('Hello');

   subprog('Good bye,');{1-й вызов}

   subprog('my love,');   {2-й вызов}

   subprog('good bye!'); {3-й вызов}

 end.

В приведённом примере параметр Line подпрограммы subprog в каждом вызове получает различное значение, благодаря чему выводятся не одинаковые строки, а разные.

Чтобы отличать параметры подпрограммы, описанные в её заголовке и теле, от параметров, указываемых при вызове подпрограммы, первые принято называть формальными параметрами, вторые – фактическими параметрами. Так, в последнем примере параметр Line в заголовке и теле подпрограммы subprog – это формальный параметр, а строка 'Good bye' , использованная в первом вызове этой подпрограммы – фактический параметр. При вызове подпрограммы фактические параметры, указанные в команде вызова, становятся значениями соответствующих формальных параметров, чем и обеспечивается передача данных в подпрограмму.

Число и тип формальных и фактических параметров должны совпадать с точностью до их следования.

Формальные параметры могут параметрами-переменными и параметрами-значениями.

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

Параметры-переменные – передача параметров по ссылке. Это те формальные параметры, перед которыми стоит идентификатор Var . Передается адрес фактического параметра (обязательно переменной), после чего формальный параметр становиться его синонимом. Любые операции с формальным параметром выполняются непосредственно над фактическим параметром.




1.  Ботаника ~ наука о растениях
2. вариант 1 Камеди Gummi ~ гетерополисахариды с обязательным участием уроновых кисло D глюкуроновой Dгалакт
3. тема семинара- Философия и жизненный мир человека- 1
4. Форми державності та їх загальна характеристик
5. Тематика Программное содержание Тематика
6. 2 билета по информатики
7. темах различают дисперсную фазу мелкораздробленное вещество и дисперсионную среду однородное вещество
8. на тему- Транспортное обеспечение ВЭД между Россией и Германией Работу выполнил-
9. Методика использования схем и рисунков при изучении оптики в курсе физики средней школы
10. Приволжский федеральный округ современное состояние и перспективы развития(на примере Республики Татарстан)
11. рефератІ Характеристика джерела Приклад оформлення
12. Контрольная работа- Проблема происхождения христианства
13. Реферат- Открытие биосферы
14. Реферат- Философия языка в трудах Вильгельма фон Гумбольдта
15. Лизинговая форма аренды.
16. Расчет показателей пищевой ценности
17. на тему- Учение Платона об идеальном государстве Выполнил студент гр
18. СТАВРОПОЛЬСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ Кафедра бухгалтерского учета Утверждаю Ректор к
19. СевероОсетинский государственный педагогический институт Факультет управления Кафедра менедж
20. І. [1] Ви~трати виробни~цтва витрати різних видів економічних ресурсів сировини праці основних