- 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.510-45 3.410+38 byte Real 2.910-39 1.710+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 :
Mã Kí tự Mã Kí tự Mã Kí tự Mã 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