Tải bản đầy đủ (.ppt) (27 trang)

Giới thiệu về Pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (760.15 KB, 27 trang )








I,
I,
Đôi nét về pascal:
Đôi nét về pascal:
Pascal là tên của một trong các ngôn ngữ lập trình cấp cao thông dụng. Ngôn ngữ lập trình Pascal
Pascal là tên của một trong các ngôn ngữ lập trình cấp cao thông dụng. Ngôn ngữ lập trình Pascal
được giáo sư Niklaus Wirth ở trường Ðại học Kỹ thuật Zurich (Thụy sĩ) thiết kế và công bố vào
được giáo sư Niklaus Wirth ở trường Ðại học Kỹ thuật Zurich (Thụy sĩ) thiết kế và công bố vào
năm 1970. Niklaus Wirth đặt tên cho ngôn ngữ này là Pascal để tưởng nhớ đến nhà Toán học và
năm 1970. Niklaus Wirth đặt tên cho ngôn ngữ này là Pascal để tưởng nhớ đến nhà Toán học và
Triết học Pháp ở thế kỷ 17 là Blaise Pascal, người đã phát minh ra một máy tính cơ khí đơn giản
Triết học Pháp ở thế kỷ 17 là Blaise Pascal, người đã phát minh ra một máy tính cơ khí đơn giản
đầu tiên của con người.
đầu tiên của con người.
Blaise Pascal
Niklaus Wirth

Ban đầu, Pascal là một ngôn ngữ được hướng để dùng trong giảng dạy về lập
trình có cấu trúc, và nhiều thế hệ sinh viên đã "vào đời" thông qua việc học Pascal
như ngôn ngữ vỡ lòng trong các chương trình học đại cương. Nhiều biến thể của
Pascal ngày nay vẫn còn được sử dụng khá phổ biến, cả trong giảng dạy lẫn
trong công nghiệp phát triển phần mềm.
Ngôn ngữ Pascal được dùng hiện nay có nhiều điểm khác biệt với chuẩn Pascal
nguyên thủy của Giáo sư Wirth. Tùy theo quốc gia hoặc công ty đã phát triển cho


ra đời các chương trình biên dịch ngôn ngữ Pascal như:
· ISO PASCAL (International Standards Organization) của Châu Âu
· ANSI PASCAL (American National Standards Institute) của Mỹ
· TURBO PASCAL của hãng BORLAND (Mỹ)
· IBM PASCAL của hãng Microsoft (Mỹ)
· v.v...
Ðến nay, ngôn ngữ Pascal đã phát triển đến phiên bản Turbo Pascal Version 7.

Cấu trúc chương trình
Theo quy ước, cấu trúc một chương trình được mô tả như sau:
Phần tiêu đề
[<phần khai báo>]
<phần thân>
(*) Phần tiêu đề
Phần này bắt đầu bằng từ khoá program, sau đó nhất định là một khoảng trắng và một
tên do người dùng tự đặt, cuối cùng kết thúc bằng dấu chấm phẩy ( ; ).
Ví dụ : Program Btap1;
hoặc : Program Giai_pt_bac2;
Phần tiêu đề chiếm một dòng, còn gọi là phần đầu của chương trình (nó có thể không
có cũng được.)

(*) Phần khai báo
Phần khai báo có nhiệm vụ giới thiệu và mô tả các đối tượng, các đại lượng sẽ
tham gia trong chương trình, giống như ta giới thiệu các thành viên trong một
cuộc họp. Nó gồm khai báo sử dụng thư viện chuẩn, khai báo nhãn, khai báo
hằng, khai báo kiểu dữ liệu mới, khai báo biến, và khai báo các chương trình
con. Tùy theo yêu cầu cụ thể mà mỗi khai báo này có thể có hoặc không.
Khai báo nhãn (Label) chỉ dùng khi trong chương trình có sử dụng lệnh nhảy vô
điều kiện GOTO. Nhược điểm của lệnh GOTO là làm mất tính cấu trúc của
chương trình, trong khi có thể thay thế nó bằng các câu lệnh có cấu trúc của

Pascal.
(*)Phần thân
Đây là phần chủ yếu nhất của một chương trình, bắt buộc phải có.
Thân chương trình bắt đầu bằng từ khoá BEGIN và kết thúc bằng END. (có
dấu chấm ở cuối). Giữa khối BEGIN và END là các lệnh. Mỗi lệnh phải kết thúc
bằng dấu chấm phẩy (;). Một lệnh, nếu dài, thì có thể viết trên hai hay nhiều
dòng, ví dụ :
Writeln( ‘Phuong trinh co hai nghiem la X1=‘ va X2= ‘) ;
Ngược lại, một dòng có thể viết nhiều lệnh miễn là có dấu ( ; )
Write( ‘Nhap A, B, C:’ ) ; Readln(A,B,C) ;
Thông thường mỗi dòng chỉ nên viết một lệnh để dễ đọc, dễ kiểm tra lỗi.




Các kiểu dữ liệu
1. Kiểu logic
1. Kiểu logic
     
     
- Từ khóa: BOOLEAN
- Từ khóa: BOOLEAN
- miền giá trị: (TRUE, FALSE).
- 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:
- Các phép toán: phép so sánh (=, <, >) và các phép toán logic:
AND, OR, XOR, NOT.
AND, OR, XOR, NOT.
Trong Pascal, khi so sánh các giá trị boolean ta tuân theo qui tắc:
Trong Pascal, khi so sánh các giá trị boolean ta tuân theo qui tắc:

FALSE < TRUE
FALSE < TRUE
.
.
2.Kiểu số nguyên
2.Kiểu số nguyên
2.1 các kiểu số nguyên
2.1 các kiểu số nguyên
Tên kiểu
Tên kiểu
Phạm vi
Phạm vi
Dung lượng
Dung lượng
Shortint 
Shortint 
-128 → 127 
-128 → 127 
1 byte 
1 byte 
Byte 
Byte 
0 → 255 
0 → 255 
1 byte 
1 byte 
Integer
Integer
-2
-2

15
15
 →2
 →2
15 
15 
- 1
- 1
2 byte 
2 byte 
Word 
Word 
0 →2
0 →2
16
16
 – 1
 – 1
2 byte 
2 byte 
LongInt 
LongInt 
-2
-2
31
31
→2
→2
31
31

 - 1
 - 1
4 byte 
4 byte 


2.2. Các phép toán trên kiểu số nguyên
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:
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 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 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).
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:
2.2.2. Các phép toán xử lý bit:


Trên các kiểu ShortInt, Integer, Byte, Word có các phép toán:
Trên các kiểu ShortInt, Integer, Byte, Word có các phép toán:



NOT, AND, OR, XOR.
NOT, AND, OR, XOR.
3. Kiểu số thực
3. Kiểu số thực
Tên kiểu 
Tên kiểu 
Phạm vi 
Phạm vi 
Dung lượng 
Dung lượng 
Real 
Real 
0 h
0 h
oặc có giá trị tuyệt đối nằm
oặc có giá trị tuyệt đối nằm
trong phạm vi từ 10
trong phạm vi từ 10
-38
-38
đến 10
đến 10
38
38
6 byte 
6 byte 
Extended 
Extended 

0 ho
0 ho
ặc có giá trị tuyệt đối nằm
ặc có giá trị tuyệt đối nằm
trong phạm vi từ 10
trong phạm vi từ 10
-4932
-4932
đến 10
đến 10
4932
4932
10 byte 
10 byte 

4. Kiểu ký tự
4. Kiểu ký tự


- Từ khoá: CHAR.
- Từ khoá: CHAR.


- Kích thước: 1 byte.
- 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:
- Để 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'.
Đặ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ụ
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'.
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ụ
Dùng ký hiệu #n (trong đó n là mã ASCII của ký tự cần biểu diễn). Ví dụ
#65.
#65.


- Các phép toán: =, >, >=, <, <=,<>.
- Các phép toán: =, >, >=, <, <=,<>.


* Các hàm trên kiểu ký tự:
* 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')
- UPCASE(ch): Trả về ký tự in hoa tương ứng với ký tự ch. Ví dụ: UPCASE('a')
= 'A'.
= 'A'.
- ORD(ch): Trả về số thứ tự trong bảng mã ASCII của ký tự ch. Ví dụ
- ORD(ch): Trả về số thứ tự trong bảng mã ASCII của ký tự ch. Ví dụ
ORD('A')=65.

ORD('A')=65.
- CHR(n): Trả về ký tự tương ứng trong bảng mã ASCII có số thứ tự là n. Ví
- 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'.
dụ: CHR(65)='A'.
- PRED(ch): cho ký tự đứng trước ký tự ch. Ví dụ: PRED('B')='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'.
- SUCC(ch): cho ký tự đứng sau ký tự ch. Ví dụ: SUCC('A')='B'.

       
III. Lệnh trong Pascal
III. Lệnh trong Pascal
1. Câu lệnh (statement)
1. Câu lệnh (statement)
a.
a.
Trong một chương trình Pascal, sau phần mô tả dữ liệu là phần
Trong một chương trình Pascal, sau phần mô tả dữ liệu là phần
mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định các công
mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định các công
việc mà máy tính phải thực hiện để xử lý các dữ liệu đã được mô
việc mà máy tính phải thực hiện để xử lý các dữ liệu đã được mô
tả và khai báo.
tả và khai báo.
b.
b.
Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu
Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu
trúc.

trúc.


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


+ Vào dữ liệu : Read, Readln
+ Vào dữ liệu : Read, Readln


+ Ra dữ liệu : Write, Writeln
+ Ra dữ liệu : Write, Writeln


+ Lệnh gán : :=
+ Lệnh gán : :=


+ Lời gọi chương trình con (gọi trực tiếp tên của
+ Lời gọi chương trình con (gọi trực tiếp tên của
chương trình con)
chương trình con)


+ Xử lý tập tin : RESET, REWRITE, ASSIGN ...
+ Xử lý tập tin : RESET, REWRITE, ASSIGN ...


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

- Câu lệnh có cấu trúc
+ Lệnh ghép : BEGIN .. END
+ Lệnh ghép : BEGIN .. END
+ Lệnh chọn : IF .. THEN .. ELSE
+ Lệnh chọn : IF .. THEN .. ELSE
CASE .. OF .
CASE .. OF .
+ Lệnh lặp : FOR .. TO .. DO
+ Lệnh lặp : FOR .. TO .. DO
REPEAT .. UNTIL
REPEAT .. UNTIL
WHILE .. DO
WHILE .. DO
c.
c.
Các câu lệnh phải được ngăn cách với nhau bởi dấu chấm phẩy ( ; ) và Các
Các câu lệnh phải được ngăn cách với nhau bởi dấu chấm phẩy ( ; ) và Các
câu lệnh có thể viết trên một dòng hay nhiều dòng.
câu lệnh có thể viết trên một dòng hay nhiều dòng.
2. Cấu trúc tuần tự
2. Cấu trúc tuần tự
a. Lệnh gán (Assignment statement)
a. Lệnh gán (Assignment statement)
Một trong các lệnh đơn giản và cơ bản nhất của Pascal là lệnh gán. Mục đích
Một trong các lệnh đơn giản và cơ bản nhất của Pascal là lệnh gán. Mục đích
của lệnh này là gán cho một biến đã khai báo một giá trị nào đó cùng kiểu với
của lệnh này là gán cho một biến đã khai báo một giá trị nào đó cùng kiểu với
biến.
biến.



 
 

* Ý nghĩa:
* Ý nghĩa:
Biến và các phát biểu gán là các khái niệm quan trọng của một họ các ngôn ngữ lập
Biến và các phát biểu gán là các khái niệm quan trọng của một họ các ngôn ngữ lập
trình mà Pascal là một đại diện tiêu biểu. Chúng phản ánh cách thức hoạt động của
trình mà Pascal là một đại diện tiêu biểu. Chúng phản ánh cách thức hoạt động của
máy tính hiện nay, đó là:
máy tính hiện nay, đó là:
- Lưu trữ các giá trị khác nhau vào một ô nhớ tại những thời điểm khác nhau.
- Lưu trữ các giá trị khác nhau vào một ô nhớ tại những thời điểm khác nhau.
- Một quá trình tính toán có thể coi như là một quá trình làm thay đổi giá trị của một
- Một quá trình tính toán có thể coi như là một quá trình làm thay đổi giá trị của một
(hay một số) ô nhớ nào đó, cho đến khi đạt được giá trị cần tìm.
(hay một số) ô nhớ nào đó, cho đến khi đạt được giá trị cần tìm.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×