Danh mục

Hình thành hệ thống điều khiển trình tự xử lý các toán tử trong một biểu thức logic

Số trang: 50      Loại file: pdf      Dung lượng: 0.00 B      Lượt xem: 149      Lượt tải: 0    
10.10.2023

Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu 'hình thành hệ thống điều khiển trình tự xử lý các toán tử trong một biểu thức logic', khoa học tự nhiên, toán học phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Hình thành hệ thống điều khiển trình tự xử lý các toán tử trong một biểu thức logic Giáo trình hình thành hệNthốngLập Trình khiển trình tự xử lý các điều C# gôn Ngữ toán tử trong một biểu thức logic Trong câu lệnh if mà chúng ta đã tìm hiểu trong phần trước, thì khi điều kiện là true thì biểu thức bên trong if mới được thực hiện. Đôi khi chúng ta muốn kết hợp nhiều điều kiện với nhau như: bắt buộc cả hai hay nhiều điều kiện phải đúng hoặc chỉ cần một trong các điều kiện đúng là đủ hoặc không có điều kiện nào đúng...C# cung cấp một tập hợp các toán tử logic để phục vụ cho người lập trình. Bảng 3.5 liệt kệ ba phép toán logic, bảng này cũng sử dụng hai biến minh họa là x, và y trong đó x có giá trị là 5 và y có giá trị là 7. Tên toán tử Ký hiệu Biểu thức logic Giá trị Logic Cả hai điều kiện and && (x == 3) && (y == false phải đúng 7) Chỉ cần một điều or || (x == 3) || (y == 7) true kiện đúng Biểu thức trong not ! ! (x == 3 ) true ngoặc phải sai. Bảng 3.5: Các toán tử logic (giả sử x = 5, y = 7). Toán tử and sẽ kiểm tra cả hai điều kiện. Trong bảng 3.5 trên có minh họa biểu thức logic sử dụng toán tử and: (x == 3) && (y == 7) Toàn bộ biểu thức được xác định là sai vì có điều kiện (x == 3) là sai. Với toán tử or, thì một hay cả hai điều kiện đúng thì đúng, biểu thức sẽ có giá trị là sai khi cả hai điều kiện sai. Do vậy ta xem biểu thức minh họa toán tử or: (x == 3) || (y == 7) Biểu thức này được xác định giá trị là đúng do có một điều kiện đúng là (y == 7) là đúng. Đối với toán tử not, biểu thức sẽ có giá trị đúng khi điều kiện trong ngoặc là sai, và ngược lại, do đó biểu thức: !( x == 3) có giá trị là đúng vì điều kiện trong ngoặc tức là (x == 3) là sai. Như chúng ta đã biết đối với phép toán logic and thì chỉ cần một điều kiện trong biểu thức sai là toàn bộ biểu thức là sai, do vậy thật là dư thừa khi kiểm tra các điều kiện còn lại một khi có một điều kiện đã sai. Giả sử ta có đoạn chương trình sau: int x = 8; if ((x == 5) && (y == 10)) Khi đó biểu thức if sẽ đúng khi cả hai biểu thức con là (x == 5) và (y == 10) đúng. Tuy nhiên khi xét biểu thức thứ nhất do giá trị x là 8 nên biểu thức (x == 5) là sai. Khi đó không cần thiết để xác định giá trị của biểu thức còn lại, tức là với bất kỳ giá trị nào của biểu thức (y == 10) thì toàn bộ biểu thức điều kiện if vẫn sai. 73 . Nền Tảng Ngôn Ngữ C# . Ngôn Ngữ Lập Trình C# Tương tự với biểu thức logic or, khi xác định được một biểu thức con đúng thì không cần phải xác định các biểu thức con còn lại, vì toán tử logic or chỉ cần một điều kiện đúng là đủ: int x =8; if ( (x == 8) || (y == 10)) Khi kiểm tra biểu thức (x == 8) có giá trị là đúng, thì không cần phải xác định giá trị của biểu thức (y == 10) nữa. Ngôn ngữ lập trình C# sử dụng logic như chúng ta đã thảo luận bên trên để loại bỏ các tính toán so sánh dư thừa và cũng không logic nữa! Độ ưu tiên toán tử Trình biên dịch phải xác định thứ tự thực hiện các toán tử trong trường hợp một biểu thức có nhiều phép toán, giả sử, có biểu thức sau: var1 = 5+7*3; Biểu thức trên có ba phép toán để thực hiện bao gồm (=, +,*). Ta thử xét các phép toán theo thứ tự từ trái sang phải, đầu tiên là gán giá trị 5 cho biến var1, sau đó cộng 7 vào 5 là 12 cuối cùng là nhân với 3, kết quả trả về là 36, điều này thật sự có vấn đề, không đúng với mục đích yêu cầu của chúng ta. Do vậy việc xây dựng một trình tự xử lý các toán tử là hết sức cần thiết. Các luật về độ ưu tiên xử lý sẽ bảo trình biên dịch biết được toán tử nào được thực hiện trước trong biểu thức.Tương tự như trong phép toán đại số thì phép nhân có độ ưu tiên thực hiện trước phép toán cộng, do vậy 5+7*3 cho kết quả là 26 đúng hơn kết quả 36. Và cả hai phép toán cộng và phép toán nhân điều có độ ưu tiên cao hơn phép gán. Như vậy trình biên dịch sẽ thực hiện các phép toán rồi sa ...

Tài liệu được xem nhiều:

Tài liệu cùng danh mục:

Tài liệu mới: