Readln(X,Y); Writeln( Power(X,Y )) End. — КиберПедия 

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

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

Readln(X,Y); Writeln( Power(X,Y )) End.

2017-07-01 264
Readln(X,Y); Writeln( Power(X,Y )) End. 0.00 из 5.00 0 оценок
Заказать работу

ПАРАМЕТРЫ СТРУКТУРИРОВАННЫХ ТИПОВ

Чтобы передать в подпрограмму массив (строку, запись,...), нужно сначала описать его тип. Следствие – возможные затраты памяти.

Type vector = array [1..100] of Real;

Procedure Sum (A: vector; Var B: vector); begin...end;

Открытые массивы:

Procedure Sum (A: array of Real; Var B: array of Real); Var i: Word;

begin for i:= 0 to High(A) do B[i]:= A[i]+B[i]

end;

Var A1,A2: array [1..100] of Real;

Begin

{инициализация массивов A1 и A2}

Sum(A1,A2);

{вывод A2} End.

РЕКУРСИЯ

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

Var {вычисление n!}

N: Word;

Function Fact (m: Word): Int64; begin if m = 0 then

Fact:= 1 else

Fact:= m*Fact(m-1) end;

Begin

Readln(N);

Writeln('n! = ',Fact(N)) End.

РЕКУРСИЯ

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

{вычисление n! итерационным методом}

Function Fact (m: Word): Int64;

Var

I: Word; P: Int64; begin P:= 1; if m = 0 then

Fact:= 1 else begin for I:= 1 to m do P:=P*I;

Fact:= P end

end;

ПРОЦЕДУРНЫЙ ТИП

Процедурный тип позволяет интерпретировать процедуры и функции как данные-объекты, которые можно использовать, в частности, при передаче параметров. Значением переменной процедурного типа является конкретная
процедура
или
функция
.
Type
идентификатор
типа
=
;
procedure
список
параметров
function
список
параметров
тип
результата
:


Билет 34. Процедурные типы. Параметры-функции и параметры-процедуры.

 

 

ПАРАМЕТРЫ-ФУНКЦИИ И ПАРАМЕТРЫ-ПРОЦЕДУРЫ

{вычисление интеграла функции}

Type

FuncType = Function (X: Real): Real;

Procedure Integral (LowerLimit, UpperLimit: Real;

Var Result: Real;

Funct: FuncType);

begin... end;

Function SinExp (Arg: Real): Real; begin

SinExp:= Sin(Arg) + Exp(Arg) end;

Var

Res: Real;

...

Begin...

Integral (0, 1, Res, SinExp);

...

End.

ПРОЦЕДУРА – ПОЛЕ ЗАПИСИ

Type

ProcType = Procedure;

RecType = record

X,Y: Integer; P: ProcType; end;

Var

Rec1,Rec2: RecType;

Procedure P1; begin

...

end;

Begin...

with Rec1 do P:= P1;... End.

Процедурные переменные совместимы с переменными типа Pointer (их значения – адреса). Процедуры и функции – это адреса.

СТАНДАРТНЫЕ МАТЕМАТИЧЕСКИЕ ФУНКЦИИ И ПРОЦЕДУРЫ

ABS(X) – возвращает абсолютное значение аргумента Х (Х – целое/вещественное, результат – как у аргумента);

SQR(X) – возвращает квадрат Х (Х – целое/вещественное, результат – как у аргумента);

SIN(X), COS(X), ArcTan(X) – возвращают значения синуса, косинуса и арктангенса

(Х – целое/вещественное, результат – Extended);

SQRТ(X) – возвращает квадратный корень из Х (Х > 0 – целое/вещественное, результат – Extended);

EXP(X), LN(X) – возвращает экспоненту или натуральный логарифм Х (Х – целое/вещественное, результат – Extended);

FRAC(X) – дробная часть числа Х (Х – целое/вещественное, результат – Extended);

INT(X) – целая часть числа Х (Х – целое/вещественное, результат – Extended);

TRUNC(X) – целая часть числа Х (Х – целое/вещественное, результат – Int64); ROUND(X) – округление Х до ближайшего целого (Х – целое/вещественное, результат – Int64);

СТАНДАРТНЫЕ МАТЕМАТИЧЕСКИЕ ФУНКЦИИ И ПРОЦЕДУРЫ

RANDOM(X) – возвращает случайное целое число из диапазона от 0 до Х (X и результат – Integer);

RANDOM – возвращает случайное число от 0 до 1 (результат – Extended); RANDOMIZE – процедура гарантирует несовпадение последовательностей случайных чисел, выдаваемых функцией Random;

ODD(X) – возвращает True, если Х – нечетное число, и False, если Х – четное (Х – целое, результат – Boolean);

INC(Var X: <целое>), DEC(Var X: <целое>) – увеличивает или уменьшает значение Х на 1 (процедуры);

INC(Var X: <целое>; N: <целое>), DEC(Var X: <целое>; N: <целое>) – увеличивает или уменьшает значение Х на N (процедуры);

Var

X: Integer;

Begin

X:= 2;

INC(X,4) {X  6}

End.


 

Билет 35. Модули. Структуры модуля.

 

 

МОДУЛИ

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

Unit <имя модуля>;

Interface

<секция интерфейса> Implementation

<секция реализации>

Initialization

<секция инициализации>

Finalization

<секция завершения> End.

Имя модуля (например, Unit_1) должно совпадать с именем дискового физического файла, в который помещается исходный текст модуля (unit_1.pas). Для подключения ресурсов модуля к другим программным единицам

(программа, модуль) необходимо указать его имя в спецификации Uses раздела описаний этой программной единицы (Uses Unit_1;).

МОДУЛИ

Unit Unit_1;

Interface

Type

Complex = record Re, Im: Real end;

Var

Zmain: Complex;

Procedure P_1 (X,Y: Complex; Var Z: Complex);

Implementation

Procedure P_1; begin

Z.Re:= X.Re + Y.Re;

Z.Im:= X.Im + Y.Im end;

Initialization

Zmain.Re:= 1; Zmain.Im:= -1 End.

СЕКЦИИ МОДУЛЯ

В интерфейсной секции содержатся объявления всех глобальных элементов модуля (типов, констант, переменных, функций, процедур), которые должны стать доступными основной программе и другим модулям, к которым подключен данный модуль. При объявлении глобальных подпрограмм указывается только их заголовок. Если при объявлении типов, данных и подпрограмм используются элементы, введенные в других модулях, то они должны быть указаны в разделе Uses сразу после слова Interface.

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

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

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

СТАНДАРТНЫЕ МОДУЛИ DELPHI PASCAL

Системные модули:

- SYSTEM – включает все стандартные математические процедуры и функции, обеспечивает работу с файлами, с динамической памятью, с другими модулями и т.д.; подключается автоматически к каждой программе.

- SYSUTILS – содержит дополнительные процедуры и функции для работы с файлами, дисками, строками, по обработке исключительных ситуаций и др.

- MATH – содержит множество дополнительных математических функций и процедур.

Модули визуальных компонентов (VCL – Visual Component Library) используются для визуальной разработки полнофункциональных GUIприложений - приложений с графическим пользовательским интерфейсом (Graphical User Interface).



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

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

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

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

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



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

0.028 с.