Trang Chủ Bài tập SGK lớp 11 Bài tập Tin học lớp 11

Tóm tắt chương VI – Tin học 11: Chương trình con có thể không có tham số được không? Cho ví dụ

Tóm tắt chương VI Tin học lớp 11. Giải câu 1 đến câu 4 trang 117 . Hãy nêu sự giống nhau và khác nhau giữa thủ tục và hàm…

Câu 1 : Hãy nêu sự giống nhau và khác nhau giữa thủ tục và hàm.

Sự giống nhau và khác nhau giữa thủ tục và hàm

Giống nhau: Cà thủ tục và hàm đều là chương trình con, cấu trúc giống như một chương trình trừ dòng đầu tiên và kết thúc bằng END; (thay vì END.). Cả thủ tục và hàm có thể chứa các tham số (tham số giá trị và tham số biến), cùng tuân theo quy định về khai báo và sử dụng các loại tham số này.
Khác nhau: Việc thực hiện hàm luôn trả về giá trị kết quả thuộc kiểu xác định và giá trị đó được gán cho tên hàm.


Câu 2: Chương trình con có thể không có tham số được không? Cho ví dụ.

Chương trình con có thể không có tham số.

Ví dụ:

procedure Ve_Hcn;

begin

writeln(‘* ******’);

writeln (‘ *        * ‘);

writeln(‘* ******’);

end;

•        định và giá trị đó được gán cho tên hàm.

1.Chương trình con cỏ thể không có tham số. Ví dụ:

procedure Ve_Hcn; begin

writeln(‘* ******’); writeln (‘ *        * ‘) ‘

writeln(‘* ******’);

end;


Câu 3: Hãy cho ví dụ chương trình con có nhiều hơn một kết quả ra.

Ví dụ chương trình con có nhiều hơn một kết quả ra:

a) Procedure  Hoan_đoi(var X, ỵ: integer);

var TG: integer;

Advertisements (Quảng cáo)

begin

TG:= X; x:= y; y:= TG;

end;

b) Procedure Hoan_đoi(x: integer; var y: integer);

var TG: integer;

begin

TG:= x;

X: = y , y:= TG;

end;


Câu 4: Viết chương trình con (là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?

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.

Ta nhận thấy rằng, bội số chung nhỏ nhất của hai số nguyên dương a, b có thể được tính theo công thức:

ab/d

trong đó d là ước chung lớn nhất của a và b.

Bởi vậy:

Advertisements (Quảng cáo)

Nên viết hàm để tính bội chung nhỏ nhất của hai số nguyên dương vì chương trình con cần trả ra một giá trị;

– Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b cần sử dụng hàm tính ước chung lớn nhất của a và b

– Hàm tính ước chung lớn nhất của hai số nguyên dương a, b:

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; and;

– 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;

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 ;

vai

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.

Khi chạy chương trình, giả sử nhập x= 5, y- 4 thì bội chung nhỏ nhất của X và y là 20. Kết quả chương trình như hình 82 dưới đây:

Như vậy, trong trường hợp này ta viết chương trình con dưới dạng hàm là thuận tiện hơn so với viết chương trình con dưới dạng thủ tục.

Advertisements (Quảng cáo)