ВУЗ:
Составители:
Рубрика:
10
implementation
uses SysUtils;
// Здесь размещается реализация подпрограмм,
// приведенная в примере 1.1.1.
end.
5. Последнее, что нам необходимо сделать, это разработать де-
монстрационную программу. Ее код может выглядеть примерно так.
Пример 1.1.3. Демонстрационная программа для задачи 1.1.
program TestIVector;
{$APPTYPE CONSOLE}
uses UnitIVector in 'UnitIVector.pas';
var v1, v2, v3, v4: IVector; i: Integer;
begin
for i:=1 to Dim do begin
v1[i]:=i+1; v2[i]:=i+2;
end;
WriteLn('v1: '+AsString(v1));
WriteLn('v2: '+AsString(v2));
WriteLn('GetLength(v1): ', GetLength(v1):5:5);
v3:=Plus(v1, v2); WriteLn('v3 after v3:=Plus(v1, v2): '+AsString(v3));
Add(v1, v2); WriteLn('v1 after Add(v1, v2): '+AsString(v1));
if AreEqual(v1, v3)
then WriteLn('v1 is equal to v3')
else WriteLn('v1 is not equal to v3');
Assign(v4, v2); WriteLn('v4 after Assign(v4, v2): '+AsString(v4));
Subtract(v4, v1);
WriteLn('v2 after v4.Subtract(v1): '+AsString(v2));
WriteLn('v4 after v4.Subtract(v1): '+AsString(v4));
WriteLn('ScalarProduct(v2, v4): ', ScalarProduct(v2, v4));
ReadLn;
end.
После подключения модуля UnitIVector константа Dim, тип IVector
и под программы библиотеки становятся доступны так же, как если бы
они были объявлены в самой программе. В основном блоке после ини-
циал изации компонент векторов v 1 и v 2 над этими векторами выполня-
ется ряд операций, каждая из которых завершается выводом результата
на экран. Строка
WriteLn('v2 after v4.Subtract(v1): '+AsString(v2));
показывает, что после присваивания Assign(v4, v2) вектор ы v 2 и v 4 ос -
implementation uses SysUtils; // Здесь размещается реализация подпрограмм, // приведенная в примере 1.1.1. end. 5. Пос л ед нее, что нам необход им о с д ел ат ь , это раз работ ат ь д е- м онс т рац ионную програм м у. Е е код м ожет в ы гл яд ет ь прим ернот ак. Пример1.1.3. Дем онс т рац ионная програм м а д л я з ад ачи 1.1. program TestIVector; {$APPTYPE CONSOLE} uses UnitIVector in 'UnitIVector.pas'; var v1, v2, v3, v4: IVector; i: Integer; begin for i:=1 to Dim do begin v1[i]:=i+1; v2[i]:=i+2; end; WriteLn('v1: '+AsString(v1)); WriteLn('v2: '+AsString(v2)); WriteLn('GetLength(v1): ', GetLength(v1):5:5); v3:=Plus(v1, v2); WriteLn('v3 after v3:=Plus(v1, v2): '+AsString(v3)); Add(v1, v2); WriteLn('v1 after Add(v1, v2): '+AsString(v1)); if AreEqual(v1, v3) then WriteLn('v1 is equal to v3') else WriteLn('v1 is not equal to v3'); Assign(v4, v2); WriteLn('v4 after Assign(v4, v2): '+AsString(v4)); Subtract(v4, v1); WriteLn('v2 after v4.Subtract(v1): '+AsString(v2)); WriteLn('v4 after v4.Subtract(v1): '+AsString(v4)); WriteLn('ScalarProduct(v2, v4): ', ScalarProduct(v2, v4)); ReadLn; end. Пос л е под кл ючения м од ул я UnitIVector конс т ант а Dim, т ип IVector и под програм м ы библ иот еки с т анов ят с я д ос т упны т ак же, как ес л и бы они бы л и объяв л ены в с ам ой програм м е. В ос нов ном бл оке пос л е ини- ц иал из ац ии ком понент в ект оров v1 и v2 над эт им и в ект орам и в ы пол ня- ет с я ряд операц ий, кажд ая из которы х з ав ершает с я в ы в од ом рез ул ь т ат а на экран. С т рока WriteLn('v2 after v4.Subtract(v1): '+AsString(v2)); показ ы в ает, что пос л е прис в аив ания Assign(v4, v2) в екторы v2 и v4 ос - 10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »