ВУЗ:
Составители:
Рубрика:
10
result:=res;
{ Последняя инструкция эквивалентна выражению Plus:=res;
Локальная переменная result неявно объявляется в каждой функции
и имеет тип, совпадающий с типом возвращаемого значения.
По завершении работы функции содержимое этой переменной
передается вызывающей программе. }
end;
procedure Add(var r1:Rational; r2:Rational);
var _num,_den:Integer;
begin
_num:=r1.num*r2.den+r1.den*r2.num;
_den:=r1.den*r2.den;
r1.num:=_num; r1.den:=_den;
Normalize(r1); Reduce(r1);
end;
function Slash(r1,r2:Rational): Rational;
var res: Rational;
begin
if r2.num=0 then raise Exception.Create('Division by zero');
{ Если числитель второго аргумента равен нулю, возбуждается
исключение с сообщением "Деление на ноль". }
res.num:=r1.num*r2.den;
res.den:=r1.den*r2.num;
Normalize(res); Reduce(res);
result:=res;
end;
procedure DivideBy(var r1:Rational; r2:Rational);
var _num,_den:Integer;
begin
if r2.num=0 then raise Exception.Create('Division by zero');
_num:=r1.num*r2.den;
_den:=r1.den*r2.num;
r1.num:=_num; r1.den:=_den;
Normalize(r1); Reduce(r1);
end;
...
{ Определение оставшихся четырех процедур и функций совершенно
аналогично и потому здесь опускается. В реальном коде оно
обязательно должно присутствовать. }
end.
result:=res; { Последняя инструкция эквивалентна выражению Plus:=res; Локальная переменная result неявно объявляется в каждой функции и имеет тип, совпадающий с типом возвращаемого значения. По завершении работы функции содержимое этой переменной передается вызывающей программе. } end; procedure Add(var r1:Rational; r2:Rational); var _num,_den:Integer; begin _num:=r1.num*r2.den+r1.den*r2.num; _den:=r1.den*r2.den; r1.num:=_num; r1.den:=_den; Normalize(r1); Reduce(r1); end; function Slash(r1,r2:Rational): Rational; var res: Rational; begin if r2.num=0 then raise Exception.Create('Division by zero'); { Если числитель второго аргумента равен нулю, возбуждается исключение с сообщением "Деление на ноль". } res.num:=r1.num*r2.den; res.den:=r1.den*r2.num; Normalize(res); Reduce(res); result:=res; end; procedure DivideBy(var r1:Rational; r2:Rational); var _num,_den:Integer; begin if r2.num=0 then raise Exception.Create('Division by zero'); _num:=r1.num*r2.den; _den:=r1.den*r2.num; r1.num:=_num; r1.den:=_den; Normalize(r1); Reduce(r1); end; ... { Определение оставшихся четырех процедур и функций совершенно аналогично и потому здесь опускается. В реальном коде оно обязательно должно присутствовать. } end. 10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »