Loading
+ Trả Lời Ðề Tài + Gởi Ðề Tài Mới
kết quả từ 1 tới 3 trên 3

Ðề tài: Một số lỗi cú pháp thường gặp của pascal

  1. #1
    Administrator
    thangnv27's Avatar

    Tham gia: Nov 2010
    Thanks: 246
    Thanked 434 Times in 313 Posts

    Một số lỗi cú pháp thường gặp của pascal

    Khi làm việc với bất cứ một ngôn ngữ lập trình nào, việc hiểu biết rõ các thông báo lỗi rất quan trọng. Đối với người đang học ngôn ngữ đó, trong quá trình làm việc không thể tránh khỏi thao tác sai sinh lỗi. Việc biết rõ ý nghĩa các thông báo lỗi sẽ giúp cho việc sửa chưng trình được nhanh hơn, giúp cho người học hiểu rõ hơn công việc mình làm. Đối với những người viết ứng dụng, ý nghĩa các lỗi sinh ra trong quá trình chạy chưng trình cũng rất quan trọng. Người lập trình cần phải bắt các lỗi trong chương trình để có thể thông báo kịp thời cho người sử dụng, tránh việc chưng trình bị ngắt, không thực hiện tiếp được. Việc học ngôn ngữ PASCAL trong nhà trường đã trở nên rộng rãi, do đó một tài liệu mô tả chi tiết các thông báo lỗi trong PASCAL cũng rất cần thiết. Sau đây là toàn bộ các thông báo lỗi mà người dùng có thể gặp khi làm việc với môi trường PASCAL.

    Các lỗi sinh ra trong quá trình chạy chương trình (Runtime error)

    Mã lỗi ý nghĩa
    1 Invalid function number Sai số hiệu hàm
    2 File not found Không tìm thấy file
    3 Path not found Không tìm thấy đường dẫn
    4 Too many open files Mở quá nhiều file
    5 File access denied Không truy nhập được file
    6 Invalid file handle Số hiệu file không hợp lệ
    12 Invalid file access code Mã truy nhập file không hợp lệ
    15 Invalid drive number Số hiệu thiết bị không hợp lệ
    16 Cannot remove current directory Không thể xoá hoặc chuyển thư mục hiện hành
    17 Cannot rename across drives Không thể đổi tên các thiết bị chéo nhau
    100 Disk read error Lỗi khi đọc đĩa
    101 Disk write error Lỗi khi ghi đĩa
    102 File not assigned File chưa được chỉ định
    103 File not open File chưa được mở
    104 File not open for input File chưa được mở để lấy dữ liệu
    105 File not open for output File chưa đựoc mở để xuất dữ liệu
    106 Invalid numeric format Định dạng số không hợp lệ
    150 Disk is write-protected Đĩa đang được bo vệ chống ghi
    151 Bad drive request struct length Độ lớn cấu yêu cầu cấu trúc thiết bị sai
    152 Drive not ready Thiết bị chưa sẵn sàng
    154 CRC error in data Lỗi kiểm tra độ dư vòng trong dữ liệu
    156 Disk seek error Lỗi tìm kiếm trên đĩa
    157 Unknown media type Không biết kiểu thiết bị
    158 Sector Not Found Không tìm thấy sector được yêu cầu
    159 Printer out of paper Hết giấy trên máy in
    160 Device write fault Lỗi ghi thiết bị
    161 Device read fault Lỗi đọc thiết bị
    162 Hardware failure Lỗi phần cứng
    200 Division by zero Lỗi chia cho 0
    201 Range check error Lỗi tràn bộ nhớ
    202 Stack overflow error Lỗi tràn ngăn xếp
    203 Heap overflow error Lỗi tràn vùng nhớ Heap
    204 Invalid pointer operation Con trỏ phép toàn không hợp lệ
    205 Floating point overflow Tràn dấu phẩy động
    206 Floating point underflow Tràn dấu phẩy động
    207 Invalid floating point operation Phép toàn với số dấu phẩy động không hợp lệ
    208 Overlay manager not installed Quản lí tràn chưa được cài đặt
    209 Overlay file read error Lỗi tràn khi đọc file
    210 Object not initialized Đối tượng chưa được khởi tạo
    211 Call to abstract method Lỗi gọi một phưng thức trừu tượng
    212 Stream registration error Lỗi đăng kí dòng xuất nhập


    Các lỗi biên dịch (Compiler error)

    1 Out of memory Thiếu bộ nhớ
    2 Identifier expected Thiếu chỉ định
    3 Unknown identifier Không hiểu chỉ định
    4 Duplicate identifier Trùng tên
    5 Syntax error Lỗi cú pháp
    6 Error in real constant Lỗi hằng số thực
    7 Error in integer constant Lỗi hằng số nguyên
    8 String constant exceeds line Hằng xâu vượt quá một dòng
    9 Too many nested files Quá nhiều file l**ng nhau
    10 Unexpected end of file Không tìm thấy kết thúc file
    11 Line too long File quá dài
    12 Type identifier expected Không tìm thấy định nghĩa kiểu
    13 Too many open files Quá nhiều file được mở
    14 Invalid file name Tên file không hợp lệ
    15 File not found Không tìm thấy file
    16 Disk full Đĩa đầy
    17 Invalid compiler directive Dẫn hướng biên dịch không hợp lệ
    18 Too many files Quá nhiều file
    19 Undefined type in pointer def Chưa định nghĩa kiểu của con trỏ
    20 Variable identifier expected Không tìm thấy định nghĩa biến
    21 Error in type Lỗi kiểu
    22 Structure too large Cấu trúc quá lớn
    23 Set base type out of range Kiểu cơ bản bị tràn
    24 File components may not be files or objects Các thành phần file có thể không Phải là file hay object
    25 Invalid string length Độ dài xâu không hợp lệ
    26 Type mismatch Sai kiểu
    27 Invalid subrange base type Kiểu thừa kế không hợp lệ
    28 Lower bound > than upper bound Cận dưới lớn hn cận trên (con trỏ nhớ)
    29 Ordinal type expected Không tìm thấy kiểu thứ tự
    30 Integer constant expected Không tìm thấy hằng số nguyên
    31 Constant expected Phải là hằng số
    32 Integer or real constant expected Phải là số nguyên hoặc là số thực
    33 Pointer Type identifier expected Phải là định nghĩa kiểu con trỏ
    34 Invalid function result type Kiểu trả về của hàm không hợp lệ
    35 Label identifier expected Phải là định nghĩa nhãn
    36 BEGIN expected Phải là BEGIN
    37 END expected Phải là END
    38 Integer expression expected Phải là thể hiện của số nguyên
    39 Ordinal expression expected Phải là thể hiện của biến có thứ tự
    40 Boolean expression expected Phải là thể biện của biến logic
    41 Operand types do not match Không hợp kiểu các toán hạng
    42 Error in expression Lỗi biểu diễn
    43 Illegal assignment Gán sai
    44 Field identifier expected Phải là định nghĩa trường
    45 Object file too large Đối tượng file quá lớn
    46 Undefined EXTERN Không định nghĩa EXTERN
    47 Invalid object file record Đối tượng bn ghi file không hợp lệ
    48 Code segment too large Mã phân đoạn quá lớn
    49 Data segment too large Dữ liệu phân đoạn quá lớn
    50 DO expected Thiếu DO
    51 Invalid PUBLIC definition Định nghĩa PUBLIC không hợp lệ
    52 Invalid EXTRN definition Định nghĩa EXTERN không hợp lệ
    53 Too many EXTRN definitions Quá nhiều định nghĩa EXTERN
    54 OF expected Thiếu OF
    55 INTERFACE expected Phải là từ khoá INTERFACE
    56 Invalid relocatable reference Tham chiếu tái định vị không hợp lệ
    57 THEN expected Thiếu từ khoá THEN
    58 TO or DOWNTO expected Phải là từ khoá TO hoặc DOWNTO
    59 Undefined forward Biến hay hàm chưa được định nghĩa trước đó
    60 Too many procedures Quá nhiều chương trình con
    61 Invalid typecast Sai thể hiện kiểu
    62 Division by zero Lỗi chia cho 0
    63 Invalid file type Kiểu file không hợp lệ
    64 Cannot read or write vars of this type Không thể đọc hãy ghi kiểu dữ liệu này
    65 Pointer variable expected Phải là biến con trỏ
    66 String variable expected Phải là biến xâu
    67 String expression expected Phải là thể hiện xâu
    68 Circular unit reference Tham chiếu vòng các đn vị chưng trình
    69 Unit name mismatch Không đúng tên unit
    70 Unit version mismatch Không đúng version của unit
    71 Duplicate unit name Lặp tên unit
    72 Unit file format error Cấu trúc unit file bị lỗi
    73 Implementation expected Phải là IMPLEMENTATION
    74 Constant and case types don't match Hằng và các kiểu không hợp
    75 Record variable expected Phải là biến record
    76 Constant out of range Hằng bị tràn
    77 File variable expected Phải là biến file
    78 Pointer expression expected Phải là thể hiện của con trỏ
    79 Integer or real expression expected Phải là thể hiện của số nguyên hoặc số thực
    80 Label not within current block Nhãn không đi cùng với khối hiện hành
    81 Label already defined Nhãn đã được định nghĩa
    82 Undefined label in preceding stmt part Không định nghĩa trước nhãn
    83 Invalid @@ argument Đối số @@ không hợp lệ
    84 UNIT expected Phải là từ khoá UNIT
    85 ";" expected Phải là dấu ";"
    86 ":" expected Phải là dấu ":"
    87 "," expected Phải là dấu ","
    88 "(" expected Phải là dấu "("
    89 ")" expected Phải là dấu ")"
    90 "=" expected Phải là dấu "="
    91 ":=" expected Phải là dấu ":="
    92 "[" or "(." Expected Phải là dấu "[" hoặc "(."
    93 "]" or ".)" expected Phải là dấu "]" hoặc ".)"
    94 "." expected Phải là dấu "."
    95 ".." expected Phải là dấu ".."
    96 Too many variables Quá nhiều biến
    97 Invalid FOR control variable Biến điều khiển FOR không hợp lệ
    98 Integer variable expected Phải là một biến số nguyên
    99 Files and procedure types are not allowed here Không cho phép ác file và các kiểu chưng trình con
    100 String length mismatch Độ dài xâu không hợp
    101 Invalid ordering of fields Thứ tự các trường không hợp
    102 String constant expected Không thấy hằng xâu
    103 Integer or real variable expected Không thấy biến nguyên hoặc thực
    104 Ordinal variable expected Phải là biến có thứ tự
    105 INLINE error Lỗi INLINE
    106 Character expression expected Phải là thể hiện của kiểu kí tự
    107 Too many relocation items Quá nhiều thành phần tái định vị
    112 CASE constant out of range Hằng CASE bị tràn
    113 Error in statement Lỗi trong câu lệnh
    114 Cannot call an interrupt procedure Không thể gọi một thủ tục ngắt
    116 Must be in 8087 mode to compile Phải ở kiểu biên dịch 8087
    117 Target ađress not found Không tìm thấy địa chỉ đích
    118 Include files are not allowed here Không được bao gồm file
    120 NIL expected Phải là từ khoá NIL
    121 Invalid qualifier Giới hạn không hợp lệ
    122 Invalid variable reference Tham chiếu biến không hợp lệ
    123 Too many symbols Quá nhiều kí hiệu
    124 Statement part too large Thành phần câu lệnh quá lớn
    126 Files must be var parameters Các file Phải đựoc khai báo tham số
    127 Too many conditional symbols Quá nhiều kí hiệu điều kiện
    128 Misplaced conditional directive Chỉ dẫn điều kiện không đúng chỗ
    129 ENDIF directive missing Thiếu chỉ dẫn END IF
    130 Error in initial conditional defines Lỗi khởi tạo các định nghĩa điều kiện
    131 Header does not match previous definition Header không hợp với định nghĩa trước đó
    132 Critical disk error Lỗi đĩa trầm trọng
    133 Cannot evaluate this expression Không thể ước lượng của thể hiện này
    134 Expression incorrectly terminated Thể hiện không được kết thúc trực tiếp
    135 Invalid format specifier Khai báo cấu trúc không hợp lệ
    136 Invalid indirect reference Tham chiếu gián tiếp không hợp lệ
    137 Structured variables are not allowed here Không cho phép các biến có cấu trúc
    138 Cannot evaluate without System unit Không thể ước lượng mà không có unit System
    139 Cannot access this symbol Không thể truy xuất kí hiệu này
    140 Invalid floating-point operation Phép toán dấu phẩy động không hợp lệ
    141 Cannot compile overlays to memory Không thể biên dịch overlay bộ nhớ
    142 Procedure or function variable expected Phải là biến chưng trình con
    143 Invalid procedure or function reference Tham chiếu chưng trình con không hợp lệ
    144 Cannot overlay this unit Không thể overlay unit này
    145 Too many nested scopes Quá nhiều phạm vi xếp chồng nhau
    146 File access denied Không thể truy xuất
    147 object type expected Phải là một kiểu object
    148 Local object types are not allowed Không cho phép các kiểu object địa phưng
    149 Virtual expected Phải là từ khoá VIRTUAL
    150 Method identifier expected Phải là định nghĩa phưng thức
    151 Virtual constructors are not allowed Không cho phép các constructor là o
    152 Constructor identifier expected Phải là định nghĩa constructor
    153 Destructor identifier expected Phải là định nghĩa deconstructor
    154 Fail only allowed within constructors Lỗi chỉ cho phép với constructor
    155 Invalid combination of opcode and operands Kết hợp toán hạng và toán tử không hợp lệ
    156 Memory reference expected Phải là tham chiếu bộ nhớ
    157 Cannot ađ or subtract relocatable symbols Không thể thêm hay hoá một kí hiệu tái định vị
    158 Invalid register combination Kết hợp thanh ghi không hợp lệ
    159 286/287 instructions are not enabled Không cho phép các lệnh 286/287
    160 Invalid symbol reference Tham chiếu kí hiệu không hợp lệ
    161 Code generation error Lỗi sinh mã
    162 ASM expected Phải là từ khoá ASM


    Khi làm BT trên pascal và bị báo lỗi, nếu ko biết là lỗi gì, các bạn cứ dòm coi lỗi "số" mấy (VD: 101) và dò trên bảng lỗi trên nhé 1. Lỗi cú pháp là những lỗi phát sinh do lập trình viên viết sai những quy định về văn phạm của hệ thống hoặc ngôn ngữ. Thí dụ các lỗi sau đây là những lỗi cú pháp:
    (a + b * 2: thiếu dấu đóng ngoặc
    BEGIM: định viết BEGIN, sai N
    2. Xử lý lỗi. Lỗi cú pháp được phát hiện trong quá trình dịch. Turbo Pascal báo lỗi cú pháp theo nguyên tắc "Mỗi lần chỉ báo một lỗi".
    Nếu gặp lỗi ta cần trở về chế độ soạn thảo, tìm vị trí xuất hiện lỗi, sửa lại lỗi đó rồi dịch lại chương trình.
    Sau khi báo lỗi, Turbo Pascal sẽ chờ ta bấm phím ESC để trở về chế độ soạn thảo. Con trỏ của màn hình soạn thảo sẽ đặt ở cạnh vị trí xuất hiện lỗi, thông thường quá đi 1 ký tự.
    3. Các thông báo lỗi thường gặp và gợi ý khắc phục.
    Lỗi 2. Identifier expected: mong gặp định danh (coù theå do chöa khai baùo bieán, haèng…)
    Lỗi 3. Unknown identifier: định danh chưa được khai báo. Hãy khai báo định danh này ở đầu thủ tục hoặc chương trình.( coù theå do sai chính taû moät teân, töø khoaù naøo ñoù)
    Lỗi 4. Duplicate identifier: định danh được khai báo 2 lần trở lên.
    Lỗi 5. Syntax error: Lỗi cú pháp. Gặp một ký tự sai hoặc viết sai một hằng.
    Lỗi 6. Error in real constant: Viết sai hằng thực.
    Lỗi 7. Error in integer constant: Viết sai hằng nguyên.
    Chú ý rằng khai báo CONST c = 1234 sẽ cho ta một hằng c kiểu nguyên. Muốn có một hằng kiểu thực, ta viết CONST c = 1234.0. Những hằng có giá trị nằm ngoài khoảng -2147483648..2147483647 cần được khai báo theo kiểu thực, thí dụ:
    CONST c = 12345678912.0;
    Lỗi 8. String constant exceeds line: giá trị của xâu ký tự quả dài, xem lại có thiếu dấu đóng/mở (dấu nháy đơn) hằng văn bản không?
    Lỗi 10. Unexpected end of file: Cần gặp dấu kết tệp. Lỗi 10 có thể xuất hiện trong các trường hợp sau:
    - Trong trương trình các cặp BIGIN và END không cân đối.
    - Tệp khác được gọi *****g tại một vị trí không hợp lệ.
    - Chú thích chưa được đóng bằng dấu } hoặc * ).
    Lỗi 11. Line too long: Dòng dài quá Bộ soạn thảo cho phép phát sinh các dòng dài tối đa 249 ký tự trong khi khi chương trình dịch chỉ làm việc với các dòng dài tối đa 126 ký tự. Lời khuyên: Không nên viết các dòng dài quá 60 ký tự.
    Lỗi 12. Type identifier expected: Cần có định danh kiểu
    Lỗi 20. Variable identifier expected: Cần một định danh cho biến Thí dụ FOR = 4 TO 20 DO sẽ sinh lỗi 20.
    Lỗi 25. Invalid string length: Chiều dài xâu không hợp lệ. Chiều dài hợp lệ nằm trong khoảng 0 .. 255.
    Lỗi 26. TYPE mismatch: Kiểu không tương thích. các nguyên nhân sinh lỗi có thể là: - Biểu thức được gán cho biến không đúng kiểu. Thí dụ
    VAR x: char;
    BEGIN
    x: = 127 * 8
    END.
    Lỗi 29. Ordinal type expected: Cần một kiểu thứ bậc. Trong trường hợp này không được dùng các kiểu Real, string, Record, PROCEDURE hoặc pointer.
    Lỗi 30. Integer constant expected: Cần một hằng nguyên
    Lỗi 31. Constant expected: Cần một hằng
    Lỗi 33. Type identifier expected: Cần một định danh kiểu
    Lỗi 36. BEGIN expected: Thiếu BEGIN
    Lỗi 37. END expected: Thiếu END
    Lỗi 38. Integer expression expexted: Cần biểu thức nguyên
    Lỗi 39. Ordinal expression expected: Cần biểu thức thứ bậc
    Lỗi 40. Boolean expression expected: Cần biểu thức kiểu BOOLEAN
    Lỗi 41. Operand types do not match operator: Kiểu toán hạng không phù hợp với toán tử
    Lỗi 42. Error in expression: Biểu thức sai. Thường gặp trường hợp sử dụng ký tự lạ hoặc quên viết dấu phép toán trong biểu thức.
    Lỗi 43. Illegal assigment: Gans Gán không hợp lệ. Không được gán trị cho biến tệp hoặc biến không định kiểu. Không được gán trị cho định danh hàm ở ngoài thân của hàm đó.
    Lỗi 44. Field identifier expected: Cần một định danh thường. Lỗi phát sinh khi sử dụng bản ghi (RECORD) không có trường hợp đi kèm.
    Lỗi 54. OF expected:Thiếu OF trong TYPE, CASE, FILE, SET, ARRAY
    Lỗi 57. THEN expected:Thiếu THEN trong IF
    Lỗi 58. TO or DOWN TO expected: Thiếu To hoặc DOWN TO trong FOR
    Lỗi 66. String variable expected: Cần một biến string.
    Lỗi 67. String expression expected; Cần một biểu thức string.
    Lỗi 74. Constant and case types do not match: Kiểu hằng và kiểu biểu thức trong CASE không phù hợp với nhau.
    Lỗi 75. Record variable expected: Cần một biến kiểu RECORD.
    Lỗi 76. Constant out of range: Hằng vượt quá miền. Lỗi có thể gặp trong các tình huống sau: - Chỉ dẫn mảng vượt ra ngoài giới hạn của mảng - Gọi thủ tục và hàm với các tham trị cụ thể vượt ra ngoài giới hạn đã khai báo.
    Lỗi 79. Integer or Real expssion expected: Cần một biểu thức kiểu INTEGER hoặc REAL.
    Lỗi 85. ";" expected: Cần có dấu chấm phảy.
    Lỗi 86. ": " expected: Cần có dấu hai chấm.
    Lỗi 87. " , " expected: Cần có dấu phảy
    Lỗi 88. " ( " expected: Cần có dấu mở ngoặc đơn
    Lỗi 89 " ) " expected: Cần có dấu đóng ngoặc đơn
    Lỗi 99. " = " expected: Cần có dấu bằng.
    Lỗi 91. ":= "expected: Cần dấu gán
    Lỗi 92 " [ " or " (. " expected: Cần mở dấu ngoặc vuông khi khai báo hoặc chỉ định phần tử của mảng, tập.
    Lỗi 93. " ] " or " .) " expected: Cần dấu đóng ngoặc vuông khi khai báo hoặc chỉ định phần tử của mảng hoặc tập.
    Lỗi 94. " ." expected: Cần dấu chấm khi chỉ định một trường trong bản ghi
    Lỗi 95 " .." expected: Cần dấu nhiều chấm khi liệt kê giới hạn mảng, tập.
    Lỗi 98. Integer variable expected: Cần biến nguyên.
    Lỗi 100. String. length, mismatch: Chiều dài xâu không phù hợp với số lượng các phần tử của mảng ký tự.
    Lỗi 102. String constant expected: Cần một hằng kiểu xâu.
    Lỗi 103. Integer or real variable expected: Cần biến nguyên hoặc thực (biến số).
    Lỗi 104. Ordinal variable expected: Cần biến (kiểu) thứ tự.
    Lỗi 106. Character expressionexpected: Cần biểu thức kiểu ký tự.
    Lỗi 112 CASE constant out of range: Hằng của toán tửCASE không nằm trong giới hạn. -32768 dến 32767
    Lỗi 113 Error in statement: Câu lệnh sai. Lỗi không sảy ra khi viết sai kí tự đầu tiên của câu lệnh.
    Lỗi 200 Division by zero: chia cho số 0.

    Xem thêm các chủ đề liên quan:

    Chia sẻ bài viết cho bạn bè
    Copy đường link dưới đây gửi đến nick yahoo bạn bè!
    Welcome to http://www.24kho.com
    Cám ơn bạn đã tham gia Diễn đàn CNTT 24Kho.Com
    Hãy đóng góp bài viết của bạn tại http://www.24kho.com để cùng nhau góp phần phát triển CNTT Việt Nam.
    Chúc bạn online vui vẻ!

  2. #2
    Banned
    yuki_shop1's Avatar

    Tham gia: Dec 2013
    Thanks: 0
    Thanked 0 Times in 0 Posts
    Upppppppppppppppppppppppppp cai nao

  3. #3
    Lính mới
    TreNguonresort's Avatar

    Tham gia: Aug 2014
    Thanks: 0
    Thanked 0 Times in 0 Posts
    Đúng mấy cái lỗi này rồi.

+ Trả Lời Ðề Tài

Từ khoá tìm kiếm cho chủ đề này

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
ky thuat lap trinh