+Giống nhau: Đều là chương trình con, thực hiện các nhiệm vụ để gọi và chương trình chính
+ Khác nhau:
- hàm (function): trả về một giá trị cụ thể và có một tham số liên quan để thực hiện và khi gọi cần có tham số cần thực hiện.
- thủ tục (procedure): không trả về một giá trị cụ thể nào, có thể thực hiện nhiều nhiệm vụ trong một chương trình con, tham số có thể có hoặc không, khi gọi thì nếu có tham số thì gọi đúng tham số không thì chỉ gọi bình thường, không có tham số.