Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_программирования.doc
Скачиваний:
20
Добавлен:
22.02.2015
Размер:
169.98 Кб
Скачать

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

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

Нисходящее проектирование

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

  1. Небольшие подпрограммы проще отлаживать, что повышает общую надежность.

  2. Возможность повторного использования подпрограммы.

С интегрированными системами программирования поставляются большие библиотеки стандартных подпрограмм.

Процедуры и функции

Подпрограммы бывают двух видов — процедуры и функции. Процедура просто выполняет группу операторов. Функция в добавок вычисляет некоторые значения и передает его обратно в главную программу.

В C++ понятия «процедура» нет — там имеются только функции, а если никакого значения функция не вычисляет, то считается, что она возвращает значения типа «никакое» (void).

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

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

Управление последовательностью вызова подпрограмм

В Basic оператором CALL вызывается подпрограмма. Подпрограмма активизируется в момент их вызова.

Подпрограммы (ПП) могут быть вложенными — т.е. вызов других ПП не только из главной программы, но и из любых ПП.

Иногда бывает, что ПП вызывает сама себя — такой прием называется рекурсией. Опасен! - бесконечный самовызов.

Структура подпрограммы:

  • заголовок с параметрами;

  • тело (операторы);

  • завершение.

Функции

Basic

Pascal

C++

Заголовок функции

FUNCTION имя (список параметров)

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

function имя (список параметров): тип функции;

Тип функции

имя (список параметров)

Тело

последовательность операторов

begin

последовательность операторов

end;

{

последовательность операторов

};

Завершение

END FUNCTION

нет

нет

Процедуры

Basic

Pascal

C++

Заголовок процедуры

SUB имя (список параметров)

procedure имя (список параметров);

void имя (список параметров)

Тело

последовательность операторов

begin

последовательность операторов

end;

{

последовательность операторов

};

Завершение

END SUB

нет

нет

Как функция возвращает значение в основную программу? (в C++ - return) – т.е. специальный оператор или особая форма оператора присваивания: в левой части указывается имя функции, а справа - возвращаемое значение.

Basic

FUNCTION SQR% (X AS INTEGER)

SQR%=X*X

END FUNCTION

Pascal

function SQR (x: integer): integer;

begin

SQR:= X*X

end;

C++

int SQR (int x)

{

return x*x;

};