Студопедия

Главная страница Случайная страница

Разделы сайта

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






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






 

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

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

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

 

Подпрограммы-функции.

 

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

Стандартный вид описания функции:

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

Begin

тело функции;

End;

 

Здесь зарезервированное слово function показывает, что далее следует описание функции. Идентификатор осуществляет именование функции. Список параметров – это список переменных, используемых для передачи данных в подпрограмму-функцию. Тип – это тип значения, носителем которого является идентификатор функции. Это значение, которое будет возвращать функция.

Внутренняя структура функции аналогична структуре программы, т.е. сначала идет раздел описаний (uses, type, const, var), а затем тело функции (begin…end).

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

Следует обратить внимание, что функция возвращает единственное значение, носителем которого является имя функции!

Обращение к подпрограмме-функции производится просто путем указания имени функции в составе какого-либо выражения (например: оператора присваивания или логического условия).

Рассмотрим пример:

составить программу для вычисления выражения: z=axn+bxa+cym, где a, x, n, b, c, y, m – целые числа. Вычисление степени оформить в виде функции.

Uses Crt;

Function step (k, s: Word): Word;

Var i, f: word;

Begin

f: =1;

for i: =1 to s do

f: =f*k;

step: =f;

end;

Var z, a, b, c, n, m, y, x: Word;

Begin

Write (‘Введите числа a, b, c, n, m, y, x: ’);

Readln (a, b, c, n, m, y, x);

z: =a*step(x, n)+b*step(x, a)+c*step(y, m);

Writeln (‘z=’, z);

End.

 

результат выполнения программы:

 

Введите числа a, b, c, n, m, y, x: 2 1 1 2 3 2 2

z=20

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.