Модульное программирование: реализация функций, локальные и глобальные переменные, виды параметров подпрограмм — КиберПедия 

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

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

Модульное программирование: реализация функций, локальные и глобальные переменные, виды параметров подпрограмм

2018-01-04 237
Модульное программирование: реализация функций, локальные и глобальные переменные, виды параметров подпрограмм 0.00 из 5.00 0 оценок
Заказать работу

Функция -это поименованный составной оператор, возвращающий единственное значение, имя которой задается служебным словом Function.

Функция, в отличии от процедуры, возвращает в вызывающую программу значение, т.е. результат ее работы. Это значение можно:

· присвоить переменной

· использовать в выражении

· передать в качестве параметра в процедуру или функцию.

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

Структура функции имеет следующий вид:

Function <имя функции>{(формальные параметры: их тип)}: <тип функции>;
{Var
(локальные переменные)}
begin
...

<имя функции>: =<выражение>
end;

Где:

Тип функции – простой порядковый тип, исключение - тип string. Если тип не стандартный, то его надо предварительно описать в разделе Type программы.

<имя функции>: =<выражение> - оператор, который осуществляет механизм возврата значения.

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

 

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

Рассмотрим отличие в использовании процедур и функций на примере нахождения НОД для трех чисел.

var x, y, z, nod:integer;

procedure pnod(m,n:integer; var nod:integer);

begin while m<>n do

if m>n then m:=m-n else n:=n-m;

nod:=m;

end;

function fnod(m,n:integer):integer;

begin while m<>n do

if m>n then m:=m-n else n:=n-m;

fnod:=m;

end;

begin writeln('input x,y,z');

readln(x,y,z);

{работа с процедурой}

pnod(x,y,nod);

pnod(nod,z,nod);

writeln(‘pnod=’,nod);

{работа с функцией}

Writeln (‘fnod=’, fnod(fnod(x,y),z));

End.

Модульное программирование: описание и использование модулей, стандартные модули в ЯП Паскаль.

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

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

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

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

Описание модулей

Исходный текст каждого модуля хранится в отдельном файле с расширением.pas. Общая структура модуля:

unit имя; { заголовок модуля }

interface { интерфейсная секция модуля }

{ описание глобальных элементов модуля (видимых извне) }

implementation { секция реализации модуля }

{ описание локальных (внутренних) элементов модуля }

begin { секция инициализации }

{ может отсутствовать }

end.

В Турбо Паскале имеется восемь стандартных модулей, в которых содержится большое число разнообразных типов, констант, процедур и функций. Этими модулями являются SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBOS и GRAPH3. Модули GRAPH, TURBOS и GRAPHS выделены в отдельные TPU-файлы, а остальные входят в состав библиотечного файла TURBO.TPL. Лишь один модуль SYSTEM подключается к любой программе автоматически, все остальные становятся доступны только после указания их имен в списке, следующем за словом USES.

Понятие и виды рекурсии. Примеры рекурсивных алгоритмов.

Рекурсия — это такая организация выполнения работы функции, при которой данная функция вызывает сама себя.

Виды:

Прямая рекурсия - вызов функцией самой себя делается непосредственно в этой же функции

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

Пример рекурсивного алгоритма:

Числа Фибоначчи

Function F(n:byte):longint;
begin
if n <= 1
then F:=1
else F:= F(n-1)+F(n-2)


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.