Thứ bảy, 23/11/2024
IMG-LOGO

Câu hỏi:

14/07/2024 33

Khác với thủ tục trong thân của hàm cần có

Trả lời:

verified Giải bởi Vietjack

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 !

Câu trả lời này có hữu ích không?

0

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Xét về mặt cấu trúc, thuộc tính trường (field) trong mô hình dữ liệu quan hệ được hiểu là

Xem đáp án » 30/07/2023 2,145

Câu 2:

Phân biệt ưu và nhược điểm của hệ CSDL tập trung và hệ CSDL phân tán?

Xem đáp án » 29/07/2023 308

Câu 3:

Cho các thao tác sau : 
B1: Tạo bảng      B2: Đặt tên và lưu cấu trúc    B3: Chọn khóa chính cho bảng   B4: Tạo liên kết 
Khi tạo lập CSDL quan hệ ta thực hiện lần lượt các bước sau:

Xem đáp án » 29/07/2023 208

Câu 4:

Hiệu ứng động trong bài trình chiếu là gì? Có mấy loại hiệu ứng động? Hãy nêu sự khác nhau của các loại hiệu ứng động đó.

Xem đáp án » 29/07/2023 188

Câu 5:

Sau khi tạo liên kết giữa các bảng trong mô hình dữ liệu quan hệ, có thể thực hiện công việc nào dưới đây?

Xem đáp án » 30/07/2023 145

Câu 6:

Yêu cầu: Nhập vào số nguyên dương n (0<n<=1000). In ra một hình vuông cạnh n gồm các dấu $.
Dữ liệu: Một dòng ghi số n duy nhất.
Kết quả: một hình vuông gồm nxn dấu $.(C++ nha)

Xem đáp án » 30/07/2023 135

Câu 7:

Cho số nhị phân 10001101, số thập phân tương đương là

Xem đáp án » 30/07/2023 133

Câu 8:

Để chọn các mẫu định dạng có sẵn ta chọn dải lệnh nào? trình bày các bước thực hiện?

Xem đáp án » 30/07/2023 127

Câu 9:

Cách viết phân số trong WPS Office

Xem đáp án » 30/07/2023 125

Câu 10:

Trong Access, để khai báo số điện thoại01267777777 ta dùng kiểu dữ liệu nào ?

Xem đáp án » 30/07/2023 121

Câu 11:

Viết chương trình nhập vào 1 số nguyên kiểm tra xem số đó có chia hết cho 3 hay không và là số chẵn hay số lẻ

Xem đáp án » 29/07/2023 115

Câu 12:

Hãy cho biết cách :

+ Mở 1 bảng có tên HỌC_SINH trong CSDL

+ Xoá 1 bản ghi trong bảng HOC_SINH

+ Xắp xếp cột tên theo thứ tự giảm dần trong bảng HỌC SINH

Xem đáp án » 30/07/2023 110

Câu 13:

Trong Logo, lệnh dùng để thay đổi nét vẽ:

Xem đáp án » 30/07/2023 105

Câu 14:

So sánh mạng không dây và mạng có dây

Xem đáp án » 30/07/2023 102

Câu 15:

Viết đoạn lệnh Python nhập một dãy số nguyên có n phần tử

Xem đáp án » 30/07/2023 102

Câu hỏi mới nhất

Xem thêm »
Xem thêm »