QUỐC CA Việt Nam

Liên kết website

Time

Quang Lê


Truyện cười

Thành viên trực tuyến

1 khách và 0 thành viên

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Gốc > Bài viết > Pascal >

    Hàm và thủ tục (1)

    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 <tên thủ tục>[(<ds tham số>)];

    [<khai báo>];

    Begin

    [<thân thủ tục>];

    End;

    2)     Function <tên hàm>[(<ds tham số>)]:<kiểu dữ liệu>;

    [<khai báo>];

    Begin

    [<thân hàm>];

    <tên hàm> := <biểu thức>;

    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 !


    Nhắn tin cho tác giả
    Âu Trường Sơn @ 08:31 12/05/2011
    Số lượt xem: 2138
    Số lượt thích: 0 người
     
    Gửi ý kiến

    Tin mới nhất