Pascal - Kiểu lôgic (boolean)

Thứ tự thực hiện các phép toán lôgic là như sau: NOT tính trước, kế

đến AND, sau cùng là OR, XOR.

Ví dụ, sau khi thực hiện lệnh:

A:=Not(2*3=5) or (‘A’<‘B’) and not (4/2=2) xor (Sqrt(2) >1);

thì gía trị của A= FALSE, thật vậy :

Not (2*3=5) or (‘A’<‘B’) and not (4/2=2) xor (Sqrt(2) >1)

= TRUE or TRUE and FALSE xor TRUE

=TRUE or FALSE xor TRUE

= TRUE xor TRUE

= FALSE

pdf7 trang | Chia sẻ: maiphuongdc | Lượt xem: 15220 | Lượt tải: 4download
Bạn đang xem nội dung tài liệu Pascal - Kiểu lôgic (boolean), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
KIỂU LÔGIC (BOOLEAN) Kiểu boolean chỉ có hai gía trị là TRUE (đúng) và FALSE (sai), không phân biệt chữ hoa hay chữ thường. Về quan hệ thứ tự thì FALSE< TRUE. Mỗi gía trị boolean chiếm một byte bộ nhớ. Các phép toán lôgic gồm có: NOT, AND, OR và XOR. Nếu A và B là hai đại lượng lôgic thì NOT A, A and B, A or B và A xor B cũng là những đại lượng lôgic có kết qủa được cho ở bảng 6.6. A not A True False False True A B A and B A or B A xor B True True True True False True False False True True False True False True True False False False False False Bảng 6.6 Cũng từ bảng này ta rút ra các nhận xét : A and B là đúng khi và chỉ khi A và B đồng thời đúng. (Do đó chỉ cần một trong hai biến A hoặc B sai thì A and B sẽ sai). A or B là sai khi và chỉ khi A và B đồng thời sai. (Do đó chỉ cần một trong hai biến A hoặc B đúng thì A or B sẽ đúng). A xor B là đúng khi và chỉ khi A khác B. Thứ tự thực hiện các phép toán lôgic là như sau: NOT tính trước, kế đến AND, sau cùng là OR, XOR. Ví dụ, sau khi thực hiện lệnh: A:=Not (2*3=5) or (‘A’1); thì gía trị của A= FALSE, thật vậy : Not (2*3=5) or (‘A’1) = TRUE or TRUE and FALSE xor TRUE = TRUE or FALSE xor TRUE = TRUE xor TRUE = FALSE Biến chỉ nhận gía trị là TRUE hoặc FALSE gọi là biến kiểu lôgic. Khi khai báo biến kiểu lôgic ta dùng từ khóa Boolean, ví dụ : Var A, B : Boolean; Trong chương trình ta có thể gán : A:= true; B:=2*2 < 3; Gía trị của biến B sẽ là False vì biểu thức 2*2< 3 là sai. Về thứ tự tính toán, các phép so sánh thì ngang cấp nhau và được tính sau tất cả các phép toán khác. Ví dụ tính biểu thức : 5+7 div 2 < -7 mod 3 + 5*2 = = 5 + 3 < -1 + 10 = 8< 9 = TRUE Do đó, khi trong một biểu thức mà có các phép toán lôgic xen kẽ với các biểu thức so sánh thì các biểu thức so sánh phải để trong ngoặc đơn. Chẳng hạn, biểu thức sau là sai quy cách: N > 0 and N<10 Cần sửa đúng thành : (N > 0) and (N<10) Ví dụ 6.6: Nhập vào độ dài ba cạnh a,b,c của một tam giác, nếu a, b, c không phải là ba cạnh của tam giác thì in lên màn hình câu " không phải ba cạnh của tam gíac", ngược lại, nếu đúng là ba cạnh của một tam giác thì tính chu vi và diện tích tam giác đó theo công thức Hêrông: , với p là nửa chu vi: Ta biết, điều kiện để a,b,c là ba cạnh của một tam giác là mỗi cạnh phải dương và tổng hai cạnh thì lớn hơn cạnh còn lại. Dưới đây là chương trình cụ thể : PROGRAM VIDU66; {Tính diện tích và chu vi tam giác theo 3 cạnh} Var a, b, c, P, S : Real; Tgiac: Boolean; Begin Write(‘ Nhap 3 canh cua tam giac : ‘); Readln(a, b, c); Tgiac:= (a>0) and (b>0) and (c>0) and (a+b>c) and (a+c>b) and (b+c>a); If Tgiac= FALSE then Writeln(‘ Khong phai ba canh cua tam giac !’) else begin P:=(a+b+c)/2; S:= Sqrt( P*(P-a)*(P-b)*(P-c) ); Writeln(‘ chu vi = ‘ , 2*P:10:2); Writeln(‘ dien tich S= ‘ , S:10:2); end; Readln; End. Chạy Chép tập tin nguồn Khi chạy chương trình này, để nhập ba cạnh của tam giác, bạn gõ ba số cách nhau khoảng trắng rồi enter, chẳng hạn : Nhap 3 canh cua tam giac : 3 4 5 Kết qủa chu vi= 12.00, dien tich= 6.00. Nếu nhập ba cạnh là : 2 3 6 thì máy hiện câu: "Không phải ba cạnh của tam giác ! " (vì 2+3 < 6).

Các file đính kèm theo tài liệu này:

  • pdfkieu_logic_6946.pdf
Tài liệu liên quan