1. Trang chủ
  2. » Trung học cơ sở - phổ thông

LY-THUYET-PASCAL - Website Trường THCS Lê Quý Đôn - Đại Lộc - Quảng Nam

13 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 246,96 KB

Nội dung

- Có thể sử dụng các lệnh READ(LN) /WRITE(LN) để đọc và in dữ liệu đối với các phần tử của biến kiểu mảng.. Bài tâp: 1/ Viết chương trình cho phép nhập n số và in ra theo thứ tự ngược[r]

(1)

A-CÁC KIỂU DỮ LIỆU CƠ BẢN

KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC VÀ CÂU LỆNH I CÁC KIỂU DỮ LIỆU CƠ BẢN

1 Kiểu logic

- Từ khóa: BOOLEAN

- miền giá trị: TRUE (đúng), FALSE(sai).

- Các phép toán: phép so sánh (=, <, >) phép toán logic: AND, OR, XOR, NOT Trong Pascal, so sánh giá trị boolean ta tuân theo qui tắc: FALSE < TRUE

Giả sử A B hai giá trị kiểu Boolean Kết phép toán thể qua bảng đây:

A B A AND B A OR B A XOR B NOT A

TRUE TRUE TRUE TRUE FALSE FALSE

TRUE FALSE FALSE TRUE TRUE FALSE

FALSE TRUE FALSE TRUE TRUE TRUE

FALSE FALSE FALSE FALSE FALSE TRUE

2 Kiểu số nguyên 2.1 Các kiểu số nguyên

Tên kiểu Phạm vi Dung lượng

Byte  255 byte

Integer -32768  32767 byte

Word  65535 byte

LongInt -2147483648  2147483647 byte 2.2 Các phép toán kiểu số nguyên

2.2.1 Các phép toán số học:

+, -, *, / (phép chia cho kết số thực)

Phép chia lấy phần nguyên: DIV (Ví dụ : 34 DIV = 6) Phép chia lấy số dư: MOD (Ví dụ: 34 MOD = 4) 3 Kiểu số thực

3.1 Các kiểu số thực:

Tên kiểu Phạm vi Dung lượng

Single 1.510-45 3.410+38 byte Real 2.910-39 1.710+38 byte 3.2 Các phép toán kiểu số thực: +, -, *, /

Chú ý: Trên kiểu số thực không tồn phép toán DIV MOD. 4 Kiểu ký tự

- Từ khố: CHAR - Kích thước: byte

- Để biểu diễn ký tự, ta sử dụng số cách sau đây:  Đặt ký tự cặp dấu nháy đơn Ví dụ 'A', '0'

 Dùng hàm CHR(n) (trong n mã ASCII ký tự cần biểu diễn) Ví dụ CHR(65) biễu diễn ký tự 'A'

 Dùng ký hiệu #n (trong n mã ASCII ký tự cần biểu diễn) Ví dụ #65 - Các phép toán: =, >, >=, <, <=,<>

* Các hàm kiểu ký tự:

- UPCASE(ch): Trả ký tự in hoa tương ứng với ký tự ch Ví dụ: UPCASE('a') = 'A' - ORD(ch): Trả số thứ tự bảng mã ASCII ký tự ch Ví dụ ORD('A')=65

(2)

- PRED(ch): cho ký tự đứng trước ký tự ch Ví dụ: PRED('B')='A' - SUCC(ch): cho ký tự đứng sau ký tự ch Ví dụ: SUCC('A')='B' II KHAI BÁO HẰNG

- Hằng đại lượng có giá trị khơng thay đổi suốt chương trình - Cú pháp:

CONST <Tên hằng> = <Giá trị>; III KHAI BÁO BIẾN

- Biến đại lượng mà giá trị thay đổi q trình thực chương trình - Cú pháp:

VAR < DS Tên biến> : <Kiểu liệu>; Ví dụ:

VAR x, y: Real; {Khai báo hai biến x, y có kiểu Real} a, b: Integer; {Khai báo hai biến a, b có kiểu integer} IV BIỂU THỨC

Biểu thức cơng thức tính tốn mà bao gồm phép toán, hằng, biến, hàm dấu ngoặc đơn

Ví dụ: (x +y)/(5-2*x) biểu thức số học (x+4)*2 = (8+y) biểu thức logic

Trong biểu thức, thứ tự ưu tiên phép toán liệt kê theo thứ tự sau:  Dấu ngoặc ()

 Phép toán *, /, DIV, MOD, AND

 Phép toán so sánh =, <, >, <=, >=, <>, IN V CÂU LỆNH

6.1 Câu lệnh đơn giản

- Câu lệnh gán (:=): <Tên biến>:=<Biểu thức>;

- Các lệnh xuất nhập liệu: READ/READLN, WRITE/WRITELN. - Lời gọi hàm, thủ tục

6.2 Câu lệnh có cấu trúc

- Câu lệnh ghép: BEGIN END;

- Các cấu trúc điều khiển: IF , CASE , FOR , REPEAT , WHILE 6.3 Các lệnh xuất nhập liệu

6.3.1 Lệnh xuất liệu

Để xuất liệu hình, ta sử dụng ba dạng sau: (1) WRITE(<tham số 1> [, <tham số 2>, ]); (2) WRITELN(<tham số 1> [, <tham số 2>, ]); (3) WRITELN;

Các thủ tục có chức sau:

(1) Sau xuất giá trị tham số hình trỏ khơng xuống dòng (2) Sau xuất giá trị tham số hình trỏ xuống đầu dịng (3) Xuống dịng

Các tham số hằng, biến, biểu thức Nếu có nhiều tham số câu lệnh tham số phải phân cách dấu phẩy

Khi sử dụng lệnh WRITE/WRITELN, ta có hai cách viết: khơng qui cách có qui cách:

- Viết khơng qui cách: liệu xuất canh lề phía bên trái Nếu liệu số thực in dạng biểu diễn khoa học

Ví dụ:

WRITELN(x); WRITE(sin(3*x));

- Viết có qui cách: liệu xuất canh lề phía bên phải Ví dụ:

(3)

Câu lệnh Kết hình Writeln('Hello');

Writeln('Hello':10); Writeln(500); Writeln(500:5); Writeln(123.457) Writeln(123.45:8:2)

Hello Hello 500 500

1.2345700000E+02 123.46

6.3.2 Nhập liệu

Để nhập liệu từ bàn phím vào biến có kiểu liệu chuẩn (trừ biến kiểu BOOLEAN), ta sử dụng cú pháp sau đây:

READLN(<biến 1> [,<biến 2>, ,<biến n>]);

Chú ý: Khi gặp câu lệnh READLN; (khơng có tham số), chương trình dừng lại chờ người sử dụng nhấn phím ENTER chạy tiếp

B-CÂU LỆNH ĐIỀU KIỆN (CẤU TRÚC RẼ NHÁNH)

(4)

Dạng 1 Dạng 2 CASE B OF

Const 1: S1; Const 2: S2;

Const n: Sn; END;

CASE B OF Const 1: S1; Const 2: S2;

Const n: Sn; ELSE Sn+1;

END; Trong đó:

 B: Biểu thức kiểu vô hướng đếm kiểu nguyên, kiểu logic, kiểu ký tự, kiểu liệt kê

 Const i: Hằng thứ i, giá trị hằng, giá trị (phân cách dấu phẩy) đoạn (dùng hai dấu chấm để phân cách giá trị đầu giá trị cuối)

 Giá trị biểu thức giá trị tập i (i=1¸n) phải có kiểu Khi gặp lệnh CASE, chương trình kiểm tra:

- Nếu giá trị biểu thức B nằm tập const i máy thực lệnh Si tương ứng - Ngược lại:

+ Đối với dạng 1: Khơng làm + Đối với dạng 2: thực lệnh Sn+1

C- CÂU LỆNH LẶP 1 Vòng lặp với số lần biết trước.

Có hai dạng sau:

Dạng tiến : FOR <biến đếm>:=<giá trị đầu> TO <giá trị cuối> DO câu lệnh; + Hoạt động vòng lặp:

- B1: biến đếm nhận giá trị đầu

- B2: Chương trình kiểm tra biểu thức điều kiện, biểu thức điều kiện thực câu lệnh - B3: Biến đếm tự động tăng lên đơn vị quay lại B2

- B4: Nếu biểu thức điều kiện nhận giá trị sai khỏi vịng lặp

Dạng lùi : FOR <biến đếm>:=< giá trị cuối > DOWNTO < giá trị đầu > DO câu lệnh;

Chú ý: Khi sử dụng câu lệnh lặp FOR cần ý điểm sau:

Không nên tuỳ tiện thay đổi giá trị biến đếm bên vòng lặp FOR làm khơng kiểm soát biến đếm.

Giá trị đầu cuối câu lệnh FOR xác định vào đầu vịng lặp Do cho dù trong vịng lặp ta có thay đổi giá trị số lần lặp khơng thay đổi.

Bài tập :

1/ Viết chương trình in số lẻ nhỏ n (Với n nhập).

Program In_So_Le; Uses crt;

var i,n: integer; Begin

Clrscr;

Write('Nhap so n ='); readln(n);

For i:=1 to n if i mod =1 then Write(i:3,','); readln

end

2/ Viết chương trình in số lẻ nhỏ n ( Với n nhập) Sao cho 15 số lẻ được in dòng.

(5)

Uses crt;

var Dem,i,n: integer; Begin

Clrscr;

Write('Nhap so n ='); readln(n); Dem:= 0;

For i:=1 to n if i mod =1 then Begin

Write(i:3,','); Dem:= Dem + 1;

if Dem mod 15 = then Writeln; end;

readln end

3 /Một số có tổng ước nhỏ nó gọi số hồn chỉnh. Ví dụ: có ước nhỏ 1, 2, Tổng + + = 6.

Viết chương trình xét xem số n nhập từ bàn phím có phải số hồn chỉnh không.

Program So_Hoan_Chinh; uses crt;

var n, i, s: integer; begin

write('nhap so n: ');readln(n); s:=0;

for i:= to n -1 if n mod i = then s:=s+i; if s = n then write(n, ' la so hoan chinh')

else writeln(n, ' khong phai la so hoan chinh'); readln

end

4/ Viết chương trình tìm số hồn chỉnh nhỏ n (Với n nhập từ bàn phím).

Program Tim_uoc_2; uses crt;

Var S, n, i,j: longint; Begin

clrscr;

Write('Nhap so n ='); readln(n); For i:=1 to n

Begin S:=0;

For j:=1 to i if i mod j = then S:=S+j; if S = 2*i then write(i:6,',');

end; readln end

.2 Vòng lặp với số lần chưa biết trước số lần lặp a Lệnh While Do ;

+ Cú pháp: While <điều kiện> <câu lênh>; + Hoạt động:

- B1 Kiểm tra điều kiện

- B2 Nếu điều kiện sai, câu lệnh bị bỏ qua việc thực câu lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh quay lại B1

b Lệnh Repeat Until ; * Cú pháp:

(6)

<Lệnh 1>; <Lệnh 2>; . <Lệnh n>;

UNTIL < Biểu thức logic >; Giải thích hoạt động lệnh REPEAT:

Đầu tiên, thực lệnh <Lệnh 1>, <Lệnh 2>, , <Lệnh n>, sau kiểm tra < Biểu thức logic > Nếu < Biểu thức logic > nhận giá trị FALSE lại quay lên đầu vịng lặp thực tiếp <Lệnh 1>, <Lệnh 2>, , <Lệnh n> Nếu < Biểu thức logic > nhận giá trị TRUE máy khỏi vịng lặp Như vậy, các lệnh nằm REPEAT UNTIL thực lần.

Chú ý:

- Các lệnh nằm REPEAT UNTIL khơng có từ khố Begin End - Trong vịng lặp phải có lệnh làm thay đổi giá trị biến <Biểu thức logic> nhằm làm dừng vịng lặp, khơng vịng lặp chạy không ngừng dẫn đến treo máy

Bài tập :

Viết chương trình in số lẻ nhỏ số nguyên dương n ( Với n nhập) Yêu cầu nhập lại n <=0

a Hướng dẫn:

- Sử dụng kiến thức số lẻ Số lẻ sau số trước cộng với - Cho biến i có giá trị ban đầu

- Dùng vòng lặp while với điều kiện i < n công việc bên in i tăng i lên

b Mã chương trình:

Program In_So_Le; uses crt;

var i,n:integer; begin

clrscr; Repeat

write('Nhap so n: ');readln(n); until n>0;

i:=1;

while i<=n begin

write(i:3,', '); i:=i+2; end;

readln end

Nhận xét:

- Mọi vòng lặp For to thay vòng lặp while - Đoạn mã:

Repeat

write('Nhap so n: ');readln(n); until n>0;

Dùng để kiểm tra, khống chế điều kiện liệu vào

- Trong vòng lặp while thiết phải có câu lệnh làm thay đổi điều kiện lặp Ở i:=i+2 Nếu khơng có dẫn đến trường hợp lặp vơ hạn Chương trình chạy mà khơng có lối (Khơng khỏi vịng lặp được) D- DỮ LIỆU KIỂU MẢNG (Một chiều)

I KHAI BÁO MẢNG Cú pháp:

(7)

VAR M: Array[1 100] of Integer; C: Array[‘A’ ’Z’] of byte;

Trong số có kiểu vơ hướng đếm (như: ngun, kí tự ) II QUẢN LÝ MỘT MẢNG:

- Để quản ly dãy cần hai biến nguyên biến mảng Một biến kiểu nguyên để lưu số phần tử dãy, biến nguyên khác để lưu số biến mảng để lưu giá trị phần tử dãy

- Để truy cập đến phần tử thứ i mảng A, ta sử dụng cú pháp: A[i]

- Có thể sử dụng lệnh READ(LN) /WRITE(LN) để đọc in liệu phần tử biến kiểu mảng

Bài tâp: 1/Viết chương trình cho phép nhập n số in theo thứ tự ngược lại Ví dụ nhập 3, 5, in ra 7, 5, 3.

Program mang_1; uses crt;

var n, i: integer;

M: array[1 100] of real; Begin

write('Nhap so n: ');readln(n); for i:=1 to n

Begin

write('M[',i,']='); readln(M[i]); end;

for i:= n downto write(m[i],’ ,’); readln

end

2/ Viết chương trình nhập n số, xố số thứ k n số vừa nhập.In n-1 số lại. n= 10 (Nhập 10 phần tử)

Ví dụ: Nhập 2, 3, 4, 5, 6, 8, 7, 6, 5, k= (Xoá phần tử thứ 8)

In ra: 2, 3, 4, 5, 6, 8, 7, 5, a Hướng dẫn:

Xoá phần tử k cách ghi đè phần tử thứ k+1 lên Program Xoa_mang;

uses crt;

var m:array[1 100] of integer; n,i,k:byte;

begin

Write('So phan tu cua day: ');readln(n); for i:=1 to n

Begin

write('M[',i,']='); readln(M[i]);

end;

write('Nhap phan tu can xoa: ');readln(k); for i:=k to n-1 m[i]:=m[i+1];

for i:=1 to n-1 write(m[i],', '); readln

end

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 (CTC) đoạn chương trình thực trọn vẹn hay chức Trong Turbo Pascal, có dạng CTC:

(8)

 Hàm (FUNCTION): Trả giá trị (có kiểu vơ hướng, kiểu string) Hàm sử dụng biểu thức

Ngoài ra, Pascal cho phép CTC lồng vào

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 .; VAR .;

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

BEGIN

END;

FUNCTION HAM[(Các tham số)]:<Kiểu liệu>; [Khai báo Const, Var]

BEGIN

HAM:=<Giá trị>; END;

BEGIN {Chương trình chính}

THUTUC[( )]; A:= HAM[( )]; END

Chú ý: Trong trình xây dựng CTC, nên dùng thủ tục/hàm?

Dùng hàm Dùng thủ tục

- Kết tốn trả giá trị nhất (kiểu vơ hướng, kiểu string).

- Lời gọi CTC cần nằm biểu thức tính tốn

- Kết tốn khơng trả giá trị nào trả nhiều giá trị trả về kiểu liệu có cấu trúc (Array, Record, File).

- Lời gọi CTC khơng nằm biểu thức tính tốn

CÁC HÀM XỬ LÍ TRONG PASCAL:

A/ Các hàm xử lí số:

1/ SQR(n): Trả bình phương n (VD: n = 25 SQR(n) = 625) 2/ SQRT(n): Trả bậc hai n (n≥0) (VD: n = 25 SQRT(n) = 5) 3/ ABS(n): Trả giá trị tuyệt đối n (VD: n = -25 ABS(n) = 25) 4/ EXP(n): Trả e mũ n (VD: n = EXP(n) = e2)

5/ TRUNC(n): Trả phần ngun n (n Ỵ Q).(VD: n = 3,24 TRUNC(n) = 3)

(9)

7/ ROUND(n): Làm tròn số n cho số nguyên gần n (VD: n = 3,52 ROUND(n)=

8/ ODD(n): Cho giá trị TRUE n số lẻ (VD: n = 23, m = 24 ODD(n) = TRUE, ODD(m) = FALSE)

9/ INC(n): Tăng n thêm đơn vị (n:=n+1) (VD: n = INC(n) = INC(n,4) = 9) 10/ DEC(n): Giảm n đơn vị (n:=n-1) (VD:n=5àDEC(n)=4 DEC(n,3)= 2) B/ Các hàm xử lí xâu:

1/ INSERT(S1,S2,vt): Chèn xâu S1 vào xâu S2 vị trí vt VD: S = ‘Song Hong’ Insert(S, 5, ‘12’) = ‘Song12 Hong’ 2/ DELETE(S,vt,n): Xố n kí tự xâu S vị trí vt VD: S = ‘Song Hong’ Delete(S, 1, 5) = ‘Hong’ 3/ UPCASE(ch): Chuyển kí tự ch thành chữ hoa

VD: Ch = ‘a’à UPCase(ch) = ‘A’

4/ POS(S1,S2):Cho vị trí xuất xâu S1 xâu S2 VD: S1= ‘n’; S2 = ‘Song Hong’ àPos(S1, S2) =

5/ LENGTH(S):Cho giá trị độ dài xâu S VD: S = ‘Song Hong’ àLength(S) =

6/ COPY(S,vt,n): Tạo xâu gồm n kí tự vị trí vt xâu S VD: S = ‘Song Hong’ Copy(S, 6, 3)= ‘Hon’

7/ CONCAT(S1,S2): Nối chuỗi S1 S2

VD: S1 = ‘Song’; S2 = ‘Hong’ àCONCAT(S1,S2)=“SongHong’ S = S1 + S2 8/ VAL(ch, so, code): Đổi chuỗi (ch) sang dạng số (so)

VD: ch = ‘1234’ VAL(ch,so,code) = 1234 (khi code = 0) ch = ‘12a4’ VAL(ch,so,code) bị lỗi (khi code = 3) 9/ STR(so,S): Đổi giá trị số (so) sang dạng chuỗi (S)

VD: so = 1234 STR(so, S) = ‘1234’ C/ Các hàm xử lí kí tự:

1/ ORD(ch): Trả số thứ tự bảng mã ASCII ký tự ch VD: ch = ‘A’ ORD(ch)=65

2/ CHR(n): Trả ký tự tương ứng bảng mã ASCII VD: n = 65 CHR(n) = ‘A’

3/ PRED(ch): cho ký tự đứng trước ký tự ch VD: ch = ‘B’ PRED(ch) = ‘A’ 4/ SUCC(ch): cho ký tự đứng sau ký tự ch VD: ch = ‘A’ SUCC(ch) = ‘B’

Bảng mã ASCII :

Kí tự Kí tự Kí tự Kí tự

0 NUI 32 SPACE 64 @ 96 .

1 SOH 33 ! 65 A 97 a

2 STX 34 66 B 98 b

3 ETX 35 # 67 C 99 c

4 EOT 36 $ 68 D 100 d

5 ENQ 37 % 69 E 101 e

6 ACK 38 & 70 F 102 f

7 BEL 39 71 G 103 g

8 BS 40 ( 72 H 104 h

9 HT 41 ) 73 I 105 i

10 LF 42 74 J 106 j

11 VT 43 + 75 K 107 k

(10)

13 CR 45 - 77 M 109 m

14 SO 46 . 78 N 110 n

15 SI 47 / 79 O 111 o

16 DLE 48 0 80 P 112 p

17 DC1 49 1 81 Q 113 q

18 DC2 50 2 82 R 114 r

19 DC3 51 3 83 S 115 s

20 DC4 52 4 84 T 116 t

21 NAK 53 5 85 U 117 u

22 SYN 54 6 86 V uploa

d.123 doc.ne

t

W

23 ETB 55 7 87 W 119 v

24 CAN 56 8 88 X 120 x

25 EM 57 9 89 Y 121 y

26 SUB 58 : 90 Z 122 z

27 ESC 59 ; 91 ] 123 {

28 FS 60 < 92 \ 124 |

29 GS 61 = 93 [ 125 }

30 RS 62 > 94 ^ 126 ~

31 US 63 ? 95 _ 127 DEL

MỘT SỐ LỖI CÚ PHÁP THƯỜNG GẶP CỦA PASCAL

1.Lỗi cú pháp: Là lỗi phát sinh lập trình viên viết sai quy định văn phạm hệ thống ngôn ngữ

2.Xử lý lỗi : Lỗi cú pháp phát trình dịch Turbo Pascal báo lỗi cú pháp theo nguyên tắc "Mỗi lần báo lỗi" Nếu gặp lỗi, ta cần trở chế độ soạn thảo, tìm vị trí xuất lỗi, sửa lại lỗi dịch lại chương trình

3.Các thông báo lỗi thường gặp gợi ý khắc phục :

Lỗi 2: Identifier expected: Mong gặp định danh (có thể chưa khai báo biến, hằng…)

Lỗi 3: Unknown identifier: Định danh chưa khai báo Hãy khai báo định danh đầu thủ tục chương trình (có thể sai tả tên, từ khố đó)

Lỗi 4: Duplicate identifier: định danh khai báo lần trở lên

Lỗi 5: Syntax error: Lỗi cú pháp Gặp ký tự sai viết sai Lỗi 6: Error in real constant: Viết sai thực

Lỗi 7: Error in integer constant: Viết sai nguyên

Lỗi 8: String constant exceeds line: Giá trị xâu ký tự dài, xem lại có thiếu dấu đóng/mở (dấu nháy đơn) văn khơng?

Lỗi 10: Unexpected end of file: Cần gặp dấu kết tệp Lỗi 10 xuất trường hợp sau:

+ Trong chương trình cặp BIGIN END không cân đối + Tệp khác gọi lồng vị trí khơng hợp lệ

(11)

Lỗi 11:Line too long: Dòng dài Bộ soạn thảo cho phép phát sinh dòng dài tối đa 249 ký tự khi chương trình dịch làm việc với dòng dài tối đa 126 ký tự

Lời khuyên: Không nên viết dòng dài 60 ký tự. Lỗi 12:Type identifier expected: Cần có định danh kiểu

Lỗi 20: Variable identifier expected: Cần định danh cho biến

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 khoảng 255

Lỗi 26: TYPE mismatch: Kiểu khơng tương thích Các ngun nhân sinh lỗi biểu thức gán cho biến không kiểu

Lỗi 29: Ordinal type expected: Cần kiểu thức bậc Trong trường hợp không dùng kiểu Real, string, Record, PROCEDURE pointer

Lỗi 30:Integer constant expected: Cần nguyên Lỗi 31:Constant expected: Cần

Lỗi 33:Type identifier expected: Cần đị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 not match operator: Kiểu tố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ạ quên viết dấu phép toán biểu thức

Lỗi 43: Illegal assigment: Gán không hợp lệ Không gán trị cho biến tệp biến không định kiểu Khơng gán trị cho định danh hàm ngồi thân hàm

Lỗi 44: Field identifier expected: Cần định danh thường Lỗi phát sinh sử dụng ghi (RECORD) khơng có trường hợp kèm

Lỗi 54:OF expected: Thiếu OF TYPE, CASE, FILE, SET, ARRAY Lỗi 57:THEN expected: Thiếu THEN IF

Lỗi 58:TO or DOWN TO expected: Thiếu To DOWN TO FOR Lỗi 66:String variable expected: Cần biến string

Lỗi 67:String expression expected; Cần biểu thức string

Lỗi 74: Constant and case types not match: Kiểu kiểu biểu thức CASE không phù hợp với

Lỗi 75:Record variable expected: Cần biến kiểu RECORD

Lỗi 76:Constant out of range: Hằng vượt miền Lỗi gặp tình sau: - Chỉ dẫn mảng vượt giới hạn mảng

- Gọi thủ tục hàm với tham trị cụ thể vượt giới hạn khai báo

Lỗi 79: Integer or Real expssion expected: Cần biểu thức kiểu INTEGER 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

(12)

Lỗi 89:" ) " expected: Cần có dấu đóng ngoặc đơn Lỗi 99: " = " expected: Cần có dấu

Lỗi 91: ":= "expected: Cần dấu gán

Lỗi 92: " [ " or " ( " expected: Cần mở dấu ngoặc vuông khai báo định phần tử mảng, tập

Lỗi 93: " ] " or " ) " expected: Cần dấu đóng ngoặc vng khai báo định phần tử mảng tập

Lỗi 94: " " expected: Cần dấu chấm định trường ghi Lỗi 95:" " expected: Cần dấu nhiều chấm 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 phần tử mảng ký tự

Lỗi 102: String constant expected: Cần kiểu xu

Lỗi 103: Integer or real variable expected: Cần biến nguyên 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 tốn tử CASE khơng nằm giới hạn

Lỗi 113:Error in statement: Câu lệnh sai Lỗi không sảy viết sai kí tự câu lệnh Lỗi 200: Division by zero: Chia cho số (Lỗi chạy chương trình)

* Phương pháp học giỏi môn tin học Pascal dành cho học sinh phổ thông

Đừng sợ cú pháp câu lệnh

Một số cú pháp cấu trúc cần học nhớ, cần thêm tham khảo tài liệu, cần chừng từ khóa thơi đủ để viết hầu hết tập pascal

Một số hàm thường dùng: ClrScr: lệnh xóa hình; Write, Writeln: ghi hình Read, readln: đọc giá trị vào biến Các phép toán thường dùng:

Phép cộng (+); Phép trừ (-); Phép nhân (*); phép chia (/);

Phép chia lấy phần nguyên (div); phép chia lấy phần dư(mod); Phép gán (:=),

(13)

+ Lệnh ghép : BEGIN END

+ Lệnh điều kiện : IF THEN ELSE CASE OF

+ Lệnh lặp : FOR TO DO REPEAT UNTIL WHILE DO

Chúng ta thấy khơng có nhiều cấu trúc cú pháp cần phải nhớ không

Gặp lỗi cú pháp dễ sửa, chương trình biên dịch Pascal báo cho ta xác lỗi gì? đâu? chạy chương trình Cho nên em khơng nên tập trung nhiều vào cú pháp ngôn ngữ lập trình mà tập trung nhiều vào tìm thuật tốn, tức tìm bước để giải tốn Vì tìm thuật tốn việc chuyển thành chương trình máy tính khơng cịn khó khăn

Ngày đăng: 02/04/2021, 01:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w