Cách viết các biểu thức toán học trong Pascal

§6. PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đều xác định và sử dụng một số khái niệm cơ bản: phép toán, biểu thức, gán giá trị cho biến. Dưới đây sẽ xét các khái niệm đó trong Pascal. Phép toán Tương tự trong toán học, trong các ngôn ngữ lập trình đều có những phép toán số học như cộng, trừ, nhân, chia trên các đại lượng thực, các phép toán chia nguyên và lấy phần dư, các phép toán quan hệ,... Bảng dưới đây là kí hiệu các phép toán đó trong toán và trong Pascal: Phép toán Trong toán học Trong Pascal Các phép toán số học với số nguyên + [cộng], - [trừ], X [nhân], div [chia nguyên], mod [lấy phần dư] +, - *, div, mod Các phép toán số học với số thực + [cộng], - [trừ], X [nhân], : [chia] + - * / Các phép toán quan hệ [lớn hơn], > [lớn hơn hoặc bằng], = [bằng], * [khác] , >=, =, Các phép toán lôgic 1 [phủ định], V [hoặc], A [và] not, or, and Chú ý: - Kết quả của các phép toán quan hệ cho giá trị logic. - Một trong những ứng dụng của phép toán logic là để tạo ra các biểu thức phức tạp từ các quan hệ đơn giản. Biểu thức số học Trong lập trình, biểu thức số học là một biến kiểu số hoặc một hằng số hoặc các biến kiểu số và các hằng số liên kết với nhau bởi một số hữu hạn phép toán số học, các dấu ngoặc tròn [ và ] tạo thành một biểu thức có dạng tương tự như cách viết trong toán học với những quy tắc sau: Chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép toán trong trường hợp cần thiết; Viết lần lượt từ trái qua phải; Không được bỏ qua dấu nhân [*] trong tích. Các phép toán được thực hiện theo thứ tự: Thực hiện các phép toán trong ngoặc trước; Trong dãy các phép toán không chứa ngoặc thì thực hiện từ trái sang phải, theo thứ tự các phép toán nhân [*], chia [/], chia nguyên [div], lấy phần dư [mod] thực hiện trước và các phép toán cộng [+], trừ [-] thực hiện sau. Ví dụ Biểu thức trong toán học Biểu thức trong Pascal 5a+6b 5*a + 6*b xy z % x*y/z Ax2 + Bx + c A*x*x + B*x + c x+y X-Z xy 2 [x + y]/[x - 1/2] - [x - z]/[x*y] Chú ý: - Nếu biểu thức chứa một hằng hay biến kiểu thực thì ta có biểu thức số học thực, giá trị của biểu thức cũng thuộc kiểu thực. - Trong một sô' trường hợp nên dùng biến trung gian để có thể tránh được việc tính một biểu thức nhiều lần. Hàm số học chuẩn Để lập trình được dễ dàng, thuận tiện hơn, các ngôn ngữ lập trình đều có thư viện chứa một số chương trình tính giá trị những hàm toán học thường dùng. Các chương trình như vậy được gọi là các hàm số học chuẩn. Mỗi hàm chuẩn có tên chuẩn riêng. Đối số của hàm là một hay nhiều biểu thức số học và được đặt trong cặp ngoặc tròn [ và ] sau tên hàm. Bản thân hàm chuẩn cũng được coi là một biểu thức số học và nó có thể tham gia vào biểu thức số học như một toán hạng [giống như biến và hằng]. Kết quả của hàm có thể là nguyên hoặc thực hay phụ thuộc vào kiểu của đối số. Bảng dưới đây cho biết một số hàm chuẩn thường dùng. Hàm Biểu diễn toán học Biểu diễn trong Pascal Kiểu đối số Kiểu kết quả Bình phương X2 sqr[x] Thực hoặc nguyên Theo kiểu của đối số Căn bậc hai sqrt[x] Thực hoặc nguyên Thực Giá trị tuyệt đối X abs[x] Thực hoặc nguyên Theo kiểu của đối sô' Lôgarit tự nhiên Inx ln[x] Thực Thực Luỹ thừa của số e ex exp[x] 31 Thực Thực Sin sinx sin[x] Thực Thực Cos cosx cos[x] Thực Thực Ví dụ Biểu thức toán học -- trong Pascal có thể viết dưới dạng: 2[3 [b+sqrt[b*b 4*a*c] ]/[2*a] hoặc [b+sqrt [sqr[b]-4*a*c] ] /2/a Ngoài những hàm số học chuẩn trên, còn có các hàm chuẩn khác được giới thiệu trong những phần sau. Biểu thức quan hệ Hai biểu thức cùng kiểu liên kết với nhau bởi phép toán quan hệ cho ta một biểu thức quan hệ. Biểu thức quan hệ có dạng: trong đó, biểu thức 1 và biểu thức 2 cùng là xâu hoặc cùng là biểu thức số học. Ví dụ X < 5 i+1 >= 2*j Biểu thức quan hệ được thực hiện theo trình tự: Tính giá trị các biểu thức. Thực hiện phép toán quan hệ. Kết quả của biểu thức quan hệ là giá trị logic: true [đúng] hoặc/ữ/íố [sai]. Trong ví dụ trên, nếu X có giá trị 3, thì biểu thức X = 2*j sẽ cho giá trị false. Ví dụ Điều kiện để điểm M có toạ độ [%, y] thuộc hình tròn tàm ỉ[a, b], bán kính B là: sqrt[[x-a]*[x-a] + [y-b]*[ỵ-b]]

Chủ Đề