BAI GIANG PASCAL 2
Chia sẻ bởi Lưu Công Hoàn |
Ngày 14/10/2018 |
17
Chia sẻ tài liệu: BAI GIANG PASCAL 2 thuộc Tư liệu tham khảo
Nội dung tài liệu:
NGÔN NGỮ LẬP TRÌNH PASCAL 2
(03 đơn vị học trình)
Mục đích, yêu cầu
Cung cấp kiến thức về NNLT Pascal với cấu trúc dữ liệu nâng cao.
Sử dụng phần mềm Turbo Pascal lập trình giải các bài toán giúp cho việc học tập, nghiên cứu và giảng dạy.
Nội dung
C7: Kiểu Set (tập hợp)
C8: Kiểu Record (bản ghi)
C9: Kiểu File (tệp)
C10: Kiểu Pointer (con trỏ)
Tài liệu tham khảo
Nguyễn Quý Khang, Kiều Văn Hưng, Bài tập Pascal (tập 1), NXB ĐHQG Hà Nội, 2002 (hoặc Bài tập Pascal, ĐHSP Hà Nội 2).
Quách Tuấn Ngọc, Ngôn ngữ lập trình Pascal, NXBGD, 1996.
Bùi Thế Tâm, Văn Văn Tuấn Dũng, Turbo Pascal 7.0, NXB Thống kê, 1996.
Hình thức thi, kiểm tra
Thi trắc nghiệm lý thuyết + Lập trình trên máy.
Chương 7
KIỂU SET (TẬP HỢP)
KHÁI NIỆM VÀ KHAI BÁO
Khái niệm, biểu diễn tập hợp
( Kiểu tập hợp (set) trong Pascal là một tập của những dữ liệu thuộc một kiểu vô hướng đếm được (số nguyên, kí tự, logic, đoạn con, liệt kê).
Với TP, một tập hợp có số phần tử từ 0..256 và giá trị các số từ 0..255.
( Biểu diễn tập hợp: liệt kê các phần tử trong cặp ngoặc vuông.
[1, 2, 6, 9] (số phần tử: 4)
[`A`, `a`..`z`] (số phần tử: 27)
[] (số phần tử: 0, tập rỗng)
Khai báo
( Khai báo kiểu tập hợp
TYPE KieuTH = Set of KieuCS;
trong đó
KieuTH: từ tự đặt xđ kiểu tập hợp;
KieuCS: kiểu dữ liệu của phần tử.
( Khai báo biến tập hợp
Cách 1 (khai báo trực tiếp biến tập hợp)
VAR BienTH : Set of KieuCS;
Cách 2 (khai báo gián tiếp)
VAR BienTH : KieuTH;
(Tham số hình thức của CTC phải dùng
Cách 2)
VD 7.1 (khai báo kiểu, biến tập hợp)
TYPE {Khai bao kieu tap hop}
SoNguyen = Set of Byte;
ChuHoa = Set of `A` .. `Z`;
VAR {Khai bao bien tap hop}
so : SoNguyen;
chu : ChuHoa;
kt : Set of Char;
( Chú ý
Vị trí của các phần tử trong tập hợp không có ý nghĩa ([1, 2] = [2, 1]).
Dùng lệnh gán để thay đổi giá trị cho các biến tập hợp.
Không dùng lệnh Read và Write trực tiếp cho dữ liệu kiểu tập hợp.
TH := TH + [pt]; {Thêm pt}
if pt in TH then Write(pt); {Viết pt}
CÁC PHÉP TOÁN
Phép hợp (+), giao (*), hiệu (-), bao hàm (IN): giống như trong toán học.
A := [1, 3]; B := [2, 3, 4]
A + B = [1, 2, 3, 4]; A * B = [3];
A - B = [1]; B - A = [2, 4];
2 in A ( FALSE
Phép so sánh (=, <>, <=, >=): kết quả có kiểu logic (TRUE/FALSE).
A <= B có KQ là TRUE nếu A là tập con của B, trái lại KQ là FALSE.
A >= B có KQ là TRUE nếu A bao hàm tập B, trái lại KQ là FALSE.
( Không có phép so sánh < và > trên kiểu tập hợp trong Pascal.
VÍ DỤ
VD 7.2 (Phân loại kí tự) Lập trình nhập vào một kí tự. Kiểm tra xem kí tự đó chữ cái, chữ số hay kí tự khác?
Hướng dẫn: khai báo biến ch kiểu Char và 2 biến ChuCai, ChuSo kiểu tập hợp kí tự, rồi gán giá trị:
ChuCai := [`A`..`Z`, `a`..`z`]
ChuSo := [`0`..`9`]
Nếu ch in ChuCai thì viết "là chữ cái".
Nếu ch in ChuSo thì viết "là chữ số".
Nếu ... thì viết "kí tự khác".
VD 7.3 (Bán vé máy bay, BT 6.9, tr. 187) Một máy chứa tối đa 250 hành khách, với các ghế được đánh số 1, 2, ..., 250. Lập trình bán vé máy bay, yêu cầu hiện
(03 đơn vị học trình)
Mục đích, yêu cầu
Cung cấp kiến thức về NNLT Pascal với cấu trúc dữ liệu nâng cao.
Sử dụng phần mềm Turbo Pascal lập trình giải các bài toán giúp cho việc học tập, nghiên cứu và giảng dạy.
Nội dung
C7: Kiểu Set (tập hợp)
C8: Kiểu Record (bản ghi)
C9: Kiểu File (tệp)
C10: Kiểu Pointer (con trỏ)
Tài liệu tham khảo
Nguyễn Quý Khang, Kiều Văn Hưng, Bài tập Pascal (tập 1), NXB ĐHQG Hà Nội, 2002 (hoặc Bài tập Pascal, ĐHSP Hà Nội 2).
Quách Tuấn Ngọc, Ngôn ngữ lập trình Pascal, NXBGD, 1996.
Bùi Thế Tâm, Văn Văn Tuấn Dũng, Turbo Pascal 7.0, NXB Thống kê, 1996.
Hình thức thi, kiểm tra
Thi trắc nghiệm lý thuyết + Lập trình trên máy.
Chương 7
KIỂU SET (TẬP HỢP)
KHÁI NIỆM VÀ KHAI BÁO
Khái niệm, biểu diễn tập hợp
( Kiểu tập hợp (set) trong Pascal là một tập của những dữ liệu thuộc một kiểu vô hướng đếm được (số nguyên, kí tự, logic, đoạn con, liệt kê).
Với TP, một tập hợp có số phần tử từ 0..256 và giá trị các số từ 0..255.
( Biểu diễn tập hợp: liệt kê các phần tử trong cặp ngoặc vuông.
[1, 2, 6, 9] (số phần tử: 4)
[`A`, `a`..`z`] (số phần tử: 27)
[] (số phần tử: 0, tập rỗng)
Khai báo
( Khai báo kiểu tập hợp
TYPE KieuTH = Set of KieuCS;
trong đó
KieuTH: từ tự đặt xđ kiểu tập hợp;
KieuCS: kiểu dữ liệu của phần tử.
( Khai báo biến tập hợp
Cách 1 (khai báo trực tiếp biến tập hợp)
VAR BienTH : Set of KieuCS;
Cách 2 (khai báo gián tiếp)
VAR BienTH : KieuTH;
(Tham số hình thức của CTC phải dùng
Cách 2)
VD 7.1 (khai báo kiểu, biến tập hợp)
TYPE {Khai bao kieu tap hop}
SoNguyen = Set of Byte;
ChuHoa = Set of `A` .. `Z`;
VAR {Khai bao bien tap hop}
so : SoNguyen;
chu : ChuHoa;
kt : Set of Char;
( Chú ý
Vị trí của các phần tử trong tập hợp không có ý nghĩa ([1, 2] = [2, 1]).
Dùng lệnh gán để thay đổi giá trị cho các biến tập hợp.
Không dùng lệnh Read và Write trực tiếp cho dữ liệu kiểu tập hợp.
TH := TH + [pt]; {Thêm pt}
if pt in TH then Write(pt); {Viết pt}
CÁC PHÉP TOÁN
Phép hợp (+), giao (*), hiệu (-), bao hàm (IN): giống như trong toán học.
A := [1, 3]; B := [2, 3, 4]
A + B = [1, 2, 3, 4]; A * B = [3];
A - B = [1]; B - A = [2, 4];
2 in A ( FALSE
Phép so sánh (=, <>, <=, >=): kết quả có kiểu logic (TRUE/FALSE).
A <= B có KQ là TRUE nếu A là tập con của B, trái lại KQ là FALSE.
A >= B có KQ là TRUE nếu A bao hàm tập B, trái lại KQ là FALSE.
( Không có phép so sánh < và > trên kiểu tập hợp trong Pascal.
VÍ DỤ
VD 7.2 (Phân loại kí tự) Lập trình nhập vào một kí tự. Kiểm tra xem kí tự đó chữ cái, chữ số hay kí tự khác?
Hướng dẫn: khai báo biến ch kiểu Char và 2 biến ChuCai, ChuSo kiểu tập hợp kí tự, rồi gán giá trị:
ChuCai := [`A`..`Z`, `a`..`z`]
ChuSo := [`0`..`9`]
Nếu ch in ChuCai thì viết "là chữ cái".
Nếu ch in ChuSo thì viết "là chữ số".
Nếu ... thì viết "kí tự khác".
VD 7.3 (Bán vé máy bay, BT 6.9, tr. 187) Một máy chứa tối đa 250 hành khách, với các ghế được đánh số 1, 2, ..., 250. Lập trình bán vé máy bay, yêu cầu hiện
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Lưu Công Hoàn
Dung lượng: 228,50KB|
Lượt tài: 0
Loại file: DOC
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)