Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    3

    giải thích hộ chương trình con sau:

    Mã:
    function VD( var x:integer, y:integer) :integer;
       begin
         x:=x*x;
         y:=y*y;
       end;
     begin
       a:=1;
       b:=10;
       VD( a,b);
       write(a:4,b:4);
       readln;
       end.

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    2
    Chương trình con VD :
    Chương trình sẽ lấy vào hai số X,Y (Đây là tham biến - Có nghĩa là sau khi sử lí sẽ trả về giá trị cho X,Y).
    Sau khi xử lí : Số X sẽ trở thành X*X; Số Y sẽ trở thành Y*Y;

    Nhưng chương trình con này bị sai. Vì Function có nghĩa là sau khi chạy xong biến VD sẽ có giá trị.
    Bạn nên sửa thành Procedure VD(var x : Integer; var y : integer);

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Hàm thì chỉ trả về 1 giá trị, nếu bạn viết hàm như vậy chưa đúg cấu trúc, thiếu lệnh gán giá trị trả về cho hàm <tên hàm>:=<Biểu thức>; Bạn nên dùng thủ tục

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    2
    Vậy chứ nếu là procedure thì ra thế nào,
    Mã:
    procedure VD ( var x:integer, y:integer):integer
    ở đây chỉ có mình x là tham biến thôi nhá bác HSG.

  5. #5
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Trích dẫn Gửi bởi gianghen
    Vậy chứ nếu là procedure thì ra thế nào,
    Mã:
    procedure VD ( var x:integer, y:integer):integer
    ở đây chỉ có mình x là tham biến thôi nhá bác HSG.
    Procedure theo ví dụ là sai cấu trúc.
    Nó không trả về giá trị đâu nên không được "...:integer" cuối cùng.
    Function mới trả về giá trị vì thế cuối cùng là "...:integer".

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    2
    Trích dẫn Gửi bởi HappySoftGroup
    Procedure theo ví dụ là sai cấu trúc.
    Nó không trả về giá trị đâu nên không được "...:integer" cuối cùng.
    Function mới trả về giá trị vì thế cuối cùng là "...:integer".
    rồi, sai cấu trúc, hì.
    Mã:
     procedure VD ( var x:integer, y:integer);
    Kết quả thế nào hả bác.

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    3
    Kết quả là X:=X*X; Còn y thì như cũ [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •