X

Giải bài tập Tin học lớp 11

Giải bài tập Tin học 11 trang 117


Giải bài tập Tin học 11 trang 117

Với Giải bài tập Tin học 11 trang 117 hay, chi tiết được biên soạn bám sát nội dung sách giáo khoa Tin học lớp 11 giúp bạn dễ dàng trả lời câu hỏi từ đó đạt điểm cao trong các bài thi môn Tin học 11.

Giải bài tập Tin học 11 trang 117

Bài 1 (trang 117 sgk Tin học lớp 11): Hãy nêu sự giống nhau và khác nhau giữa thủ tục và hàm.

Trả lời:

Sự khác nhau giữa thủ tục và hàm là 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.

Lời gọi hàm có thể làm tham gia vào biểu thức khác như một toán hạng.

Ví dụ: a:=unln(5,6)+1

Bài 2 (trang 117 sgk Tin học lớp 11): Chương trình con có thể không có tham số được không ? Cho ví dụ.

Trả lời:

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

Ví dụ:

- Thủ tục không có tham số:

Procedure vietgido();
Begin
	Writeln(‘Viet mot cai gi do’);
End;

- Hàm không có tham số

Function Traveso():integer;
Begin
	Traveso:=3;
End;

Bài 3 (trang 117 sgk Tin học lớp 11): Hãy cho ví dụ chương trình con có nhiều kết quả ra.

Trả lời:

- Chương trình con có thể cho ra kết quả bằng cách dùng tham chiếu hoặc trả về qua tên (đối với hàm).

Ví dụ:

Sử dụng thủ tục:

Procedure trave(var i:integer);
Begin
I:=1;
End;
Kết thúc thủ tục này biến I truyền vào thủ tục sẽ nhận giá trị là 1.
Sử dụng hàm:
Function trave(var i:integer):integer;
Begin
	I:=1;
	Trave:=1;
End;

Tên hàm sẽ trả về giá trị 1 . Biến I truyền vào cũng mang giá trị 1.

Bài 4 (trang 117 sgk Tin học lớp 11): 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?

Trả lời:

uses crt;
var 
	a,b:integer;
function fuc(x,y:integer):integer;
var sodu,tich:integer;
begin
	tich:=x*y;
	while y<>0 do
	begin
		sodu:=x mod y;
		x:=y;
		y:=sodu;
	end;
	fuc:=tich div x;
end;
procedure puc(x,y:integer);
var sodu,tich:integer;
begin
	tich:=x*y;
	while y<>0 do
	begin
		sodu:=x mod y;
		x:=y;
		y:=sodu;
	end;
	write('Boi chung nho nhat cua hai so a b khi su dung thu tuc :',tich div x);
end;
begin
	clrscr;
	write('Nhap vao hai so a b:');
	readln(a,b);
	writeln('Boi chung nho nhat cua hai so a b khi su dung ham:',fuc(a,b));
	puc(a,b);
	readkey;
end.

Kết quả:

Giải bài tập Tin học 11 | Để học tốt Tin học 11

- Sử dụng chương trình con dưới dạng hàm thì thuận tiện hơn. Vì ít khi chúng ta chỉ tính riêng bội chung nhỏ nhất mà bội chung nhỏ nhất chỉ để phục vụ một việc nào đó tiếp theo. Nếu sử dụng hàm thì ta có thể dùng lời gọi hàm để tham gia vào các biểu thức toán học khác. Còn sừ dụng thủ tục thì chúng ta không thể làm được như vậy.

Xem thêm các bài giải bài tập sgk Tin học 11 hay khác: