giúp đỡ lỗi freepascal cho mình

Thảo luận trong 'Thảo luận chung' bắt đầu bởi hai6f2009, 9 Tháng tám 2012.

Lượt xem: 19,313

  1. hai6f2009

    hai6f2009 Guest

    [TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn học. Click ngay để nhận!


    Bạn đang TÌM HIỂU về nội dung bên dưới? NẾU CHƯA HIỂU RÕ hãy ĐĂNG NHẬP NGAY để được HỖ TRỢ TỐT NHẤT. Hoàn toàn miễn phí!

    Mình cho chạy thử chương trình trong sách tin học 11 trang 88, 89 trên freepascal nhưng được lối:
    " Program
    c:\fpc\2. 6. 0\bin\i386 - win32\dientro.exe
    exited with
    exitcode = 2 "
     
    Last edited by a moderator: 9 Tháng tám 2012
  2. mikelhpdatke

    mikelhpdatke Guest

    Đây có thể là do lỗi code or do lỗi FP.
    Bạn thử post nguyên văn code cuả bạn lên đây để mình xem có sai ko
     
  3. hai6f2009

    hai6f2009 Guest

    đây:
    program dientro;
    varr a:array[1..5] of real;
    R1,R2,R3:real;
    i:integer;
    f1,f2,text;
    begin
    assign(f1, 'RESIST.DAT');
    reset(f1);
    assign(f1, 'RESIST.EQU');
    rewrite(f2);
    while not eof(f1) do
    begin
    readln(f1,R1,R2,R3);
    a[1]:= R1*R2*R3/(R1*R2+R1*R3+R2*R3);
    a[2]:= R1*R2/(R1+R2) +R3;
    a[3]:= R1*R3/(R1+R3) +R2;
    a[4]:= R2*R3/(R2+R3) +R1;
    a[5]:= R1+R2 +R3;
    for i:=1 to 5 do write(f2,a:9:3,' ');
    writeln(f2);
    end;
    close(f1);close(f2)
    end.
     
  4. mikelhpdatke

    mikelhpdatke Guest

    Bạn đã tạo file input và output chưa. Mà chỗ đường dẫn tới file này phải chính xác.
    VD: file RESIST.DAT bạn để ở ổ C thì bạn phải khai báo
    assign(f1, 'C:\RESIST.DAT');
     
  5. hai6f2009

    hai6f2009 Guest

    À, mình cũng làm như vậy rồi nhưng mà không được nên mới ghi là "assgin(f1,'RESIST.DAT');"
     
  6. mikelhpdatke

    mikelhpdatke Guest

    Mã:
    program dientro;
    varr a:array[1..5] of real;
    R1,R2,R3:real;
    i:integer;
    f1,f2,text;
    begin
    assign(f1, 'RESIST.DAT');
    reset(f1);
    [COLOR="Red"]assign(f1, 'RESIST.EQU');[/COLOR]
    rewrite(f2);
    while not eof(f1) do
    begin
    readln(f1,R1,R2,R3);
    a[1]:= R1*R2*R3/(R1*R2+R1*R3+R2*R3);
    a[2]:= R1*R2/(R1+R2) +R3;
    a[3]:= R1*R3/(R1+R3) +R2;
    a[4]:= R2*R3/(R2+R3) +R1;
    a[5]:= R1+R2 +R3;
    for i:=1 to 5 do write(f2,a[i]:9:3,' ');
    writeln(f2);
    end;
    close(f1);close(f2)
    end.
    bạn sai chỗ màu đỏ đó, bạn thử test lại đi
     
  7. hai6f2009

    hai6f2009 Guest

    Mình đã thử thay như bạn nhưng khi test vẫn bị lỗi như vậy bạn ơi!
     
  8. mikelhpdatke

    mikelhpdatke Guest

    Mã:
    program dientro;
    var a:array[1..5] of real;
    R1,R2,R3:real;
    i:integer;
    f1,f2:text;
    begin
    assign(f1, 'D:\RESIST.DAT');
    reset(f1);
    assign(f2, 'D:\RESIST.EQU');
    rewrite(f2);
    while not eof(f1) do
    begin
    readln(f1,R1,R2,R3);
    a[1]:= R1*R2*R3/(R1*R2+R1*R3+R2*R3);
    a[2]:= R1*R2/(R1+R2) +R3;
    a[3]:= R1*R3/(R1+R3) +R2;
    a[4]:= R2*R3/(R2+R3) +R1;
    a[5]:= R1+R2 +R3;
    for i:=1 to 5 do write(f2,a[i]:9:3,' ');
    writeln(f2);
    end;
    close(f1);close(f2)
    end.
    Code của bạn có một vài chỗ sai từ khóa, mình đã chỉnh lại, ok
     
  9. hai6f2009

    hai6f2009 Guest

    để mình test lại thử xem! Chờ mình chút xíu nha....
     
  10. hai6f2009

    hai6f2009 Guest

    vẫn bị tình trạng như vậy khi mình đã chỉnh và test lại như bạn nói bạn ơi!
     
  11. nghgh97

    nghgh97 Guest

    Cứ lỗi hoài vậy bạn thử gỡ FP ra rồi cài lại xem sao :-? có thể là bị thiếu mất thứ gì đó
     
  12. mikelhpdatke

    mikelhpdatke Guest

    Code đấy mình test trên cả Ideone cũng ko có vấn đề j mà, bạn cài lại FP xem
     
  13. quanghero100

    quanghero100 Guest


    Lỗi Exit code 2 là lỗi không tìm thấy file. Lỗi được báo khi có những lệnh Erase, Rename hoặc là Mở một file không tồn tại.
    Khắc phục nó đó là trong lần chạy đầu tiên bạn cần thêm lệnh rewrite(f1); sau lệnh assign(f1,'RESIST.DAT'); và assign(f1,'RESIST.EQU'); để tạo file sau đó xóa 2 lệnh vừa thêm đó đi sau đó mở file input nhập dữ liệu vào lưu lại rồi chạy chương trình như vậy là okê rùi nhé :D:D:D
     
  14. hai6f2009

    hai6f2009 Guest

    Vẫn không ổn bạn ơi! Mình đã làm thử nhưng không được!T_T
     
  15. mikelhpdatke

    mikelhpdatke Guest

    Code thì mình đã test, không sai. Nếu FP bạn cài lại mà vẫn bị thì bạn xem lại đường dẫn, file tồn tại đã đúng chưa. Nếu vẫn không được cài teamwiewer mình thử cho.
     
  16. 11thanhkhoeo

    11thanhkhoeo Guest

    Đường dẫn đền file assign(fi,'D:\resign.dat');
    Đặt file đó ở ổ D

    Thân
     
  17. mikelhpdatke

    mikelhpdatke Guest

    Cái đấy e bảo chủ theard rồi, chủ theard bảo ko được ?_?
     
  18. 11thanhkhoeo

    11thanhkhoeo Guest

    Free lôi. thiếu thư viện

    Cách giải quyết : cài lại free

    Thân
     
  19. hai6f2009

    hai6f2009 Guest

    hu hu! mình cài lại rồi mà lại chứng nào tật nấy! Ai giúp mình với!
     
    binhdlbt thích bài này.
  20. mikelhpdatke

    mikelhpdatke Guest

Chú ý: Trả lời bài viết tuân thủ NỘI QUY. Xin cảm ơn!

Draft saved Draft deleted

CHIA SẺ TRANG NÀY