Tải bản đầy đủ (.pdf) (36 trang)

Bài giảng Ngôn ngữ lập trình Pascal: Chương 1 - 2 - 3

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 (118.25 KB, 36 trang )

Ngơn ngữ lập trình

Biên soạn:
Giảng bài:
1


Vì sao học PASCAL ?






PASCAL là ngơn ngữ lập trình cao cấp do GS
Niklaus Wirth sáng tác đầu 70.
PASCAL giúp sinh viên viết chương trình có
cấu trúc sáng sủa, rõ ràng, dễ hiểu và dễ đọc.
PASCAL là ngơn ngữ có cấu trúc mạnh mẽ cả
về dữ liệu lẫn chương trình và lệnh.

2


Algorithms+Data Structures=Programs
Thuật giải+Cấu trúc dữ liệu=Chương trình

3


Chương 1


Các phần tử cơ bản của PASCAL
Bộ chữ viết của PASCAL


Các chữ cái ‘a’..’z’, ‘A’..’Z’
 Không phân biệt chữ thường và hoa.



Các chữ số ‘0’..’9’
Dấu gạch nối _ rất tiện dụng
Các kí hiệu +, -, *, /, . , ; % ...
Dấu cách được dùng để ngăn cách các từ.





4


Từ khố
là các từ của riêng PASCAL


Thí dụ:
Program, Var, For, To, IF....

Tên hay Định danh (Indentifier)
là dãy kí tự bắt đầu bằng một chữ cái, dùng để chỉ tên

hằng số, tên một biến, tên kiểu, tên chương trình con...


Thí dụ:
ta phải dùng tên Delta thay cho dấu  là kí hiệu
không nằm trong bộ chữ viết PASCAL
5




Các tên đặt sai
1ABC, #DELTA, ARRAY, DEL TA



Dùng dấu gạch nối khi đặt tên
GIAI_PHUONG_TRINH_BAC_HAI
thay vì tên đúng song khó hình dung
GIAIPHUONGTRINHBACHAI
tên sai
GIAI-PHUONG-TRINH-BAC-HAI

 Tên bằng tiếng Việt ?
6




Dấu chấm phẩy ; dùng để ngăn cách câu lệnh

(xem sau)



Lời giải thích (comment) cho rõ ràng hơn
(* Lời giải thích có thể dùng tiếng Việt*)
{ Lời giải thích }
Sai nếu mở - đóng khác kiểu (* Sai }
Có thể viết nhiều dịng giải thích cho đến khi
khố lại
(* Dịng 1
dòng 2 *)




7


Lưu đồ cú pháp
Được dùng để định nghĩa các cấu trúc trong
PASCAL. Chính xác song rất rất ít dùng đến.
Thí dụ: định nghĩa tên

8


Cấu trúc chung
của một chương trình PASCAL


 Phần tiêu đề của chương trình
 Phần khai báo dữ liệu
- hằng, biến (Const, Var),
- mô tả kiểu dữ liệu mới (Type)
- khai báo chương trình con
(Procedure, Function)

 Phần thân chương trình
chứa các lệnh để máy tính thực hiện
9


Thí dụ 1.1
PROGRAM THI_DU1; (* Dịng tiêu đề *)
VAR
R, A, Dien_Tich: Real; (* Khai báo ba biến thực *)
BEGIN
Write(' Bán kính R = ');
READLN(R); (* Đọc giá trị của R *)
Dien_Tich := PI*R*R; (* Tính diện tích hình trịn *)
(* Viết ra màn hình kết quả tính *)
Writeln(' Diện tích hình trịn = ', Dien_Tich);
Write(' Cạnh hình vng A = '); READLN(A);
Dien_Tich := A*A;
Writeln(' Diện tích hình vng =', Dien_Tich);
Readln;
10
END.



Kết quả chạy chương trình
Bán kính R = 2.56 
Diện tích hình trịn = 2.0588741615E+01
Cạnh hình vng A = 2.56 
Diện tích hình vng = 6.5536000000E+00
_

11


PROGRAM TEN_CHUONG_TRINH;

(* Dòng tiêu đề *)

USES CRT, PRINTER;(*Lời gọi Sử dụng các đơn vị chương trình *)
(* Phần khai báo dữ liệu và chương trình con *)
LABEL...
CONST ...
TYPE ...
VAR ...
{ Có thể có nhiều Procedure và nhiều Function }
PROCEDURE ...
FUNCTION ...
(* Thân chương trình chính *)
BEGIN
(* Các lệnh được viết ở đây *)
......
12
END.



Các bước cơ bản khi viết chương trình
Bước 1: Soạn thảo chương trình.
Bước 2: Dịch và kết nối chương trình.
 Biên dịch (compiler)
 Thơng dịch (Interpreter) (ít dùng)
Bước 3: Chạy thử và sửa lỗi chương trình

Turbo PASCAL của hãng Borland có mơi trường
khép kín, đảm bảo hoạt động của cả 3 bước trên
trong một chương trình.

13


Bước 1: Thảo chương trình






Dùng chương trình soạn thảo văn bản (Text
Editor) để viết chương trình với nhiều thao tác
tiện dụng như xen, sửa, xố, copy ...
Máy tính cổ phải viết chương trình bằng cách
đục lỗ giấy.
Kết quả nhận được: các chương trình nguồn
(source code) PASCAL: *.PAS


14


Bước 2: Dịch và kết nối chương trình







Biên dịch (compiler)
Khái niệm về Thông dịch (Interpreter)
Kết quả của bước dịch là các tệp *.OBJ và
*.TPU
Tiếp theo phải liên kết các tệp *.OBJ và *.TPU
lại để thành chương trình chạy được, đó là tệp
*.EXE.
Nếu có lỗi về mặt cú pháp (syntax error), máy
sẽ báo rõ lỗi loại nào, vị trí lỗi ... Thí dụ Begin
viết thành Began
15


Bước 3: Chạy thử và sửa lỗi chương trình


Lỗi về thuật giải
2


X viết nhầm thành X*2
 Máy không thể phát hiện được



Lỗi về cách trình bầy, chưa đẹp ...
Nếu có lỗi, quay về bước 1 để sửa.
16


Lưu đồ lập trình

Begin

Dùng chương trình
soạn thảo văn bản
(EDITOR) để viết và
sửa lỗi chương trình

Gọi chương trình dịch
COMPILER và chương trình kết
nối LINKER

Có lỗi cú pháp



Chạy thử chương trình
vừa được dịch xong


Có lỗi thuật giải?
Có muốn sửa lại cho đẹp?



Khơng

End

17


Chương Các kiểu dữ liệu.
Các kiểu dữ liệu cơ sở.


Dữ liệu là nguồn vật liệu cho máy tính xử lí.
 Máy tính chỉ hiểu các dữ liệu được biểu diễn
dưới dạng mã nhị phân.
 Trong ngôn ngữ bậc cao, dữ liệu được khái quát
hoá thành các kiểu dữ liệu khác nhau.
18


Kiểu cơ sở

Kiểu
dữ
liệu


Kiểu vô hướng
(kiểu đơn giản)
(Scalar Type hay
Simple Type )

kiểu vô hướng
tự định nghĩa

kiểu logic Bun (Boolean)
kiểu số nguyên (Integer)
kiểu số thực (Real)
kiểu kí tự
(Char)
kiểu khoảng con
(sub-range)

kiểu liệt kê
(enumerated)
DATA
TYPE
Kiểu dữ liệu có cấu trúc
(Structured Type)

Kiểu mảng (ARRAY)
Kiểu tập
(SET)
Kiểu bản ghi (RECORD)
Kiểu tệp
(FILE)


Kiểu xâu kí tự (STRING)
19

Kiểu con trỏ. (POINTER Type)


Định nghĩa một kiểu dữ liệu
Một kiểu dữ liệu được xác định bởi 2 yếu tố:

 Một tập hợp các giá trị mà một biến thuộc kiểu
đó có thể nhận được
 Định nghĩa các phép toán trên tập giá trị đó.

20


Kiểu logic Boolean



Có hai giá trị FALSE và TRUE
Các phép toán AND, OR, XOR, NOT
X

Y

X AND Y

X OR Y


X XOR Y

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

FALSE

TRUE


TRUE

TRUE

TRUE

TRUE

TRUE

FALSE
21


Các phép tốn quan hệ
 Kết quả ln ln là giá trị kiểu Boolean
Kí hiệu phép tốn
ý nghĩa
<>
so sánh khác nhau
=
so sánh bằng nhau
>=
so sánh lớn hơn hoặc bằng
<=
so sánh nhỏ hơn hoặc bằng
>
so sánh lớn hơn
<
so sánh nhỏ hơn

Thí dụ: 3 < 5 cho giá trị TRUE

22


Kiểu số nguyên Integer
Kiểu số nguyên khai báo với từ khố Integer
 Dùng 2 bytes (số ngun 16 bít) để biểu diễn nên miền
giá trị: -32768 đến +32767
Thí dụ: -327, -32000, 1, 123
 Các phép tính: + - * / DIV MOD
quan hệ (>, <, <>...), logic (AND, OR...)
 Phép chia số nguyên 3 / 2 = 1.5
 Phép chia lấy phần nguyên 11 DIV 3 = ?
 Phép chia lấy số dư nguyên 11 MOD 3 = ?
23
 Cẩn thận tràn số: 32000+800-2000=29200



Một số phép toán cho số nguyên


Phép toán logic AND, OR, XOR, NOT
Thí dụ: 3 AND 5 = 1 vì
0000 0000 0000 0011
3
AND 0000 0000 0000 0101
5
-------------------------------------------Kết quả: 0000 0000 0000 0001

1


Phép dịch trái SHL (Shift Left), dịch phải SHR
(Shift Right) để tính nhanh hơn
4
4
24
3*2 = 3 SHL 4, 3 / 2 = 3 SHR 4


Kiểu số nguyên Byte






Kiểu số nguyên khai báo với từ khoá Byte
Dùng 1 byte để biểu diễn số nguyên dương nên miền
giá trị: 0 đến 255 .
Tiết kiệm ô nhớ.
Các phép tính: giống như Integer.

25


×