ВУЗ:
Составители:
Рубрика:
70
ПРИЛОЖЕНИЕ 1. Б ИБЛИОТЕКА ДЛЯ РАБОТЫ
С РАЦИОНАЛЬНЫМИ ЧИСЛ АМИ
Приводимая здесь библиотека является несколько расширенной
версией модуля, описанного в первой части пособия [*]. Новыми явля-
ются функции: AreEqual, производящая сравнение двух рациональных
чисел на равенство, и AsString, преобразующая рациональное число к
строковой форме для последующего вывода на экран.
Пример П .1.1. Код библиотеки для работы с рациональными числами.
unit UnitRational;
interface
type
Rational = record
num: Integer;
den: Integer;
end;
function Plus (r1,r2:Rational): Rational; // вычисление суммы
function Minus(r1,r2:Rational): Rational; // вычисление разности
function Dot (r1,r2:Rational): Rational; // вычисление произведения
function Slash(r1,r2:Rational): Rational; // вычисление частного
procedure Add (var r1:Rational; r2:Rational); // прибавление
procedure Subtract (var r1:Rational; r2:Rational); // вычитание
procedure MultiplyBy(var r1:Rational; r2:Rational); // домножение
procedure DivideBy (var r1:Rational; r2:Rational); // деление
function AreEqual(r1,r2:Rational): Boolean; // сравнение на равенство
function AsString(r: Rational): String; // преобразование к строковой
// форме
implementation
uses SysUtils;
procedure Normalize(var r:Rational);
{ Процедура приводит рациональное число r, передаваемое в качестве
параметра, к нормальной форме: числитель - целое число,
знаменатель - натуральное. }
begin
if r.den<0 then
begin r.num:=-r.num; r.den:=-r.den; end;
end;
procedure Reduce(var r:Rational);
{ Процедура сокращает числитель и знаменатель числа r на их
наибольший общий делитель. }
П РИ Л О Ж Е Н И Е 1. Б И Б Л И О Т Е К А Д Л Я РА Б О Т Ы СРА Ц И О Н А Л ЬН Ы М И ЧИ СЛ А М И Прив од им ая з д ес ь библ иот ека яв л яет с я нес кол ь ко рас ширенной в ерс ией м од ул я, опис анногов перв ой час т и пос обия [*]. Н ов ы м и яв л я- ют с я функц ии: AreEqual, произ в од ящ ая с рав нение д в ух рац ионал ь ны х чис ел на рав енс т в о, и AsString, преобраз ующ ая рац ионал ь ное чис л о к с т роков ой форм е д л я пос л ед ующ егов ы в од а на экран. ПримерП.1.1. Код библ иот еки д л я работ ы с рац ионал ь ны м и чис л ам и. unit UnitRational; interface type Rational = record num: Integer; den: Integer; end; function Plus (r1,r2:Rational): Rational; // вычисление суммы function Minus(r1,r2:Rational): Rational; // вычисление разности function Dot (r1,r2:Rational): Rational; // вычисление произведения function Slash(r1,r2:Rational): Rational; // вычисление частного procedure Add (var r1:Rational; r2:Rational); // прибавление procedure Subtract (var r1:Rational; r2:Rational); // вычитание procedure MultiplyBy(var r1:Rational; r2:Rational); // домножение procedure DivideBy (var r1:Rational; r2:Rational); // деление function AreEqual(r1,r2:Rational): Boolean; // сравнение на равенство function AsString(r: Rational): String; // преобразование к строковой // форме implementation uses SysUtils; procedure Normalize(var r:Rational); { Процедура приводит рациональное число r, передаваемое в качестве параметра, к нормальной форме: числитель - целое число, знаменатель - натуральное. } begin if r.den<0 then begin r.num:=-r.num; r.den:=-r.den; end; end; procedure Reduce(var r:Rational); { Процедура сокращает числитель и знаменатель числа r на их наибольший общий делитель. } 70
Страницы
- « первая
- ‹ предыдущая
- …
- 68
- 69
- 70
- 71
- 72
- …
- следующая ›
- последняя »