So sánh cấu trúc của thủ tục và hàm

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

Gợi ý trả lời:

  • Giống nhau:
    • Đều là chương trình con, có cấu trúc giống một chương trình.
    • Đều có thể chứa các tham số [tham số giá trị và tham số biến], cùng tuân theo các quy định về khai báo và sử dụng các loại tham số này. [Có thể không có tham số].
  • Khác nhau:

Hàm Thủ tục
Đầu hàm bắt đầu bằng từ khóa Function Đầu thủ tục bắt đầu bằng từ khóa Procedure
Luôn trả về một giá trị thuộc kiểu xác định thông qua tên hàm [các kiểu dữ liệu đơn giản: integer, real, boolean, char, string].  

Phải chỉ ra kết quả của hàm thuộc kiểu dữ liệu nào.

 
Trong thân hàm thường có câu lệnh gán giá trị cho tên hàm.  

Câu 2 

Chương trình tính tích của hai số nguyên a và b

Function Tich[a, b: integer]: integer;

Var Kq: Integer;

Begin

Kq := a*b;

Tich := Kq;

End;

Procedure tt_Tich[a, b: integer];

Var Kq: Integer;

Begin

Kq := a*b;

Write['Tích của' , a, 'và', b, 'là', Kq];

End;

Hãy nhận xét cấu trúc hàm và thủ tục của chương trình tính tích ở trên.

Gợi ý trả lời:

  • Hàm trả về giá trị sau khi thực hiện nên có lệnh gán kết quả cho tên hàm Tích := Kq; và cũng chính vì vậy nên sau khai báo tên hàm có khai báo tên kiểu dữ liệu trả về Tich[a, b: integer]: integer;
  • Thủ tục không trả về kết quả nên có câu lệnh xuất kết quả ngay trong thủ tục Write['Tích của , a, ' và ', b, ' là ', Kq];

Hàm và thủ tục là bài học khó trong chương trình Tin học lớp 11. Học sinh không chỉ nắm rõ cấu trúc của thủ tục và hàm mà còn phải biết cách sử dụng tham số của chương trình con.

Để phần nào giúp học sinh hiểu rõ bài học hơn, loạt bài viết về Hàm và Thủ tục sẽ được đăng theo từng nội dung trong mỗi bài viết.

Phần 1: So sánh Hàm [function] và  Thủ tục  [procedure]

Cấu trúc chương trình:

1]     Procedure [[]];

[];

Begin

[];

End;

2]     Function [[]]:;

[];

Begin

[];

:= ;

End;

Giống nhau: Hàm và thủ tục là các chương trình con có chức năng thực hiện một công việc nào đó trong chương trình chính. Về cấu trúc chung đều giống nhau.

Khác nhau:

–         Hàm sau khi thực hiện công việc sẽ trả về một giá trị cho tên hàm.

–         Thủ tục khi thực hiện công việc không trả về một giá trị cho tên thủ tục.

Ví dụ: Chương trình tính tích của hai số nguyên a và b.

Hàm:

Function Tich[a, b: integer]: integer;

Var Kq: Integer;

Begin

Kq := a*b;

Tich := Kq;

End;

Thủ tục:

Procedure tt_Tich[a, b: integer];

Var Kq: Integer;

Begin

Kq := a*b;

Write[‘Tích của , a, ‘ và ‘, b, ‘ là ‘, Kq];

End;

Nhận xét:

–         Vì hàm hàm trả về giá trị sau khi thực hiện nên có lệnh gán kết quả cho tên hàm Tích := Kq; và cũng chính vì vậy nên sau khai báo tên hàm có khai báo têm kiểu dưữ liệu trả về Tich[a, b: integer]: integer;

–         Thủ tục không trả về kết quả nên có câu lệnh xuất kết quả ngay trong thủ tục Write[‘Tích của , a, ‘ và ‘, b, ‘ là ‘, Kq];

Trong chương trình chính, khi sử dụng hàm và thủ tục cũng cần chú ý:

– Vì hàm trả về một giá trị thông qua tên gọi của nó nên ta có thể viết hàm trong biểu thức, hay xuất ra trong câu lệnh write. Ví dụ:

+ tich[2, 5] * 5 –> cho kết quả 50

+ write[tich[2, 5]] –> in ra màn hình giá trị 10

– Thủ tục không trả về giá trị thông qua tên của nó do đó ta không thể sử dụng như hàm trong ví dụ trên à chỉ có thể gọi thủ tục như một câu lệnh độc lập. Ví dụ:

+ Khi viết tt_Tich[2, 5]; –> sẽ in ra màn hình số 10

+ Khi viết tt_Tich[2, 5] * 5 –> Chương trình dịch báo lỗi !

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

câu 1 . so sánh cấu trúc của chương trình con là thủ tục và hàm

Các câu hỏi tương tự

Đua top nhận quà tháng 4/2022Đại sứ văn hoá đọc 2022

Hãy luôn nhớ cảm ơnvote 5*
nếu câu trả lời hữu ích nhé!

  • phamphucthinh
  • Câu trả lời hay nhất!
  • 24/03/2020

  • Cám ơn 1


XEM GIẢI BÀI TẬP SGK TIN 11 - TẠI ĐÂY

Đề bài

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

Lời giải chi tiết

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.

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

Loigiaihay.com

Chương trình là gì? [Tin học - Lớp 8]

5 trả lời

Trình bày và in trang tính [Tin học - Lớp 7]

2 trả lời

Định dạng trang tính [Tin học - Lớp 7]

3 trả lời

Video liên quan

Chủ Đề