Viết chương trình con (hàm, thủ tục) tính bội số chung nhỏ nhất của hai số nguyên dương a, b. Hãy cho biết trong trường hợp này viết chương trình con dưới dạng hàm hay thủ tục là thuận tiện hơn. Vì sao?
function ucln (a, b: integer): integer;
var r: integer;
begin
while b>0 do
begin
r: = a mod b;
a : = b ;
b:= r;
end;
ucln:= a;
end;
Hàm tình bội chung nhỏ nhất của hai số nguyên dương a, b:
lunction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
function bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Khi đó, chương trình con tính bội số chung nhỏ nhất của hai số nguyên dương a, b như sau:
program bai4_chuong6;
use crt ;
var X y: integer;
function ucln(a, b: integer): integer;
var r: integer;
begin
while b>0 do
begin
r:= a mod b; a: = b ,b:= r;
end;
ucln:= a;
end;
txnction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Begin
clrscr;
writeln('Nhap vao hai so can tim BCNN');
write ('x=') , readln(x); write ('y=') , readln(y);
writeln('bcnn cua hai so',x:4,'va',y:4,'la',bcnn(a,b)
readln
End.
-- Mod Tin Học 11
Copyright © 2021 HOCTAP247