Tailieumoi.vn biên soạn và giới thiệu bộ câu hỏi Tin học gồm các kiến thức lý thuyết và thực hành, giúp học sinh ôn tập và bổ sung kiến thức cũng như hoàn thành tốt các bài kiểm tra môn Tin học. Mời các bạn đón xem:
Top 1000 câu hỏi thường gặp môn Tin học (Phần 6)
Câu 38: Khác với thủ tục trong thân của hàm cần có
Lời giải:
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 chính trừ dòng đầu tiên và kết thúc bằng END; (thay vì END.). Cả thủ tục va 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 sử dụng 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.
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 [()];[];
[];
2) Function [()]:;
[];
[];
:= ;
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.
Function Tich(a, b: integer): integer;
Var Kq: Integer;
Kq := a*b;
Tich := Kq;
Procedure tt_Tich(a, b: integer);
Var Kq: Integer;
Kq := a*b;
Write(Tích của , a, và , b, là , Kq);
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àmTí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ụcWrite(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ếttt_Tich(2, 5);>sẽ in ra màn hình số 10
+ Khi viếttt_Tich(2, 5) * 5> Chương trình dịch báo lỗi !
Xem thêm các bài tập thường gặp môn Tin học hay, chọn lọc khác:
Câu 1: Cách tạo màu nền cho 1 trang chiếu?....
Câu 2: Bảng phân quyền cho phép:....
Câu 4: Phát biểu nào sai trong các phát biểu sau khi nói về khoá chính?........
Câu 5: Câu nào là đúng. Sau khi tạo cấu trúc cho bảng thì:...
Câu 7: Cho các thao tác sau :......
Câu 8: Phát biểu nào dưới đây không phải là bảo mật thông tin trong hệ CSDL?.........
Câu 9: Trong bảng phân quyền, các quyền truy cập dữ liệu, gồm có:.......
Câu 11: Phát biểu nào dưới đây sai khi nói về mã hoá thông tin?......
Câu 13: Phát biểu nào về hệ QTCSDL quan hệ là đúng?.......
Câu 14: Câu nào sai trong các câu dưới đây khi nói về chức năng lưu biên bản hệ thống?.....
Câu 15: Kiến trúc hệ CSDL gồm:...
Câu 16: Thao tác nào sau đây không là khai thác CSDL quan hệ? .
Câu 17: Hai bảng trong một CSDL quan hệ liên kết với nhau thông qua:......
Câu 18: Chọn phát biểu đúng khi nói về vòng lặp while ......
Câu 19: Máy tính là gì? 5 thành phần cơ bản của máy tính......
Câu 20: Với báo cáo, ta không thể làm được việc gì trong những việc sau đây?.......
Câu 21: Cho thủ tục sau: Procedure Thutuc(x,y,z: integer); Các biến x,y,z được gọi là: ......
Câu 22: Trong Stato bộ phận nào được ghép cách điện với nhau?......
Câu 23: Để gộp các ô và căn chỉnh nội dung vào chính giữa ô gộp đó ta sử dụng nút lệnh:.......
Câu 24: Trong bảng sau đây, mỗi học sinh chỉ có mộ mã số (Mahs):......