Введение в объектно-ориентированное программирование на языке Object Pascal. Соколов Е.В. - 12 стр.

UptoLike

Составители: 

12
В качестве примера рассмотрим небольшую программу, тести-
рующую библиотеку из предыдущего параграфа.
Пример 1.2. Тестовая программа для библиотеки из примера 1.1.
program TestRational;
{$APPTYPE CONSOLE} // директива компилятора, определяющая консольное
// приложение
uses UnitRational; // подключаем модуль нашей библиотеки
var
r1: Rational = (num: 1; den: 2);
r2: Rational = (num: -2; den: 6);
ra,rs,rm,rd: Rational;
{ Поскольку тип Rational объявлен в интерфейсной части модуля,
мы можем использовать его для объявления переменных. После
старта приложения переменные r1 и r2 инициализируются значениями
1/2 и -2/6. }
begin
ra:=Plus(r1,r2); // обращение к функциям и процедурам модуля
rs:=Minus(r1,r2); // осуществляется просто по их именам,
rm:=Dot(r1,r2); // однако допустимы и выражения вида
rd:=Slash(r1,r2); // ra:=UnitRational.Plus(r1,r2);
WriteLn('Plus: ',ra.num,'/',ra.den);
WriteLn('Minus: ',rs.num,'/',rs.den);
WriteLn('Dot: ',rm.num,'/',rm.den);
WriteLn('Slash: ',rd.num,'/',rd.den);
Add(ra,r2);
Subtract(rs,r2);
MultiplyBy(rm,r2);
DivideBy(rd,r2);
WriteLn('Add: ',ra.num,'/',ra.den);
WriteLn('Sub: ',rs.num,'/',rs.den);
WriteLn('Mul: ',rm.num,'/',rm.den);
WriteLn('Div: ',rd.num,'/',rd.den);
ReadLn; // ввод необходим только для предотвращения
// автоматического закрытия окна консоли
end.
В процессе работы программа выводит следующую информацию:
Plus: 1/6
Minus: 5/6
Dot: -1/6
Slash: -3/2
     В качес т в е прим ера рас с м от рим небол ь ш ую програм м у, т ес т и-
рующую библ иот еку из пред ы д ущегопараграфа.

Пример 1.2. Т ес тов ая програм м а д л я библ иот еки из прим ера 1.1.

program TestRational;
{$APPTYPE CONSOLE} // директива компилятора, определяющая консольное
                   // приложение
uses UnitRational; // подключаем модуль нашей библиотеки
var
  r1: Rational = (num: 1; den: 2);
  r2: Rational = (num: -2; den: 6);
  ra,rs,rm,rd: Rational;

{ Поскольку тип Rational объявлен в интерфейсной части модуля,
  мы можем использовать его для объявления переменных. После
  старта приложения переменные r1 и r2 инициализируются значениями
  1/2 и -2/6. }

begin
  ra:=Plus(r1,r2); // обращение к функциям и процедурам модуля
  rs:=Minus(r1,r2); // осуществляется просто по их именам,
  rm:=Dot(r1,r2);   // однако допустимы и выражения вида
  rd:=Slash(r1,r2); // ra:=UnitRational.Plus(r1,r2);
  WriteLn('Plus: ',ra.num,'/',ra.den);
  WriteLn('Minus: ',rs.num,'/',rs.den);
  WriteLn('Dot:   ',rm.num,'/',rm.den);
  WriteLn('Slash: ',rd.num,'/',rd.den);
  Add(ra,r2);
  Subtract(rs,r2);
  MultiplyBy(rm,r2);
  DivideBy(rd,r2);
  WriteLn('Add: ',ra.num,'/',ra.den);
  WriteLn('Sub: ',rs.num,'/',rs.den);
  WriteLn('Mul: ',rm.num,'/',rm.den);
  WriteLn('Div: ',rd.num,'/',rd.den);
  ReadLn; // ввод необходим только для предотвращения
          // автоматического закрытия окна консоли
end.


         В процес с е работ ы програм м а в ы в од ит с л ед ующую информ ацию:

Plus:    1/6
Minus:   5/6
Dot:     -1/6
Slash:   -3/2



                                       12