[Pascal] Giáo Trình Lập Trình Pascal cơ bản
Buổi 1- NS: 31/03/2015 – ND:
01/04/2015
Chương 1
CÁC THÀNH PHẦN
CƠ BẢN CỦA
NGÔN NGỮ LẬP
TRÌNH PASCAL
I. Các khái niệm cơ bản
1. Các bước cơ bản khi lập một chương
trình Pascal
Bước
1: Soạn thảo chương trình.
Bước
2: Dịch chương trình (nhấn phím F9), nếu có
lỗi thì phải sửa lỗi.
Bước
3: Chạy chương trình (nhấn phím Ctrl-F9).
2. Cấu trúc chung của một chương trình
Pascal
{ Phần tiêu đề }
PROGRAM Tên_chương_trình;
{ Phần khai báo }
USES ......;
CONST .....;
TYPE .......;
VAR ........;
PROCEDURE ............;
FUNCTION ..............;
...............
{ Phần thân chương trình }
BEGIN
...........
END.
3. Một số phím chức năng thường dùng
·
F2: Lưu
chương trình đang soạn thảo vào đĩa.
·
F3: Mở
file mới hoặc file đã tồn tại trên đĩa để soạn thảo.
·
Alt-F3: Đóng
file đang soạn thảo.
·
Alt-F5: Xem
kết quả chạy chương trình.
·
F8: Chạy
từng câu lệnh một trong chương trình.
·
Alt-X: Thoát
khỏi Turbo Pascal.
·
Alt-<Số thứ tự của file đang mở>: Dịch chuyển qua lại giữa các
file đang mở.
·
F10: Vào
hệ thống Menu của Pascal.
4. Các thao tác cơ bản khi soạn thảo chương trình
4.1. Các phím thông dụng
·
Insert: Chuyển qua lại giữa chế độ đè và chế độ chèn.
·
Home: Đưa con trỏ về đầu dòng.
·
End: Đưa con trỏ về cuối dòng.
·
Page Up: Đưa con trỏ lên một trang màn hình.
·
Page Down: Đưa con trỏ xuống một trang màn hình.
·
Del: Xoá ký tự ngay tại vị trí con trỏ.
·
Back Space (ß): Xóa ký tự bên trái con trỏ.
·
Ctrl-PgUp: Đưa con trỏ về đầu văn bản.
·
Ctrl-PgDn: Đưa con trỏ về cuối văn bản.
·
Ctrl-Y: Xóa dòng tại vị trí con trỏ.
4.2. Các thao tác trên khối văn bản
·
Chọn khối văn bản: Shift + <Các phím ¬®¯>
·
Ctrl - KY: Xoá khối văn bản đang chọn
·
Ctrl - Insert: Sao chép khối văn bản đang chọn
·
Shift - Delete: Cắt khối văn bản đang chọn
·
Shift - Insert: Dán khối văn bản tại vị trí con
trỏ.
·
Alt - Backspace: Khôi phục thao tác vừa thực
hiện
5. Các thành phần cơ bản của ngôn ngữ Pascal
5.1. Từ khóa
Từ khoá là các từ mà Pascal dành riêng
để phục vụ cho mục đích của nó. (Chẳng hạn như: BEGIN, END, IF,
WHILE,...)
Chú ý: Với Turbo
Pascal 7.0 trở lên, các từ khoá trong chương trình sẽ được hiển thị khác màu
với các từ khác.
5.2
Tên
(định
danh)
Tên là
một dãy ký tự dùng để đặt tên cho các hằng, biến, kiểu, tên chương trình ...
Khi đặt tên, ta phải chú ý một số điểm sau:
·
Không được đặt trùng tên với từ khoá
·
Ký tự đầu tiên của tên không được bắt đầu bởi các ký tự đặc biệt hoặc chữ
số.
·
Không được đặt tên với ký tự space,các phép toán.
Các
loại tên:
-
Tên dành riêng: Program, uses, begin, end….
-
Tên chuẩn: Integer, real….
-
Tên do người lập trình tự đặt.
5.3. Dấu chấm phẩy (;)
Dấu chấm phẩy được dùng để ngăn cách
giữa các câu lệnh. Không nên hiểu dấu chấm phẩy là dấu kết thúc câu lệnh.
Ví dụ:
FOR
i:=1 TO 10 DO Write(i);
Trong câu lệnh trên, lệnh Write(i)
được thực hiện 10 lần. Nếu hiểu dấu chấm phẩy là kết thúc câu lệnh thì lệnh
Write(i) chỉ thực hiện 1 lần.
5.4. Lời giải thích
Các lời bàn luận, lời chú thích có thể
đưa vào bất kỳ chỗ nào trong chương trình để cho người đọc dể hiểu mà không làm
ảnh hưởng đến các phần khác trong chương trình. Lời giải thích được đặt giữa
hai dấu ngoặc {và} hoặc giữa (* và *).
Buổi 2- NS: 03/04/2015 – ND:
04/04/2015
Chương 2
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, FALSE).
- Các phép toán: phép so sánh (=,
<, >) và các phép toán logic: AND, OR, XOR, NOT.
Trong Pascal, khi so sánh các giá trị
boolean ta tuân theo qui tắc: FALSE < TRUE.
Giả sử A và B là hai giá trị kiểu
Boolean. Kết quả của các phép toán được thể hiện qua bảng dưới đâ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
|
0 ® 255
|
1 byte
|
Integer
|
-32768
® 32767
|
2 byte
|
Word
|
0 ® 65535
|
2 byte
|
LongInt
|
-2147483648 ® 2147483647
|
4 byte
|
2.2. Các phép toán trên kiểu số nguyên
2.2.1. Các phép toán số học:
+, -, *, / (phép chia cho ra kết quả là số thực).
Phép
chia lấy phần nguyên: DIV (Ví dụ : 34
DIV 5 = 6).
Phép
chia lấy số dư: MOD (Ví dụ:
34 MOD 5 = 4).
2.2.2. Các phép toán xử lý bit:
Trên
các kiểu Integer, Byte, Word có các phép toán:
·
NOT,
AND, OR, XOR.
A
|
B
|
A
AND B
|
A
OR B
|
A
XOR B
|
NOT
A
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
·
SHL
(phép dịch trái): a SHL n Û a ´ 2n
·
SHR
(phép dịch phải): a SHR n Û a DIV 2n
3. Kiểu số thực
3.1. Kiểu số thực
Tên kiểu
|
Phạm vi
|
Dung lượng
|
Real
|
2.9´10-39 ® 1.7´10+38
|
6 byte
|
3.2. Các phép toán trên kiểu số thực:
+, -, *, /
Chú ý: Trên kiểu số thực không tồn
tại các phép toán DIV và MOD.
Phép toán
|
Trong toán học
|
Trong pascal
|
Các
phép toán số học với số nguyên
|
+, -,
x, chia lấy phần nguyên, chia lấy phần dư
|
+, -,
*, div, mod
|
Các
phép toán số học với số thực
|
+, -,
x, :
|
+, -,
*, /
|
Các
phép toán quan hệ
|
<,
≤, >, ≥, =, ≠
|
<,
<=, >, >=, =, <>
|
Các
phép toán logic
|
Phủ
định, hoặc, và
|
Not,
or, and
|
3.3. Các hàm số học sử dụng cho kiểu số
nguyên và số thực:
SQR(x): Trả về x2
SQRT(x): Trả về căn bậc hai của x (x³0)
ABS(x): Trả về |x|
SIN(x): Trả về sin(x) theo radian
COS(x): Trả về cos(x) theo radian
TRUNC(x): Trả về số
nguyên gần với x nhất nhưng bé hơn x.
INT(x): Trả về phần nguyên của x
FRAC(x): Trả về phần thập phân của x
ROUND(x): Làm
tròn số nguyên x
PRED(n): Trả về giá trị đứng trước n
SUCC(n): Trả về giá trị đứng sau n
ODD(n): Cho giá trị TRUE nếu n là số lẻ.
INC(n): Tăng n thêm 1 đơn vị (n:=n+1).
DEC(n): Giảm n đi 1 đơn vị (n:=n-1).
4. Kiểu ký
tự
- Từ khoá: CHAR.
- Kích thước: 1 byte.
- Để biểu diễn một ký tự, ta có thể sử
dụng một trong số các cách sau đây:
·
Đặt ký tự trong cặp dấu nháy đơn. Ví dụ 'A',
'0'.
·
Dùng hàm CHR(n) (trong đó n là mã ASCII của 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 là mã ASCII của ký
tự cần biểu diễn). Ví dụ #65.
- Các phép toán: =, >, >=, <,
<=,<>.
* Các hàm
trên kiểu ký tự:
- UPCASE(ch):
Trả về ký tự in hoa tương ứng với ký tự ch.
Ví dụ: UPCASE('a')='A'.
- ORD(ch):
Trả về số thứ tự trong bảng mã ASCII của ký tự ch.
Ví dụ ORD('A')=65.
- CHR(n):
Trả về ký tự tương ứng trong bảng mã ASCII có số thứ tự là n.
Ví dụ: CHR(65)='A'.
- 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 là một
đại lượng có giá trị không thay đổi trong suốt chương trình.
- Cú pháp:
CONST <Tên
hằng> = <Giá trị>;
III. KHAI
BÁO BIẾN
- Biến là một
đại lượng mà giá trị của nó có thể thay đổi trong quá trình thực hiện chương
trình.
- Cú pháp:
VAR <Tên biến>[,<Tên biến
2>,...] : <Kiểu dữ liệu>;
Trong
đó:
- Các tên biến được viết cách nhau bởi
dấu phẩy;
- <Kiểu dữ liệu>: là một trong
các kiểu dữ liệu chuẩn hoặc kiểu dữ liệu do người lậ trình tự định nghĩa.
Ví dụ:
VAR x,
y: Real; {Khai báo hai biến x, y có kiểu
là Real}
a, b: Integer; {Khai báo hai biến a, b có kiểu integer}
IV. ĐỊNH
NGHĨA KIỂU
- Ngoài các kiểu
dữ liệu do Turbo Pascal cung cấp, ta có thể định nghĩa các kiểu dữ liệu mới dựa
trên các kiểu dữ liệu đã có.
- Cú pháp:
TYPE <Tên
kiểu> = <Mô tả kiểu>;
VAR <Tên biến>:<Tên kiểu>;
Ví dụ:
TYPE Sothuc = Real;
Tuoi =
1..100;
ThuNgay =
(Hai,Ba,Tu, Nam, Sau, Bay, CN)
VAR x
:Sothuc;
tt : Tuoi;
Day:
ThuNgay;
V. BIỂU THỨC
Biểu thức (expression) là công thức
tính toán mà trong đó bao gồm các phép toán, các hằng, các biến, các hàm và các
dấu ngoặc đơn.
Ví dụ: (x +sin(y))/(5-2*x) biểu thức số học
(x+4)*2 = (8+y) biểu thức logic
Trong một biểu thức, thứ tự ưu tiên
của các phép toán được liệt kê theo thứ tự sau:
·
Lời gọi hàm.
·
Dấu ngoặc ()
·
Phép toán một ngôi (NOT, -).
·
Phép toán *, /, DIV, MOD, AND.
·
Phép toán +, -, OR, XOR
·
Phép toán so sánh =, <, >, <=, >=,
<>, IN
VI. 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 dữ 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 dữ liệu
6.3.1.
Lệnh xuất dữ liệu
Để xuất dữ liệu ra màn 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 trên có chức năng như sau:
(1) Sau
khi xuất giá trị của các tham số ra màn hình thì con trỏ không xuống dòng.
(2) Sau
khi xuất giá trị của các tham số ra màn hình thì con trỏ xuống đầu dòng tiếp
theo.
(3) Xuất
ra màn hình một dòng trống.
Chú ý: Các tham số có thể là các hằng, biến, biểu thức. Nếu có
nhiều tham số trong câu lệnh thì các tham số phải được phân cách nhau bởi dấu
phẩy.
Khi sử dụng lệnh WRITE/WRITELN, ta có hai cách viết: không qui cách và có
qui cách:
- Viết
không qui cách: dữ liệu xuất ra sẽ được canh lề ở phía bên trái. Nếu dữ
liệu là số thực thì sẽ được in ra dưới dạng biểu diễn khoa học.
Ví dụ:
WRITELN(x);
WRITE(sin(3*x));
- Viết có
qui cách: dữ liệu xuất ra sẽ được canh lề ở phía bên phải.
Ví dụ:
WRITELN(x:5);
WRITE(sin(13*x):5:2);
Câu
lệnh
|
Kết
quả trên màn 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
|
Chú ý: Trong quá trình in kết
quả ra màn hình có thể thực hiện in theo quy cách:
- Đối với số thực:
: <độ rộng>:<số chữ
số thập phân>
Ví dụ: Write(x:6:2);
- Đối với các dữ liệu khác: :<Độ rộng>
Ví dụ: Write(i:3);
6.3.2.
Nhập dữ liệu
Để nhập dữ liệu từ bàn phím vào các
biến có kiểu dữ liệu chuẩn (trừ các 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 sẽ
dừng lại chờ người sử dụng nhấn phím ENTER mới chạy tiếp.
Ví
dụ: Để nhập giá trị cho biến a từ bàn phím ta thực hiện lệnh:
Write (‘Nhập giá trị cho a =’);
Readln(a);
Do tài liệu dài nên các bạn tải file đầy đủ phía dưới!
Chi tiết các bạn tải tại ĐÂY!
Comments
Post a Comment