Thuật toán là một bảng hướng dẫn gồm hữu
hạn các mệnh lệnh, quy định chính xác các
thao tác hay phép toán mà máy tính điện tử cần
thực hiện một cách máy móc theo trình tự vạch
sẵn để giải quyết bài toán hay nhiệm vụ nào đó.
138 trang |
Chia sẻ: lylyngoc | Lượt xem: 2037 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 4: Lập trình bằng Pascal, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
4.1 TỔNG QUAN VỀ LẬP TRÌNH CHO
MÁY TÍNH ĐIỆN TỬ
• 4.1.1 Giới thiệu về thuật toán
• a. Khái niệm
Thuật toán là một bảng hướng dẫn gồm hữu
hạn các mệnh lệnh, quy định chính xác các
thao tác hay phép toán mà máy tính điện tử cần
thực hiện một cách máy móc theo trình tự vạch
sẵn để giải quyết bài toán hay nhiệm vụ nào đó.
• Ví dụ để giải bài toán ax2 + bx + c = 0. Dù a, b, c
nhận giá trị như thế nào, có thể là các hằng số,
biểu thức hay đa thức thì người giải chỉ cần thực
hiện theo 3 bước sau:
1/ Tính giá trị delta
2/ Xét giá trị delta : nếu delta âm thì kết luận bài toán
vô nghiệm ngược lại bài toán có 02 nghiệm
3/ Tính nghiệm của bài toán theo công thức
Với 3 bước thao tác trên, người ta gọi đó là thuật
toán giải phương trình bậc 2.
• b. Tính chất của thuật toán
Thuật toán có nhiều tính chất nhưng để
xây dựng một thuật toán cần phải tuân thủ
03 tính chất cơ bản của thuật toán sau :
- Tính chính xác: Một thao tác của thuật
toán phải rõ ràng, không gây nhầm lẫn
làm hiểu theo nhiều nghĩa khác nhau. Hay
nói cách khác là trong cùng một điều kiện
nếu thực hiện cùng một thao tác thì phải
cho ra cùng một kết quả
- Tính phổ dụng: Thuật toán được xây
dựng đảm bảo dùng để giải quyết
một lớp bài toán chứ không xây dựng
để giải quyết một bài toán cụ thể
Tính kết thúc: Các thao tác của thuật
toán phải đảm bảo dừng lại và cho ra
kết quả sau một số hữu hạn các bước
thực hiện
c. Biểu diễn thuật toán bằng sơ đồ
khối
Sơ đồ khối là công cụ để biểu diễn
thuật toán một cách trực quan, cho
phép tiện theo dõi các tiến trình và
tránh các sai sót nhầm lẫn.
Để biểu diễn thuật toán bằng sơ đồ
khối người ta sử dụng các ký pháp
sau:
- Đường mũi tên: Để chỉ hướng tiến
trình của thuật toán
- Khối bắt đầu hay kết thúc: Chỉ ra
điểm bắt đầu hay kết thúc thuật toán
Ví dụ về lập sơ đồ khối thuật toán.
Bài toán : Cho dãy số a1,a2,..,an
Hãy lập sơ đồ khối thuật toán tìm và in ra giá
trị Max và Min trong dãy.
Trang bên là sơ đồ khối thuật toán tìm và in
Max, Min của dãy số.
Sơ đồ khối thuật toán tìm Max và Min
Ngôn ngữ lập trình (Programing
Language)
Ngôn ngữ lập trình là một hệ thống được ký
hiệu hóa để miêu tả những tính toán (qua
máy tính) trong một dạng mà cả con người
và máy đều có thể đọc và hiểu được.
4.1.2 Giới thiệu về ngôn ngữ lập trình
• Theo khái niệm ở trên thì một ngôn
ngữ lập trình phải thỏa mãn được hai
điều kiện cơ bản là:
- phải dễ hiểu và dễ sử dụng đối với
người lập trình, để con người có thể
dùng nó giải quyết các bài toán khác
nhau
- phải miêu tả một cách đầy đủ và rõ
ràng các tiến trình (tiếng Anh: process),
để có thể chạy được trên các máy tính
khác nhau
• Một tập hợp các chỉ thị được biểu thị nhờ
ngôn ngữ lập trình để thực hiện các thao
tác máy tính nào đó thông qua một
chương trình.
• Như vậy, theo khái niệm, mỗi ngôn ngữ
lập trình cũng chính là một chương trình,
nhưng có thể được dùng để tạo nên các
chương trình khác. Một chương trình máy
tính được viết bằng một ngôn ngữ lập
trình thì những chỉ thị (của riêng ngôn ngữ
ấy) góp phần tạo nên chương trình
được gọi là mã nguồn của chương
trình ấy.
Thao tác chuyển dạng từ mã nguồn sang
thành chuỗi các chỉ thị máy tính được thực
hiện hoàn toàn tương tự như là việc
chuyển dịch giữa các ngôn ngữ tự nhiên
của con người. Các thao tác này gọi là
biên dịch (hay ngắn gọn hơn là dịch).
Người ta còn phân việc biên dịch làm hai
loại tùy theo quá trình dịch xảy ra trước
quá trình thực thi các tính toán hay nó xảy
ra cùng lúc với quá trình tính toán:
• + Thông dịch: Một phần mềm thông dịch là
một phần mềm có khả năng đọc, chuyển
dịch mã nguồn của một ngôn ngữ và ra
lệnh cho máy tính tiến hành các tính toán
dựa theo cú pháp của ngôn ngữ.
• + Biên dịch: Một phần mềm biên dịch hay
ngắn gọn hơn trình dịch là phần mềm có
khả năng chuyển dịch mã nguồn của một
ngôn ngữ ban đầu sang dạng mã mới thuộc
về ngôn ngữ cấp thấp hơn.
• Ngôn ngữ cấp thấp nhất là một chuỗi các
chỉ thị máy tính mà có thể được thực hiện
trực tiếp bởi chính máy tính (thông qua
các thao tác trên vùng nhớ).
• Trước đây, hầu hết các trình dịch cũ thường
phải thông dịch từ mã nguồn sang bộ mã phụ
(các tệp có dang *.obj), rồi sau đó, mới biên dịch
tiếp sang các tập tin thi hành. Ngày nay, hầu hết
các trình dịch đều có khả năng biên dịch mã
nguồn trực tiếp sang thành các tập tin thi hành
hay biên dịch sang các dạng mã khác thấp hơn
tuỳ theo yêu cầu của người lập trình.
• Điểm khác nhau giữa thông dịch và biên dịch là:
Trình thông dịch sẽ dịch từng câu lệnh một và
chương trình đích sẽ không được lưu lại. Còn
trình biên dịch sẽ dịch toàn bộ chương trình, cho
ra chương trình đích được lưu lại trong máy tính
rồi mới thực hiện chương trình. Một chương
trình máy tính có thể được thực thi bằng cách tổ
hợp của việc biên dịch và thông dịch.
• a/ Sơ lược sự hình thành và phát triển
của ngôn ngữ lập trình Pascal
• PASCAL là ngôn ngữ lập trình được giáo sư
Niklaus Wirth ở trường Đại học Zurich, Thụy
Sỹ phát minh ra vào những năm 70 của thế
kỷ 20. Ông đặt tên ngôn ngữ này là PASCAL
để tưởng nhớ nhà toán học người Pháp ở
thế kỷ 17 Blaise Pascal
4.1. 2 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH PASCAL
• Ngôn ngữ PASCAL được hình thành với mục
đích ban đầu nhằm hướng dẫn sinh viên
trong các trường đại học một thói quen
viết chương trình có cấu trúc sáng sủa, rõ
ràng, dễ đọc và dễ hiểu cho những người
khác.
• Trong quá trình phát triển, nó đã hình thành các
nhánh ngôn ngữ khác nhau nhưng phổ biến hơn cả
là:
• - ISO PASCAL được gọi là PASCAL chuẩn
(International Standard Organization)
• - ANSI PASCAL (Amerrican National
Satandard Institute)
• - TURBO PASCAL
• - IBM PASCAL
• - FREE PASCAL
Trong khuôn khổ của môn học, bài giảng đề cập đến
TURBO PASCAL với phiên bản 7.0. Để sử dụng được
ngôn ngữ lập trình này, người sử dụng cần tối thiểu 02
tệp tin là TURBO.EXE và TURBO.TPL, được lưu trong
cùng một thư mục. Trong đó tập tin TURBO.EXE chứa
hệ soạn thảo cho phép người sử dụng biên tập chương
trình dưới dạng một tệp văn bản .PAS, và tệp
TURBO.TPL là một tệp thư viện chứa các hàm, các thủ
tục và các đơn vị chương trình chuẩn của PASCAL.
Ngoài ra để dịch chương trình viết bằng
ngôn ngữ thuật toán PASCAL sang thành
tệp chương trình viết bằng ngôn ngữ máy
người sử dụng cần phải có thêm tệp
TPC.EXE (Turbo Pascal Compile).
b/ Các yếu tố cơ sở của ngôn ngữ Pascal
+ Bộ ký tự
• Bộ ký tự trong TURBO PASCAL bao gồm
• - Các chữ cái: Là các chữ cái trong bảng chữ cái
tiếng Anh từ A đến Z và từ a đến z
• - Các chữ số: Là các chữ số hệ thập phân từ 0
đến 9
• - Các ký hiệu đặc biệt: Là các ký tự đặc biệt có
trên bàn phím ký tự của máy tính điện tử
• + Tên: Là một dãy các ký tự, gồm các chữ
cái, chữ số và dấu gạch nối. Tên bắt đầu
bởi chữ cái và không chứa các ký tự toán
tử hay dấu khoảng trống.
• Tên dùng để chỉ một đối tượng được sử
dụng trong chương trình, do người sử
dụng đặt ra. Khi đặt tên cho đối tượng,
người sử dụng cần lưu ý:
• Tên phải là duy nhất, dãy ký tự đã dùng đặt cho
đối tượng này thì không đặt được cho đối tượng
khác. Trong Pascal, các ký tự trong dãy được
dùng đặt tên không phân biệt chữ hoa hay chữ
thường
• Dãy ký tự được dùng đặt tên chỉ có 63 ký tự đầu
là có ý nghĩa. Nếu dãy quá dài thì từ ký tự thứ
64 trở đi, Pascal sẽ tự loại bỏ
• Tên đặt cho đối tượng phải khác với từ khóa
của Pascal
• Ví dụ, có các dãy ký tự sau:
• a. Baitapso1
• b. Bai tap so 1
c. 1sobaitap
• d. Bai_tap_so_1 e. Bai-tap-so-1
• f. Baitap1&2 g. Baitap1+2
• Trong số các dãy trên thì dãy b là không
sử dụng để đạt được tên vì chứa các dấu
khoảng trống, dãy c không sử dụng được
vì bắt đầu bằng chữ số, dãy e và g không
sử dụng được vì chứa dấu toán tử (dấu
gạch dưới _ khác với dấu toán tử -)
• Ngoài ra, Pascal có những tên chuẩn
dùng để chỉ các đối tượng đã được Pascal
định nghĩa sẵn (kiểu dữ liệu, như thủ tục
xuất, nhập dữ liệu, như các hàm có
sẵn,…) bao gồm
• Boolean, Char, Integer, Word, Byte, Real,
Text
• False, True, Maxint
• Abs, Arctan, Chr, Cos, Sin, Eof, Eoln, Exp,
Ln, Odd, Ord, Round, Trunc, Sqr, Sqrt,
Pred, Succ
• Dispose, New, Get, Put, Read, Readln,
Write,Writeln, Reset, Rewrite
• + Lời giải thích: là các dòng văn bản hoặc
đoạn chương trình không được thi hành khi
chương trình thực hiện.
• Như để ghi chú cho công việc của một dòng lệnh
hoặc một đoạn chương trình, người sử dụng có
thể diễn tả bằng ngôn ngữ tự nhiên nhưng phải
đảm bảo để máy tính nhận biết và không thi hành
nó bằng cách đặt vào trong cặp “{ ….}” hoặc
cặp “(*….*)”. Lúc này trong cửa sổ soạn thảo
chương trình của Pascal, dòng chú thích sẽ bị mờ
đi và chúng ta hiểu rằng đó là phần mà máy tính
sẽ không kiểm soát và thực hiện chúng
• + Dấu “;”: Được dùng làm dấu ngăn cách giữa
các câu lệnh trong ngôn ngữ Pascal. Không
hiểu theo nghĩa là dấu kết thúc lệnh.
• Có những ngôn ngữ lập trình quy định mỗi câu
lệnh phải viết trên một dòng, nhưng với ngôn
ngữ Pascal trên một dòng có thể viết nhiều câu
lệnh và một câu lệnh có thể viết trên nhiều dòng.
Vậy để máy tính có thể phân biệt câu lệnh này
với câu lệnh khác, Pascal sử dụng dấu “;” để
ngăn cách chúng với nhau.
• c/ Cấu trúc chương trình Pascal
+ Phần tên chương trình: Bắt đầu bởi từ
khóa Program theo quy cách
Ví dụ:
Program ;
Program Baitap1;
• + Phần khai báo: các đại lượng, các đối tượng
được sử dụng trong chương trình đều phải
được khai báo trước tại phần này. Trừ các đại
lượng chuẩn đã được Pascal định nghĩa sẵn.
• Phần khai báo trong Pascal thường có các khai
báo sau:
User : Khai báo các đơn vị chương trình
Const : Khai báo các hằng
• Type : Định nghĩa các kiểu dữ liệu
• Var : Khai báo các biến
• Label : Khai báo các nhãn chương trình
• Procedure : Khai báo các chương trình con
• Function : Khai báo các hàm do người lập trình
định nghĩa
Khi khai báo người sử dụng khai báo hết các đại lượng
cùng nhóm, loại rồi mới chuyển sang nhóm, loại mới.
Chứ không khai báo một nhóm các đối tượng cùng loại
bởi nhiều từ khoá
• Ví dụ: Const M=5;
• N = 10; Var
• Ten : Array [1..N] of String[25]; Tuoi: Array
[1..N] of Integer;
• Phần thân chương trình: được bắt đầu
bằng từ khóa “Begin” và kết thúc bởi từ
khóa “End.” Giữa cặp từ khóa này là các
lệnh tương ứng với các thao tác của
thuật toán.
• Mỗi chương trình Pascal chỉ có duy nhất
một từ khóa “End.”, từ khóa này báo cho
máy tính biết rằng mọi công việc giao cho
chương trình đã hoàn tất, các lệnh ghi sau
từ khóa này sẽ không có ý nghĩa gì.
• Ví dụ: BEGIN
• Write (' I like Pascal ');
• Readln; END.
• d/ Soạn thảo và chạy thử nghiệm
chương trình Pascal
• Để đưa một chương trình vào máy tính điện
tử qua hệ thống các quy tắc của ngôn ngữ
lập trình Pascal, người sử dụng thực hiện
tệp tin TURBO.EXE. Trên cửa sổ soạn thảo
của Pascal, ngưởi sử dụng nhập các lệnh
vào theo đúng quy tắc của ngôn ngữ lập
trình.
• Trước khi dịch chương trình đã được soạn thảo
thành một tệp thi hành (tệp chương trình có
phần mở rộng EXE), người sử dụng cần thử
nghiệm để kiểm tra các kết quả đạt được bằng
cách ấn tổ hợp phím CTRL +F9 tại cửa sổ soạn
thảo chương trình (hoặc vào thực đơn thanh
ngang – chọn Run, trong thực đơn đổ xuống
chọn mục Run)
• a/ Hằng
• Hằng là đại lượng nhận một giá trị và nó
không thay đổi trong suốt quá trình
chương trình thực hiện. Các hằng phải
được khai báo trước khi sử dụng, trừ các
hằng chuẩn đã được Pascal định nghĩa
sẵn.
• Trong Pascal, có các hằng được định
nghĩa sẵn:
4.2 SỬ DỤNG CƠ BẢN NGÔN NGỮ LẬP TRÌNH PASCAL
(Hướng dẫn sử dụng cơ bản ngôn ngữ lập trình Pascal)
• + Kiểu dữ liệu (kiểu biến): là quy định về cấu
trúc và miền giá trị mà một biến thuộc kiểu đó có
thể nhận được cùng tập hợp các phép toán xác
định trên miền giá trị đó.
• Trong Pascal các kiểu dữ liệu được phân thành
4 nhóm:
• + Kiểu dữ liệu vô hướng (còn gọi là kiểu giản
đơn)
• - Kiểu đơn giản chuẩn bao gồm:
• Kiểu Logic
• Kiểu số nguyên
• Kiểu số thực
• Kiểu ký tự
• Kiểu vô hướng do người lập trình tự định
nghĩa
• Kiểu khoảng con
• Kiểu liệt kê
• + Kiểu dữ liệu có cấu trúc:
- Kiểu mảng
- Kiểu tập hợp
- Kiểu bản ghi
- Kiểu tệp
• + Kiểu dãy ký tự
• + Kiểu dữ liệu con trỏ
• Kiểu dữ liệu logic (Boolean)
Dữ liệu kiểu logic là dữ liệu chỉ nhận
các giá trị logic là True và False. Kiểu
logic được định nghĩa bởi từ khóa
Boolean
Các biến nhận giá trị logic được gọi là
biến logic, và biến có giá trị True sẽ
“>” biến có giá trị False.
• Một số toán tử liên quan đến biến
logic bao gồm:
- Toán tử quan hệ: = (bằng); > (lớn
hơn); >= (lớn hơn hoặc bằng); < (nhỏ
hơn);
(khác)
- Toán tử logic: And (hội); Or
(tuyển); Not (phủ định hay còn gọi là
đảo) và Xor (hoặc…triệt tiêu)
Bảng kết quả của các phép toán lô-gic:
Var
Gioitinh : Boolean;
Tuy nhiên, cũng cần lưu ý rằng, biến logic không
nhận giá trị thông qua việc nhập trực tiếp qua bàn
phím.
• Kiểu dữ liệu số nguyên (Integer)
Dữ liệu kiểu số nguyên là tập hợp các số nguyên
nằm trong khoảng – 32768 đến +32767. Kiểu dữ
liệu nguyên được định nghĩa bởi từ khóa Integer.
Các biến kiểu số nguyên được khai báo thông
qua từ khóa
Var
Một số toán tử liên quan đến dữ liệu kiểu nguyên:
Toán tử quan hệ: = (bằng); > (lớn hơn); >=
(lớn hơn hoặc bằng); < (nhỏ hơn); <= (nhỏ
hơn hoặc bằng) và (khác)
• Toán tử nguyên: + (cộng); - (trừ); *
(nhân); DIV (chia lấy phần nguyên) và
MOD (chia lấy phần dư)
• Ví dụ:
• (13 mod 3): sẽ cho kết quả là một số nguyên
chính là phần dư của việc chia 13 cho 3 và có
giá trị là 1
• (13 div 4): sẽ cho kết quả là một số nguyên
chính là
• thương nguyên của việc chia 13 cho 4 và có giá
trị là 3
• Khi viết các phép toán thuộc kiểu nguyên trong
Pascal cần chú ý
• đến miền giá trị của nó. Ví dụ:
• Bên cạnh cách biểu diễn số nguyên như ở trên
(biểu diễn bằng 2 byte), Pascal còn có thêm một
kiểu đơn giản chuẩn là kiểu biểu diễn số nguyên
bằng một byte. Phạm vi biểu diễn số nguyên khi
này là từ 0 đến 255 và được gọi là kiểu Byte.
• Ngoài ra, Turbo Pascal từ Version 4.0 trở đi và
một số Pascal khác đã đưa thêm vào các định
nghĩa kiểu số nguyên mới với các từ khoá Word,
ShortInt (Short Integer), LongInt (Long Integer).
LongInt -2147483648... 3147483647 4
• Kiểu dữ liệu số thực (Real)
• Dữ liệu kiểu số thực là tập hợp các giá trị
có thể biểu diễn được trong máy tính điện
tử. Kiểu dữ liệu thực được định nghĩa bởi
từ khóa Real.
• Dữ liệu kiểu số thực trong Pascal có thể
được biểu diễn bằng hai cách:
• - Số thực dấu phảy tĩnh: Được biểu diễn bởi 02 phần:
phần nguyên và phần thập phân, ngăn cách với nhau
bởi dấu chấm
• Ví dụ: 3.0; 3.14; -5.12
• - Số thực dấu phẩy động: Được biểu diễn bởi 02
phần: Phần định trị là một số thực dấu phẩy tĩnh và phần
bậc là một số nguyên nằm trong khoảng -39 đến + 38,
ngăn cách giữa 2 phần là chữ E.
• Ví dụ: -1.732E-05. Với cách biểu diễn này thì 1.732 là
phần định trị còn -5 là phần bậc và giá trị này được xác
định là -1.7 * 10-5.
• Để khai báo biến dữ liệu thuộc kiểu số thực, dùng từ khóa Real Ví
dụ, để khai báo về dân số, mức thu nhập bình quân/đầu người của
một quốc gia.
• Var
• Danso, ThunhapBQ : Real;
• Một số toán tử liên quan đến dữ liệu kiểu số thực:
• - Toán tử quan hệ: = (bằng); > (lớn hơn); >= (lớn hơn
• hoặc bằng); (khác)
• - Toán tử thực: + (cộng); - (trừ); * (nhân) và / (chia)
• Kiểu dữ liệu ký tự (Char)
• Dữ liệu kiểu ký tự là một ký tự bất kỳ có
trong tập hợp các ký tự của bẳng mã
ASCII. Kiểu dữ liệu ký tự được định nghĩa
bởi từ khóa Char.
• Giá trị của các biến ký tự khi viết trong
Pascal được đặt trong cặp dấy nháy đơn
(„ „). Biến ký tự nào có giá trị là ký tự
đứng trước trong bảng mã ASCII thì biến
đó nhỏ hơn so với biến ký tự có giá trị là
ký tự đứng sau trong bảng mã ASCII.
• Ví dụ: „A‟ < „B‟; „B‟ < „a‟
• Vì trong bảng mã ASCII, ký tự A đứng ở vị trí
thứ 65, B đứng ở vị trí 66 và a đứng ở vị trí 97
• Một số toán tử liên quan đến biến dữ liệu kiểu
ký tự:
• Toán tử quan hệ: = (bằng); > (lớn hơn); >= (lớn
hơn hoặc bằng);
•
(khác)
• Biến dữ liệu thuộc kiểu ký tự được khai bảo bởi
từ khóa Char
• Kiểu dữ liệu dãy ký tự (String)
• Dữ liệu kiểu dãy ký tự là một dãy gồm các
ký tự bất kỳ có trong bảng mã ASCII. Kiểu
dữ liệu dãy ký tự được định nghĩa bởi từ
khóa String.
• Cũng giống như biến dữ liệu thuộc kiểu ký tự, giá trị của
biến dãy ký tự khi viết trong Pascal sẽ được đặt trong
cặp dấu nháy đơn („ „)
• Để khai báo biến dữ liệu thuộc kiểu dãy ký tự có thể khai
báo theo quy cách:
• Var
• : String; {cách khai báo 1}
• :String[n]; {cách khai báo 2}
• Với cách khai báo 1 thì sẽ nhận được
tối đa 32767 ký tự
• Với cách khai báo 2, giá trị n là một số nguyên, dương
nó sẽ giới hạn số ký tự tối đa trong dãy mà <biến dãy ký
tự> có thể nhận được.
• Ví dụ: khai báo biển số xe, địa chỉ của một cơ quan
• Var
• Bienso: String[9]; Diachi:String;
• Ở đây biển số xe hiện tại chỉ nhận được một dãy gồm tối
đa là 9 ký tự còn địa chỉ thì có thể nhận một dãy có độ
dài lên tới 32767 ký tự. Nhưng việc không giới hạn độ
dài tối đa cho biến dữ liệu sẽ làm cho chương trình
chiếm dụng bộ nhớ một cách không cần thiết.
• Một số toán tử liên quan đến biến dữ liệu kiểu
dãy ký tự:
• - Toán tử quan hệ: = (bằng); > (lớn hơn); >=
(lớn hơn hoặc bằng); < (nhỏ hơn); <= (nhỏ hơn
hoặc bằng) và (khác)
• - Toán tử thực: + (cộng, dùng để ghép các
dãy ký tự lại với nhau)
• Ví dụ: biến A nhận giá trị là „Dai hoc‟ và biến B
nhận giá trị là dãy ký tự „Kinh te quoc dan‟
• c/ Biểu thức
• Biểu thức (Expression) là một công thức tính toán để có
một giá trị theo một quy tắc toán học nào đó. Một biểu
thức bao gồm: toán tử (operator) và toán hạng
(operand). Toán tử được viết ra bằng dấu phép toán.
Toán hạng có thể là hằng, hàm hoặc biến. Các phần tử
của biểu thức có thể được phân thành số hạng, thừa số,
biểu thức đơn giản.
• Ví dụ: 3 + PI * Sin ( x) ;
• Trong ví dụ này, các toán tử (các phép toán) là phép
cộng (+) và phép nhân (*). Các toán hạng là hằng số 3
và PI, là hàm Sin với đối số là biến X.
• - Biểu thức số học là biểu thức có giá trị bằng số (là
Integer, Real)
• - Biểu thức logic ( Boolean ) là biểu thức có giá trị là
True hoặc
• False.
• - Biểu thức dãy ký tự là biểu thức có giá trị là một dãy ký
tự
• - Một biểu thức chứa một trong các toán tử quan hệ (
, ,
• =, = ) đựoc gọi là một biểu thức Boolean đơn giản
hay một biểu thức quan hệ. Các toán hạng trong biểu
thức quan hệ có thể là các số nguyên, số thực, kí tự và
chúng phải tương thích nhau về kiểu.
• - Biểu thức có nhiều hơn một toán tử quan hệ
thì được gọi là biểu thức phức. Trong Pascal,
biểu thức phức phải được tách thành các biểu
thức giản đơn và kết hợp lại thông qua toán tử
logic.
• Ví dụ: trong toán học việc viết biểu thức A > B >
C rất hay gặp, nhưng khi biểu diễn trong ngôn
ngữ Pascal thì không đúng với quy tắc, và khi
đó biểu thức trên sẽ được viết lại như sau:
(B > C) and (B < A)
• - Khi thực hiện tính toán giá trị cho biểu thức, Pascal sẽ
thực hiện lần lượt các toán hạng theo các mức thứ tự
ưu tiên như sau:
• (1) Các toán hạng nằm trong cặp ngoặc ( ), từ trong ra
ngoài
• (2) Toán tử Not
• (3) Toán tử * (nhân); / (chia); DIV (chia lấy phần
nguyên); MOD (chia lấy phần dư) và AND (hội)
• (4) Toán tử + (cộng); - (trừ); Or (tuyển) và Xor (hoặc …
triệt tiêu)
• (5) Các toán tử quan hệ
• Trong trường hợp, các toán tử cùng mức ưu tiên thì
Pascal sẽ
• thực hiện tính toán lần lượt từ trái qua phải.
• d/ Hàm trong Pascal
• Hàm là một đoạn chương trình được xây dựng
để thực hiện một nhiệm vụ cụ thể nào đó.
Pascal xây dựng sẵn một số hàm và các hàm đó
được gọi là hàm chuẩn, khi cần thi hành công
việc của một hàm nào đó, người sử