Tai lieu pascal 2

16 793 4
Tai lieu pascal 2

Đ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

BÀI 01 : CHƯƠNG TRÌNH CON : THỦ TỤC VÀ HÀM TRONG PASCAL . 1. GIỚI THIỆU VỀ CHƯƠNG TRÌNH CON :  Trong lập trình , có nhiều công việc cứ lặp đi lặp lại một thao tác hoặc tính toán , xử lý nào đó , thay vì phải viết những phần chương trình để giải quyết những phần việc này thì người ta tạo lập những chương trình riêng được lưu trữ trên đóa hoặc trong bộ nhớ để khi nào sử dụng đến thì gọi ra . Những chương trình con đó gọi là những thủ tục hay hàm .  Trong pascal nói riêng và các ngôn ngữ lập trình bậc cao nói chung đều có các thủ tục và hàm chuẩn do nhà thiết kế ngôn ngữ tạo sẵn và cất trong thư viện các thủ tục và hàm chuẩn . Ngoài ra còn cho phép người lập trình tự tạo các thủ tục và hàm của riêng họ để giải quyết những nhiệm vụ do bài toán đặt ra .  Việc tổ chức chương trình con có những lợi điểm như sau :  Cấu trúc chương trình sáng sủa , khoa học , hệ thống hoá việc lập trình .  Có thể chia nhỏ chương trình thành những đơn thể cho nhiều người cùng thực hiện , khiến tốc độ lập trình nhanh chóng mà còn tận dụng được trí tuệ tập thể .  Các đơn thể chương trình có thể là những thủ tục hay hàm độc lập với nhau , vì vậy rất dễ dàng sửa lỗi hoặc thêm bớt nội dung cho phù hợp với nhu cầu đặt ra . 2. TỔ CHỨC VÀ SỬA LỖI TRONG THỦ TỤC VÀ HÀM : Program < Tên chương trình > ; Uses < Tên các unit > ; Const < Tên hằng > = < Giá trò > ; Var < Danh sách các biến > : < Kiểu dữ liệu > ; Procedure < Tên thủ tục > [ tham số ] ; const < Tên hằng > = < Giá trò > ; var < Danh sách các biến > : < Kiểu dữ liệu > ; begin Các lệnh của thủ tục ; end ; Function < Tên hàm > ( tham số hình thức ) : < Kiểu của hàm > ; const < Tên hằng > = < Giá trò > ; var < Danh sách các biến > : < Kiểu dữ liệu > ; begin Các lệnh của hàm ; end ; Begin Procedure < Tên thủ tục > ; Function < Tên hàm > ; Các lệnh khác của chương trình chính ; End .  Các thủ tục và hàm tự tạo bao giờ cũng phải đặt trước chương trình chính . Khi nạp chương trình vào máy sẽ nạp các thủ tục và hàm của chương trình đó , chúng nằm thường trú trong bộ nhớ để khi nào cần sử dụng thì thực hiện bằng câu lệnh gọi thủ tục và hàm . Vì vậy tốc độ thực hiện sẽ nhanh hơn so với chương trình không có cấu trúc chương trình con .  Sau từ khóa Program là tên chương trình chính .  Sau từ khóa Var là danh sách các biến của chương trình chính . Các biến này gọi là biến chung có tác động chung cho toàn bộ chương trình , có nghóa là trong các hàm và thủ tục đều có thể sử dụng tên của các biến này .  Sau từ khóa Procedure là tên của thủ tục .  Sau từ khóa Function là tên của hàm .  Chú ý : Khi đặt tên các thủ tục hay hàm ta nên đặt tên mang tính gợi nhớ để dể sử dụng về sau này . Các tên phải viết liền nhau và không được trùng với tên của các từ khóa chuẩn .  Sau tên hàm là các tham số hình thức . Các tham số này sẽ được truyền giá trò bởi tham số thực là các biến của chương trình chính .  Sau tham số hình thức là kiểu dữ liệu của giá trò trả về cho hàm .  Tiếp đến có thể có hoặc không có các biến riêng của hàm hoặc thủ tục .  Trong mỗi hàm đều có thân của hàm , đó là các lệnh được đặt giữa hai từ khóa begin … end ;  Thân chương trình chính bắt đầu bằng từ khóa Begin và kết thúc bằng từ khóa End với dấu chấm .  Trong thân chương trình chính là các câu lệnh gọi thủ tục hoặc hàm và những câu lệnh khác . 3. KHAI BÁO THỦ TỤC VÀ HÀM TỰ TẠO :  KHAI BÁO THỦ TỤC : Khi muốn thực hiện một thao tác nào đó ta nên khai báo là thủ tục . Thủ tục có cấu trúc như một chương trình trong Pascal , chỉ khác là thay từ khóa Program bằng từ khóa Procedure , ngoài ra sau phần khai báo tên thủ tục có thể có hoặc không có các tham số , dấu chấm phẩy rồi đến thân thủ tục là những câu lệnh đơn giản , câu lệnh đơn , câu lệnh phức , câu lệnh điều kiện , câu lệnh lặp , … tùy theo chức năng và nhiệmvụ của thủ tục trong chương trình . Trong một chương trình có thể có nhiều thủ tục khác nhau , mỗi thủ tục có một chức năng hoặc công dụng nào đó . Các thủ tục này có thể có các biến riêng ( còn gọi là biến cục bộ hoặc biến đòa phương ) . Các biến này có thể trùng tên với biến chung ( còn gọi là biến toàn cục ) hoặc cũng có thể trùng với tên của các thủ tục hay hàm khác .  KHAI BÁO HÀM : Khi muốn trả về một kết quả nào đó ta nên khai báo là hàm . Các thành phần của khai báo hàm giống như khai báo thủ tục nhưng có hai chỗ khác biệt như sau : Thay từ khóa Procedure bằng từ khóa Function . Khai báo hàm phải cho biết kiểu kết quả của hàm . Chú ý : Ta có kết quả của hàm được trả về là một giá trò , còn thủ tục là một tác vụ ( công việc ) . Ta sử dụng chương trình con là hàm khi : Nếu ta muốn nhận lại một kết quả duy nhất . Kết quả phải là kiểu vô hướng hoặc con trỏ . Có sử dụng tên hàm trong biểu thức . Nếu không thỏa mãn các yếu tố trên thì chương trình con là thủ tục . 4. THỦ TỤC VÀ HÀM LỒNG NHAU :  Hàm hoặc thủ tục lồng nhau cũng tương tự như các cấu trúc điều kiện hoặc cấu trúc vòng lặp lồng nhau , tức là một thủ tục này chứa một thủ tục khác , hàm này chứa hàm khác .  Đối với các thủ tục và hàm tự tạo cũng cho phép thủ tục này lồng vào thủ tục khác , hàm này lồng vào hàm hoặc thủ tục khác .  Trong một chương trình có thủ tục và hàm lồng nhau ta cần lưu ý một số đặc điểm sau : Thủ tục và hàm ở bên ngoài gọi thực hiện thủ tục hoặc hàm ở bên trong , không được gọi ngược lại và không được gọi cắt chéo nhau . Các biến riêng và giá trò của chúng trong các thủ tục và hàm sẽ bò mất sau khi thoát ra khỏi thủ tục và hàm đó . 5. LỆNH GỌI THỦ TỤC , HÀM VÀ THOÁT KHỎI CHƯƠNG TRÌNH :  Lệnh gọi thủ tục và hàm : Câu lệnh gọi thủ tục hay hàm là câu lệnh gọi thực hiện thủ tục hay hàm chuẩn hoặc thủ tục hay hàm tự tạo trước đó . Câu lệnh này gồm có tên thủ tục hay tên hàm , tiếp theo sau có thể có hoặc không có danh sách các tham số đặt giữa hai dấu ngoặc đơn ( ) . Danh sách các tham số là một dãy các biến và biểu thức được đặt cách nhau bởi dấu phẩy . Trong quá trình thực hiện chương trình nếu gặp câu lệnh gọi thủ tục hay hàm , điều khiển được chuyển đến thủ tục hay hàm có tên được chỉ đònh , đồng thời giá trò của các tham số được truyền cho thủ tục hay hàm theo các cách : truyền bằng trò , truyền bằng biến hoặc truyền kết hợp vừa trò vừa biến . Sau khi thực hiện xong thủ tục hay hàm , chương trình thực hiện tiếp tục từ câu lệnh đứng ngay sau câu lệnh gọi thủ tục hay hàm .  Thủ tục thoát khỏi chương trình : Trong lập trình nhất là những chương trình dài , hoặc ngay cả những chương trình con , đôi lúc cũng cần dừng chương trình tại một vò trí nào đó để kiểm tra các kết quả trung gian mà không cần phải chạy hết chương trình .  Thủ tục Exit ; : Nếu thủ tục Exit đặt trong chương trình con thì thoát chương trình con giữa chừng để trở về chương trình chính . Nếu Exit đặt trong chương trình chính thì sẽ chấm dứt chương trình chính , không thực hiện các lệnh còn lại sau thủ tục này .  Thủ tục Halt; : Dù cho thủ tục này đặt trong chương trình con hay chương trình chính , khi gặp thủ tục này thì sẽ chấm dứt thực hiện chương trình để trở về hệ điều hành và xuất hiện một thông báo mã thoát ExitCode . Halt hoặc Halt ( 0 ) là thoát về hệ điều hành không có lỗi . 6. THAM SỐ VÀ TRUYỀN THAM SỐ :  Có hai loại tham số : tham số thực và tham số hình thức .  Việc cung cấp các giá trò thực cho các tham số hình thức được gọi là truyền tham số .  Thứ tự truyền tham số lần lượt truyền từ trái qua phải .  Có ba cách truyền tham số : Truyền bằng trò : Tham số thực truyền cho tham số hình thức ở trong thủ tục thì sau khi truyền giá trò của tham số thực không thay đổi . Truyền bằng biến : Tham số thực truyền cho tham số hình thức ở trong thủ tục thì sau khi truyền giá trò của tham số thực đã bò thay đổi . Truyền kết hợp vừa trò , vừa biến . Chú ý : Các tham số hình thức khác kiểu dữ liệu với nhau trong các thủ tục , hàm thì phải phân cách nhau bởi dấu chấm phẩy . Các tham số cùng kiểu thì phân cách nhau bởi dấu phẩy . Khi gọi các thủ tục , hàm thì tất cả các tham số thực phân cách nhau bởi dấu phẩy không phân biệt cùng kiểu hay khác kiểu . Các tham số thực và tham số hình thức phải giống nhau về kiểu , số lượng và vò trí của chúng trong danh sách liệt kê biến . 7. BIẾN CHUNG , BIẾN RIÊNG VÀ MIỀN TÁC ĐỘNG CỦA BIẾN :  Trong một chương trình có cấu trúc chương trình con thì các biến sử dụng trong chương trình chính và chương trình con là khác nhau .  Biến chung được khai báo trong chương trình chính , thời gian tồn tại của biến từ lúc vận hành chương trình cho đến khi thoát khỏi chương trình .  Biến riêng được khai báo trong các chương trình con , thời gian tồn tại của biến trong phạm vi chương trình con đang vận hành . Khi thoát khỏi chương trình con thì các biến riêng và giá trò của chúng sẽ bò mất . Lợi dụng đặc điểm này người ta có thể đặt tên các biến trùng nhau trong các chương trình con để tiết kiệm bộ nhớ . 8. MỘT SỐ THỦ TỤC VÀ HÀM CHUẨN TRONG UNIT CRT : a. Thủ tục chuẩn :  Các thủ tục về tọa độ màn hình và con trỏ :  Thủ tục GotoXY ( x , y : integer ) ; Dùng để đưa con trỏ đến tọa độ ( x , y ) trên màn hình .  Thủ tục ClrScr ; Dùng để xóa màn hình , đưa con trỏ về góc trên bên trái màn hình có tọa độ ( 0 , 0 )  Thủ tục Deline ; Dùng để xóa một dòng chứa con trỏ , các dòng ở phía dưới sẽ dồn lên .  Thủ tục ClrEol ; Dùng để xóa các ký tự từ vò trí con trỏ đến cuối dòng mà không di chuyển vò trí con trỏ .  Thủ tục Insline ; Dùng để chèn thêm một dòng trống vào vò trí của con trỏ hiện hành , đẩy các dòng ở phía dưới dòch chuyển xuống .  Các thủ tục về thuộc tính màn hình :  Thủ tục về cửa sổ màn hình :  Các thủ tục về âm thanh :  Một số thủ tục khác : a. Hàm chuẩn :  Một số hàm chuẩn trong unit CRT :  Các hàm số học :  Các hàm sơ cấp :  Các hàm chuyển đổi kiểu :  Các hàm khác : 9. UNIT VÀ UNIT TỰ TẠO :  Có nhiều chương trình tiện ích thường xuyên sử dụng nên đã được hảng sản xuất phần mềm ngôn ngữ biên dòch sẳn , lúc nào cần thì người lập trình chỉ đem ra sử dụng mà không cần phải viết những đoạn chương trình con đó . Tuy vậy , không phải lúc nào người lập trình cũng sử dụng hết các chương trình con lập sẵn nên nhà sản xuất chia nhỏ các chương trình con thành từng nhóm theo từng công dụng . Mỗi nhóm gọi là một Unit và là Unit Chuẩn .  Ta có thể gom các chương trình con có công dụng nào đó vào một tập tin lưu trữ độc lập trên đóa để sau này sử dụng trong các chương trình khác .  Một tập tin chương trình con nào đó sau khi đã chạy thử , sửa các lỗi và nhận thấy có nhiều ứng dụng trong lập trình thì có thể chuyển thành Unit , ta gọi là các Unit tự tạo .  Cách tổ chức một Unit tự tạo gồm có ba phần : • Tên tập tin phải bắt đầu bằng từ khóa Unit tương tự như bắt đầu chương trình là từ khóa Program . • Tên tập tin chương trình con phải trùng với tên tập tin Unit . ♣ Chép tập tin chương trình con vào máy nếu chưa có sẳn trên máy ( chép váo thư mục mà ta sẽ xử lý ) . ♣ Khởi động Turbo Pascal và mở tập tin chương trình con , sau đó thêm tên Unit vào dòng đầu tiên của tập tin này . • Phần giao diện với bên ngoài gồm các chi tiết : ♣ Bắt đầu bằng từ khóa Interface và không có dấu chấm phẩy sau từ khóa này . ♣ Khai báo các Unit chuẩn nếu cần và mỗi Unit cách nhau bởi dấu phẩy . ♣ Khai báo các tên hằng , tên kiểu , tên biến nếu cần . ♣ Khai báo các thủ tục , các hàm : chỉ cần khai báo tên thủ tục , tên hàm với các tên hằng , các tham số và kiểu dữ liệu , kiểu kết qủa của hàm . • Phần bên trong còn gọi là phần bên trong hộp đen gồm các chi tiết : ♣ Phải bắt đầu bằng từ khóa Implementation và không được có dấu chấm phẩy sau từ khóa này . ♣ Khai báo nội dung của các thủ tục , hàm , các hằng , kiểu , biến riêng , … ♣ Kết thúc là từ khóa End với dấu chấm .  Cách gọi các Unit : Trong chương trình chính hay trong một Unit tự tạo có sử dụng các Unit khác thì phần đầu của chương trình phải khai báo sau từ khóa Uses ; tên của các Unit chuẩn , tự tạa và các Unit phải phân cách nhau bởi dấu phẩy . Khi chạy chương trình nếu xuất hiện thông báo “ File not found < tên tập tin . TPU > ” tức là không tìm thấy tập tin Unit , ta sử dụng lệnh Change Dir … trong thực đơn File để chuyển về thư mục có tập tin < tên tập tin . TPU > hoặc ta phải chép tập tin này vào thư mục hiện hành . 10. CÁC VÍ DỤ MINH HỌA : BÀI 02 : KIỂU VÔ HƯỚNG : KIỂU LIỆT KÊ . 1. ĐỊNH NGHĨA KIỂU : Kiểu liệt kê được đònh nghóa bằng cách liệt kê tất cả các phần tử có thể có của nó . Các giá trò của kiểu được thể hiện bằng tên . Cú pháp : TYPE TÊNKIỂU = ( CÁC GIÁ TRỊ ) ;  Để khai báo kiểu dữ liệu mới ta dùng từ khóa Type .  Tên kiểu liệt kê là một tên tùy chọn ( có thể dùng các tên kiểu chuẩn ) được viết liền nhau hoặc nối với nhau bằng dấu gạch nối .  Dấu bằng “ = ” dùng để gán các giá trò được liệt kê cho tên kiểu .  Các giá trò được liệt kê là các giá trò của kiểu , mỗi giá trò phân cách nhau bởi dấu phẩy . Các giá trò là các kiểu vô hướng chuẩn khác và phải đặt trong cặp dấu ngoặc đơn ( ) . Giá trò trả về là phần tử thứ n trong danh sách liệt kê , phần tử đầu tiên có số thứ tự là 0 .  Dấu chấm phẩy “ ; ” bắt buộc phải có sau mỗi đònh nghóa kiểu liệt kê . 2. KHAI BÁO BIẾN :  Cú pháp 1 : TYPE TÊNKIỂU = ( CÁC GIÁ TRỊ ) ; VAR TÊNBIẾN : TÊNKIỂU ; Khai báo biến này thông qua các tên kiểu liệt kê đã được đònh nghóa trước đó .  Cú pháp 2 : VAR TÊNBIẾN : ( CÁC GIÁ TRỊ ) ; Khai báo này vừa khai báo biến , vừa đònh nghóa kiểu liệt kê . 3. XUẤT , NHẬP DỮ LIỆU :  Nhập dữ liệu : Để nhập dữ liệu từ bàn phím ta dùng các thủ tục Read hoặc Readln nhưng không được phép nhập trực tiếp các giá trò kiểu liệt kê mà chỉ được nhập các giá trò của các biến . Ví dụ : Type color = ( tim , xanh , vang , trang , den ) ; Var mau : color ; Begin Writeln ( ‘ Nhap , xuat du lieu kieu liet ke ’ ) ; Writeln ( ‘ Ban thich mau nao ? ( Nhap cac so tu 0 den 4 ) ’ ) ; Readln ( i ) ; mau := color ( i ) ; . . .  Xuất dữ liệu : Các thủ tục Write hoặc Writeln cũng không thể xuất ra màn hình hoặc máy in một giá trò kiểu liệt kê . Ví dụ : • Không thể dùng các lệnh : writeln ( mau ) ; writeln ( den ) ; writeln ( color ( i ) ) ; • Chỉ được dùng : if mau = den then writeln ( ‘ Ban thich mau den ’ ) ; 4. CÁC PHÉP TOÁN : Các phép toán quan hệ = ; > ; < ; > = ; < = ; < > có thể được áp dụng cho kiểu liệt kê với điều kiện cả hai toán hạng phải cùng kiểu . Cơ sở của phép so sánh này là thứ tự sắp xếp các giá trò của kiểu liệt kê , tức là thứ tự các giá trò được đưa vào trong đònh nghóa kiểu . 5. CÁC HÀM TRONG KIỂU LIỆT KÊ :  Hàm Succ ( x ) ; cho kết quả là giá trò đứng kế tiếp sau x .  Hàm Pred ( x ) ; cho kết quả là giá trò đứng kế tiếp trước x .  Hàm Ord ( x ) ; cho kết quả là số thứ tự của x .  Chú ý : Kết quả của hàm Succ và Pred thuộc cùng kiểu với kiểu của đối số . Kiểu kết quả của hàm Ord là số nguyên . 6. CÁC VÍ DỤ MINH HỌA : BÀI 03 : KIỂU MIỀN CON . 1. ĐỊNH NGHĨA KIỂU : Các kiểu dữ liệu đếm được (vô hướng) như integer , char , byte , boolean , liệt kê bao gồm các giá trò được sắp xếp theo một thứ tự nhất đònh từ đầu tới cuối. Ta có thể không sử dụng tất cả mà chỉ cần sử dụng một khoảng giá trò nào đó trong các khoảng này. Khoảng giá trò đó trong Pascal gọi là kiểu miền con . Cú pháp : TYPE TÊNKIỂU = ( < CẬN TRÊN > . . < CẬN DƯỚI > ) ; 2. KHAI BÁO BIẾN :  Cú pháp 1 : TYPE TÊNKIỂU = ( < CẬN TRÊN > . . < CẬN DƯỚI > ) ; VAR TÊNBIẾN : TÊNKIỂU ;  Cú pháp 2 : VAR TÊNBIẾN : ( < CẬN TRÊN > . . < CẬN DƯỚI > ) ; 3. VÍ DỤ : Type Nam = 1900 2000 ; Var Namsinh : Nam ; Thangsinh : 1 12 ; 4. CHÚ Ý :  Tất cả các quy tắc áp dụng cho kiểu liệt kê đều có thể áp dụng cho kiểu miền con .  Khi thực hiện một phép toán gán thì Pascal sẽ kiểm tra xem giá trò được gán có nằm trong miền được xác đònh hay không , nếu không máy sẽ thông báo lỗi và chương trình sẽ bò dừng lại khi gặp lỗi .  Khi dùng kiểu miền con để nhập dữ liệu thì ta nên dùng câu lệnh If để kiểm tra miền giá trò .  Kiểu liệt kê và miền con là những kiểu đếm được nên ta có thể sử dụng chúng làm biến kiểm soát trong cấu trúc điều kiện Case … of … , trong vòng lặp for … do … và còn làm chỉ số cho các mảng Array giúp cho chương trình trở nên dễ viết , dễ hiểu và dễ sửa khi gặp lỗi .  Sử dụng kiểu miền con trong lập trình có nhiều ưu điểm , chương trình dễ đọc hơn rất nhiều , hơn nữa rất dễ phát hiện lỗi khi thực hiện chương trình thông qua các thủ tục kiểm tra các giá trò sẽ được gán cho các biến .  Ưu điểm nổi bật của kiểu dữ liệu này là rất tiết kiệm bộ nhớ .  Hàm Ord có thể được dùng để biến đổi các giá trò kiểu vô hướng thành các giá trò kiểu nguyên .  Trong Pascal chuẩn thì không có cách nào để biến đổi từ kiểu số nguyên thành kiểu vô hướng , khả năng đổi ngược trở lại kiểu này được thực hiện bằng cách dùng tên kiểu cần đổi đến như là một tên hàm , tiếp theo là một tham số đặt trong dấu ngoặc đơn , tham số này có thể là giá trò thuộc về bất kỳ kiểu vô hướng nào trừ kiểu số thực Real . 5. CÁC VÍ DỤ MINH HỌA : BÀI 04 : KIỂU TẬP HP . 1. ĐỊNH NGHĨA KIỂU : Trong Pascal chỉ cho phép dạng tập hợp gồm tối đa 256 phần tử và các phần tử của tập hợp bắt buộc phải có cùng một kiểu gọi là kiểu cơ bản . Kiểu cơ bản phải là kiểu đếm được tức là thuộc các kiểu vô hướng hay miền con nhưng không được là kiểu số thực . Cú pháp : TYPE TÊNKIỂU = SET OF < KIỂU ĐƠN GIẢN > ; 2. KHAI BÁO BIẾN :  Cú pháp 1 : TYPE TÊNKIỂU = SET OF < KIỂU ĐƠN GIẢN > ; VAR TÊNBIẾN : TÊNKIỂU ;  Cú pháp 2 : VAR TÊNBIẾN : SET OF < KIỂU ĐƠN GIẢN > ; 3. CÁC BIỂU THỨC TẬP HP :  Các giá trò tập hợp có thể được tính từ các giá trò tập hợp khác thông qua các biểu thức tập hợp .  Biểu thức tập hợp bao gồm các hằng , các biến , kiến trúc tập hợp kết hợp với các toán tử tập hợp . • Một hằng tập hợp trong Pascal có dạng : [ Danh sách các phần tử ] • Một tập hợp rỗng được ký hiệu [ ] là tập hợp không chứa bất kỳ biểu thức nào để chỉ ra kiểu cơ sở của nó và nó tương thích với mọi kiểu tập hợp . 4. CÁC KIẾN TRÚC TẬP HP :  Một kiến trúc tập hợp bao gồm một hoặc nhiều dạng chỉ đònh phần tử phân cách nhau bởi dấu phẩy và toàn bộ được đặt giữa hai dấu ngoặc vuông [ ] .  Dạng chỉ đònh phần tử của tập hợp là một biểu thức cùng kiểu với kiểu cơ sở của tập hợp hoặc cũng có thể là miền giá trò được biết dưới dạng hai biểu thức đặt cách nhau bởi dấu chấm chấm “ . . ” . 5. CÁC PHÉP TOÁN TRÊN TẬP HP :  Phép gán ( := ) : Các giá trò có được từ các biểu thức có thể gán cho các biến của kiểu tập hợp bằng toán tử gán ( := ) . Tập hợp rỗng có thể đem gán cho mọi biến của các kiểu tập hợp khác nhau .  Phép nhân ( * ) : Phép nhân gọi là tích ( còn gọi là giao ) của hai tập hợp A và B là tập hợp C gồm các phần tử chung cho cả hai tập hợp đó .  Phép cộng ( + ) : Phép cộng gọi là tổng ( còn gọi là hội ) của hai tập hợp A và B là tập hợp C gồm các phần tử của hai tập hợp đó .  Phép trừ ( - ) : Phép trừ gọi là hiệu của hai tập hợp A và B là tập hợp C gồm các phần tử thuộc A mà không thuộc B và ngược lại .  Phép so sánh : • Hai tập hợp đem ra so sánh phải có cùng kiểu cơ bản . • Kết quả của các phép so sánh là giá trò kiểu Boolean . ♣ Hai tập hợp gọi là bằng nhau nếu chúng có các phần tử như nhau từng đôi một không kể thứ tự sắp xếp các phần tử trong hai tập hợp . Ngược lại là khác nhau . ♣ Phép so sánh “ < = ” có giá trò True nếu tất cả các phần tử của tập hợp thứ nhất đều thuộc tập hợp thứ hai . ♣ Phép so sánh “ > = ” có giá trò True nếu tất cả các phần tử của tập hợp thứ hai đều thuộc tập hợp thứ nhất . • Chú ý : ♣ Trong kiểu tập hợp , Pascal không sử dụng phép so sánh “ < ” hoặc “ > ” . Muốn sử dụng hai phép so sánh này ta dùng : If ( A < = B ) and ( A< >B ) then writeln ( ‘ A < B ’ ) ; ♣ Để kiểm tra xem hai tập hợp A và B có phần tử nào chung không ta dùng : If A * B = [ ] then writeln ( ‘ A va B khong co phan tu chung ’) ;  Toán tử IN : Toán tử IN là toán tử kiểm tra phần tử đại diện của một tập hợp . Toán hạng thứ hai thuộc kiểu tập hợp , còn toán hạng thứ nhất là một biểu thức cùng kiểu với kiểu cơ bản của tập hợp đó . Kết quả kiểm tra cho trò Boolean : True nếu toán hạng thứ nhất là phần tử của toán hạng thứ hai , ngược lại cho trò là False .  Độ ưu tiên của các toán tử : Độ ưu tiên của các toán tử lần lượt như sau : ♣ Độ ưu tiên thứ nhất là toán tử nhân ( * ) . ♣ Độ ưu tiên thứ hai là toán tử cộng ( + ) và toán tử trừ ( - ) . ♣ Độ ưu tiên thứ ba là toán tử quan hệ ( = ; < = ; > = ; < > ) và toán tử IN . Trong một biểu thức nếu các toán tử có độ ưu tiên như nhau sẽ lần lượt thực hiện từ trái qua phải . Các phép toán nằm trong dấu ngoặc bao giờ cũng được tính toán trước . 6. NHẬP VÀ XUẤT DỮ LIỆU : Các thủ tục Read , Readln và Write , Writeln không thể dùng để nhập hoặc xuất trực tiếp dữ liệu của kiểu tập hợp , ta có thể thực hiện các thủ tục này khi kiểu cơ bản của tập hợp là số nguyên . 7. CÁC VÍ DỤ MINH HỌA : BÀI 05 : KIỂU CHUỖI . 1. ĐỊNH NGHĨA KIỂU : Chuỗi ký tự là kiểu dữ liệu không chuẩn hay còn gọi là kiểu dữ liệu có cấu trúc gồm một chuỗi các kí tự trong bảng mã ASCII . Cú pháp : TYPE TÊNKIỂU = STRING [ n ]; * TYPE , STRING là các từ khóa . * TÊNKIỂU phải viết liền nhau , mang tính gợi nhớ . Ký tự đầu tiên phải là chữ sau đó có thể sử dụng ký tự số và dấu gạch nối . * n là số ký tự tối đa trong kiểu hoặc biến . Ví dụ : Type Ho_ ten = string [24] ; Que_quan = string ; 2. KHAI BÁO BIẾN :  Cú pháp 1 : TYPE Tên_Kiểu = string [ n ] ; VAR Tên_Biến : Tên-Kiểu ;  Cú pháp 2 : VAR Tên_Biến : string [ n ] ; [...]... var  THỦ TỤC INSERT( ) ; : * Cú pháp : insert ( st2 , st1 , pos ) ; • st2 : biểu thức chuỗi ký tự chèn • st1 : biến chuỗi ký tự • pos : vò trí cần chèn ( biểu thức số nguyên ) * Công dụng : Thủ tục Insert ( ) ; dùng để chèn chuỗi st2 vào vò trí pos của chuỗi st1 b Các hàm :  HÀM CONCAT ( ) ; : * Cú pháp : concat ( st1 , st2 , … , stn ) ; st1 , st2 , … , stn là các biểu thức chuỗi ký tự * Công dụng... Nơi thường trú : 2 ĐỊNH NGHĨA KIỂU : Cú pháp : TYPE TÊNKIỂU = RECORD TÊNTRƯỜNG1 : KIỂU ; TÊNTRƯỜNG2 : KIỂU ; TÊNTRƯỜNGN : KIỂU ; END ; 3 KHAI BÁO BIẾN : TYPE TÊNKIỂU = RECORD TÊNTRƯỜNG1 : KIỂU ; TÊNTRƯỜNG2 : KIỂU ; TÊNTRƯỜNGN : KIỂU ; END ; VAR TÊNBIẾN : TÊNKIỂU ; Ví dụ : Type CMND = record STT : Integer ; Hoten : String ; Ngaysinh : String ; Nguyenquan : String ; End ; Var HS1 , HS2 , HS3 : CMND ;... thức chuỗi ký tự st tức là số các ký tự có trong st Kiểu kết quả là số nguyên  HÀM POS ( ) ; : * Cú pháp : pos ( st2 , st1 ) ; • st1 : biểu thức chuỗi mẹ • st2 : biểu thức chuỗi con * Công dụng : Hàm pos ( ) ; cho kết quả là một số nguyên chỉ đònh vò trí xuất hiện của chuỗi st2 trong chuỗi st1 7 CÁC VÍ DỤ MINH HỌA : BÀI 06 : KIỂU MẢNG A MẢNG MỘT CHIỀU : 1 ĐỊNH NGHĨA KIỂU : Kiểu mảng là một kiểu...3 VÍ DỤ : Var Ho_lot : string [ 24 ] ; Ten : string [ 7 ] ; Noi_sinh : string ; Dia- chi : string ; 4 NHẬP – XUẤT DỮ LIỆU : a Nhập dữ liệu: READ ( biến1 , biến2 , biến3 , ) ; READLN ( biến1 , biến2 , biến3 , ) ; b Xuất dữ liệu: WRITE ( biến ) ; WRITELN ( biến ) ; WRITELN ( biến : n ) ; c Truy xuất đến từng kí tự... ) ; writeln ( biến [ I ] ) ; end ; B MẢNG NHIỀU CHIỀU : 1 ĐỊNH NGHĨA : Mảng có từ hai chiều trở lên gọi là mảng nhiều chiều 2 KHAI BÁO BIẾN :  Cú pháp 1 : TYPE TÊNKIỂUMẢNG = ARRAY [ < Chỉ số > ] OF < KIỂU > ; VAR TÊNBIẾN : ARRAY [ < Chỉ số > ] OF < TÊNKIỂUMẢNG > ;  Cú pháp 2 : VAR TÊNBIẾN : ARRAY [ < Chỉ số 1 > , < Chỉ số 3 > , … , < Chỉ số N > ] OF < KIỂU > ; 3 KHAI BÁO HẰNG : Khai báo hằng phải... mảng Cú pháp : TYPE TÊNKIỂUMẢNG = ARRAY [ < Chỉ số > ] OF < KIỂU > ; 2 KHAI BÁO BIẾN : TYPE TÊNKIỂU = [ < Danh sách phần tử > ] ; TÊNKIỂUMẢNG = ARRAY [ < TÊNKIỂU > ] OF < KIỂU > ; VAR TÊNBIẾN : TÊNKIỂUMẢNG ; 3 KHAI BÁO HẰNG :  Cú pháp 1 : TYPE TÊNKIỂU = ARRAY [ < Chỉ số > ] OF < KIỂU > ; CONST TÊNHẰNG = ( < Giá trò > ) ;  Cú pháp 2 : CONST TÊNHẰNG : ARRAY [ < Chỉ số > ] OF < KIỂU > = ( < Giá trò >... hết trong bộ nhớ 1 Sắp xếp theo thứ tự tăng dần một dãy : For i := 1 to n do For j := 1 to n – i do If a [ j ] > a [ j + 1 ] then Begin t := a[ j ] ; a [ j ] := a [ j + 1 ] ; a [ j + 1 ] := t ; End ; 2 Sắp xếp theo thứ tự giảm dần một dãy : For i := 1 to n do For j := 1 to n – i do If a [ j ] < a [ j + 1 ] then Begin t := a[ j ] ; a [ j ] := a [ j + 1 ] ; a [ j + 1 ] := t ; End ; BÀI 07 : KIỂU MẪU . pháp 2 : VAR TÊNBIẾN : ( < CẬN TRÊN > . . < CẬN DƯỚI > ) ; 3. VÍ DỤ : Type Nam = 1900 20 00 ; Var Namsinh : Nam ; Thangsinh : 1 12 ; . ten = string [24 ] ; Que_quan = string ; 2. KHAI BÁO BIẾN :  Cú pháp 1 : TYPE Tên_Kiểu = string [ n ] ; VAR Tên_Biến : Tên-Kiểu ;  Cú pháp 2 : VAR Tên_Biến

Ngày đăng: 17/09/2013, 12:10

Hình ảnh liên quan

Ví dụ : Xét bảng ghi giấy Chứng minh nhân dân :                 Số  CMND :    - Tai lieu pascal 2

d.

ụ : Xét bảng ghi giấy Chứng minh nhân dân : Số CMND : Xem tại trang 15 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan