Tài nguyên dạy học

Hỗ trợ trực tuyến

  • (Hotline:
    0918.441.667 -->Đông
    0947.411.201 -->Cường
    Email:
    quoccuongp.lhp@gmail.com
    )

Điều tra ý kiến

Bạn thấy trang này như thế nào?
Đẹp
Đơn điệu
Bình thường
Ý kiến khác

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Ảnh ngẫu nhiên

    MiniMovie_Friends_170601.flv P_20170420_170252_vHDR_Auto.jpg Nhung_bi_an_cua_Ai_Cap__Phan_1.flv DSC_8440.jpg DSC_8282.jpg Qua_trinh_nguyen_phan3.flv Ky_la_cay_phat_tan_hat_giong_nho_tu_phat_no.flv CHUYEN_VE_HAI_HAT_LUA.flv IMG_16161.jpg IMG_16151.jpg IMG_16171.jpg IMG_16131.jpg IMG_16041.jpg IMG_16001.jpg IMG_15971.jpg DSC07293.jpg DSC07288.jpg Bai_Ca_Sinh_Vien__Various_Artists.mp3

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

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

    Chương trình con

    Wait
    • Begin_button
    • Prev_button
    • Play_button
    • Stop_button
    • Next_button
    • End_button
    • 0 / 0
    • Loading_status
    Nhấn vào đây để tải về
    Báo tài liệu có sai sót
    Nhắn tin cho tác giả
    (Tài liệu chưa được thẩm định)
    Nguồn:
    Người gửi: Trường THCS Lê Hồng Phong (trang riêng)
    Ngày gửi: 18h:35' 05-06-2014
    Dung lượng: 77.0 KB
    Số lượt tải: 1
    Số lượt thích: 0 người
    Chương 4
    CHƯƠNG TRÌNH CON: THỦ TỤC VÀ HÀM


    I. KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON
    Chương trình con (CTC) là một đoạn chương trình thực hiện trọn vẹn hay một chức năng nào đó. Trong Turbo Pascal, có 2 dạng CTC:
    Thủ tục (PROCEDURE): Dùng để thực hiện một hay nhiều nhiệm vụ nào đó.
    Hàm (FUNCTION): Trả về một giá trị nào đó (có kiểu vô hướng, kiểu string hoặc kiểu con trỏ). Hàm có thể sử dụng trong các biểu thức.
    Ngoài ra, trong Pascal còn cho phép các CTC lồng vào nhau.

    II. CẤU TRÚC CHUNG CỦA MỘT CHƯƠNG TRÌNH CÓ SỬ DỤNG CTC

    PROGRAM Tên_chương_trình;
    USES CRT;
    CONST ............;
    TYPE ............;
    VAR ............;

    PROCEDURE THUTUC[(Các tham số)];
    [Khai báo Const, Type, Var]
    BEGIN
    ..............
    END;

    FUNCTION HAM[(Các tham số)]:;
    [Khai báo Const, Type, Var]
    BEGIN
    ..............
    HAM:=;
    END;

    BEGIN {Chương trình chính}
    ...................
    THUTUC[(...)];
    ...................
    A:= HAM[(...)];
    ...................
    END.

    Chú ý: Trong quá trình xây dựng CTC, khi nào thì nên dùng thủ tục/hàm?
    Dùng hàm
    Dùng thủ tục
    
    - Kết quả của bài toán trả về 1 giá trị duy nhất (kiểu vô hướng, kiểu string hoặc kiểu con trỏ).
    - Lời gọi CTC cần nằm trong các biểu thức tính toán.
    - Kết quả của bài toán không trả về giá trị nào hoặc trả về nhiều giá trị hoặc trả về kiểu dữ liệu có cấu trúc (Array, Record, File).
    - Lời gọi CTC không nằm trong các biểu thức tính toán.
    
    
    Ví dụ 1: Viết CTC để tính n! = 1.2...n.
    Ý tưởng: Vì bài toán này trả về 1 giá trị duy nhất nên ta dùng hàm.
    Function GiaiThua(n:Word):Word;
    Var P, i:Word;
    Begin
    P:=1;
    For i:=1 To n Do P:=P*i;
    GiaiThua:=P;
    End;

    Ví dụ 2: Viết chương trình con để tìm điểm đối xứng của điểm (x,y) qua gốc tọa độ.
    Ý tưởng: Vì bài toán này trả về tọa độ điểm đối xứng (xx,yy) gồm 2 giá trị nên ta dùng thủ tục.
    Procedure DoiXung(x,y:Integer; Var xx,yy:Integer);
    Begin
    xx:=-x;
    yy:=-y;
    End;

    CHÚ Ý: Trong 2 ví dụ trên:
    n, x, y được gọi là tham trị (không có từ khóa var đứng trước) vì sau khi ra khỏi CTC giá trị của nó không bị thay đổi.
    xx, yy được gọi là tham biến (có từ khóa var đứng trước) vì sau khi ra khỏi CTC giá trị của nó bị thay đổi.

    III. BIẾN TOÀN CỤC VÀ BIẾN ĐỊA PHƯƠNG
    Biến toàn cục: là các biến được khai báo trong chương trình chính. Các biến này có tác dụng ở mọi nơi trong toàn bộ chương trình.
    Biến địa phương: là các biến được khai báo trong các CTC. Các biến này chỉ có tác dụng trong phạm vi CTC đó mà thôi.
    Chú ý: Trong một CTC, nếu biến toàn cục trùng tên với biến địa phương thì biến địa phương được ưu tiên hơn.

    Ví dụ:
    Program KhaoSatBien;
    Var a,b: Integer; {biến toàn cục}

    Procedure ThuBien;
    Var a: Integer; {biến địa phương}
    Begin
    a:=10;
    Writeln(‘A=’,a,’B=’,b);
    End;

    Begin
    a:=50;
    b:=200;
    ThuBien; {A=10 B=200}
    Writeln(‘A=’,a,’B=’,b); {A=50 B=200}
    End.

    IV. ĐỆ QUI
    4.1. Khái niệm đệ qui
    Trong một chương trình, một CTC có thể gọi một CTC khác vào làm việc. Nếu như CTC đó gọi lại chính nó thì gọi là sự đệ qui.

    4.2. Phương pháp thiết kế giải thuật đệ qui
    Tham số hóa bài toán
    Tìm trường hợp suy biến.
    Phân tích các trường hợp chung (đưa về các bài toán cùng loại nhưng nhỏ hơn).
    Ví dụ: Viết hàm đệ qui để tính n! = 1.2...n.
    Tham số hóa: n! = Factorial(n);
    Factorial(0) = 1
     
    Gửi ý kiến