Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над обыкновенными дробями вида (P – целое, Q—натуральное):
5-9 класс
|
а) сложения;
б) умножения;
в) сокращения дроби.
Дробь представить следующим типом:
Type Frac=Record
P: Integer;
Q: 1..32767
End;
Используя этот модуль найти:
1) сумму двух дробей, результат представить в виде несократимой дроби;
2) произведение двух дробей, результат представить в виде несократимой дроби.
type
Frac = record
P: integer;
Q: 1..32767
end;
function gcd(a: integer; b: integer): integer;
{Нахождение НОД}
var
i: integer;
begin
while b <> 0 do
begin
a := a mod b;
i := b; b := a; a := i
end;
result := a
end;
function RedFrac(a: Frac): Frac;
{Сокращение дроби}
var
igcd: integer;
r: Frac;
begin
igcd := gcd(a.P, a.Q);
r.P := a.P div igcd;
r.Q := a.Q div igcd;
RedFrac := r
end;
function Add(a, b: Frac): Frac;
{Сложение дробей}
var
r: Frac;
begin
r.P := a.P * b.Q + b.P * a.Q;
r.Q := a.Q * b.Q;
Add := RedFrac(r)
end;
function Mult(a, b: Frac): Frac;
{Умножение дробей}
var
r: Frac;
begin
r.P := a.P * b.P;
r.Q := a.Q * b.Q;
Mult := RedFrac(r)
end;
var
m, n, k: Frac;
begin
m.P := 4; m.Q := 15; {4/15}
n.P := 9; n.Q := 25; {9/25}
k := Add(m, n);
Writeln(k.P, '/', k.Q);
k := Mult(m, n);
Writeln(k.P, '/', k.Q);
end.
Результат выполнения программы:
47/75
12/125
Другие вопросы из категории
a.к компьютеру подключена флэш-память
Читайте также
then if x<5 then F:=0
else F:=x*x
else F:=4+x
Чему равен R после выполнения следующих операторов?
R:= -10; 0; 5
if R<0 then R:=R*R;
if R=0 then R:=R+10;
if R>0 then R:=R-100;
стоимости покупок в магазине 4)Приготовлени салата по рецепту 5)Выполнение домашнего задания
Повтори 2 раз
Команда1 Сместиться на (3, 2) Сместиться на (2, 1)
Конец
Сместиться на (–6, –4)
После выполнения этого алгоритма Чертёжник вернулся в исходную точку.
Какую команду надо поставить вместо команды Команда1?
1)
Сместиться на (–2, –1)
2)
Сместиться на (1, 1)
3)
Сместиться на (–4, –2)
4)
Сместиться на (2, 1)
2)Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 4 раз
Команда1 Сместиться на (3, 3) Сместиться на (1, –2)
Конец
Сместиться на (–8, 12)
После выполнения этого алгоритма Чертёжник вернулся в исходную точку.
Какую команду надо поставить вместо команды Команда1?
1)
Сместиться на (–2, –4)
2)
Сместиться на (4, –13)
3)
Сместиться на (2, 4)
4)
Сместиться на (–8, –16)
определить значение переменной S после выполнения следующего фрагмента алгоритма, представленного в виде блок-схемы, если а=692.
Начало:
1) ввод а,
2) S:=0
3) S:=s+a mod 10
4) a:=a div 10
5) a=0, если нет, то вернуться к 3 действию если да то вывод S
6) конец
y:=1;
For i:=2 to 4 do y:=y+i;
2.Определить значение переменной у после выполнения следующего фрагмента программы:
y:=0;
For i:=-100 to 100 do
If i mod 10 =5 then y:=y+i;
3. На промежутке [a;b] (a,b -целые числа, которые вводятся с клавиатуры) определить среднее арифметическое чисел кратных 7