Điều kiện (lập trình máy tính)

Sơ đồ luồng If-Then-Else

Trong khoa học máy tính, các câu lệnh điều kiện (conditional statement), biểu thức điều kiện (conditional expression) và cấu trúc điều kiện (conditional construct) là các tính năng của ngôn ngữ lập trình, thực hiện các tính toán hoặc hành động khác nhau tùy thuộc vào điều kiện boolean do lập trình viên đưa ra được đánh giá là đúng hay sai. Ngoài trường hợp xác định nhánh (branch predication), điều này luôn đạt được bằng cách thay đổi có chọn lọc luồng điều khiển dựa trên một số điều kiện.

Trong các ngôn ngữ lập trình mệnh lệnh, thuật ngữ " câu lệnh điều kiện" (conditional statement) thường được sử dụng, trong khi đó trong lập trình chức năng, thuật ngữ " biểu thức điều kiện" hoặc "cấu trúc điều kiện" được ưa thích hơn, bởi vì các thuật ngữ này đều có ý nghĩa riêng biệt.

If–then(–else)

[sửa | sửa mã nguồn]

Cấu trúc if–then xây dựng (đôi khi được gọi là if–then–else) phổ biến trên nhiều ngôn ngữ lập trình. Mặc dù cú pháp thay đổi từ ngôn ngữ sang ngôn ngữ, cấu trúc cơ bản (ở dạng mã giả) trông như thế này:

If (boolean condition) Then
    (consequent)
Else
    (alternative)
End If

Tham khảo chéo hệ thống lựa chọn

[sửa | sửa mã nguồn]

Bảng này đề cập đến đặc tả ngôn ngữ gần đây nhất của mỗi ngôn ngữ. Đối với các ngôn ngữ không có thông số kỹ thuật, việc triển khai chính thức mới nhất được đề cập đến.

Ngôn ngữ lập trình Structured if switch–select–case Arithmetic if Pattern matching[A]
then else else–if
Ada Không Không
Bash shell Không
C, C++ Không cần thiết[B] Fall-through Không Không
C# Không cần thiết[B] Không Không
COBOL Không cần thiết[B] Không Không
Eiffel Yes Không Không
F# Không cần thiết[C] Không
Fortran 90 [F] Không
Go Không cần thiết[B] Không Không
Haskell Cần thiết Không cần thiết[B] Bản mẫu:Yes-no[C] Không
Java Không cần thiết[B] Fall-through[1] Không Không
ECMAScript (JavaScript) Không cần thiết[B] Fall-through[2] Không Không
Mathematica Không
Oberon Không Không
Perl Không Không
PHP Fall-through Không Không
Pascal, Object Pascal (Delphi) Không cần thiết Không Không
Python Không Không Không
QuickBASIC Không Không
Ruby Không Không
Rust Không cần thiết Không
Scala Không cần thiết[B] Fall-through[cần dẫn nguồn] Không
SQL [S] [S] Không Không
Swift Không
Visual Basic, classic Không Không
Visual Basic.NET Không Không
Windows PowerShell Fall-through Không Không
  1. ^ This refers to pattern matching as a distinct conditional construct in the programming language – as opposed to mere string pattern matching support, such as regular expression support.
  2. 1 2 3 4 5 The often-encountered else if in the C family of languages, and in COBOL and Haskell, is not a language feature but a set of nested and independent if then else statements combined with a particular source code layout. However, this also means that a distinct else–if construct is not really needed in these languages.
  3. 1 2 In Haskell and F#, a separate constant choice construct is unneeded, because the same task can be done with pattern matching.
  4. ^ In a Ruby case construct, regular expression matching is among the conditional flow-control alternatives available. For an example, see this Stack Overflow question.
  5. 1 2 SQL has two similar constructs that fulfill both roles, both introduced in SQL-92. A "searched CASE" expression CASE WHEN cond1 THEN expr1 WHEN cond2 THEN expr2 [...] ELSE exprDflt END works like if ... else if ... else, whereas a "simple CASE" expression: CASE expr WHEN val1 THEN expr1 [...] ELSE exprDflt END works like a switch statement. For details and examples see Case (SQL).
  6. ^ Arithmetic if is obsolescent in Fortran 90.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Java.sun.com, Java Language Specification, 3rd Edition.
  2. ^ Ecma-international.org ECMAScript Language Specification, 5th Edition.

Liên kết ngoài

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
La Dolce Vita – 5 bí kíp để tận hưởng “cuộc sống ngọt ngào” kiểu Ý
La Dolce Vita – 5 bí kíp để tận hưởng “cuộc sống ngọt ngào” kiểu Ý
Theo nghiên cứu từ Đại học Leicester, người Ý thường khoẻ mạnh và sống lâu hơn so với nhiều quốc gia Châu Âu khác. Bí mật của họ là biến mọi khoảnh khắc cuộc sống trở nên ngọt ngào và đáng nhớ. Với họ, từng phút giây ở thời điểm hiện tại đều đáng thưởng thức bằng mọi giác quan.
Sơ lược về Dune - Hành Tinh Cát
Sơ lược về Dune - Hành Tinh Cát
Công tước Leto của Gia tộc Atreides – người cai trị hành tinh đại dương Caladan – đã được Hoàng đế Padishah Shaddam Corrino IV giao nhiệm vụ thay thế Gia tộc Harkonnen cai trị Arrakis.
Nên mua iPhone 11 Lock hay không?
Nên mua iPhone 11 Lock hay không?
Chỉ với 13 triệu đồng đã có thể sở hữu một chiếc iPhone 11 Lock, nhưng tại sao người dùng lại không nên ham rẻ?
Abraham Lincoln: Người tái sinh Tuyên ngôn Độc lập Hoa Kỳ
Abraham Lincoln: Người tái sinh Tuyên ngôn Độc lập Hoa Kỳ
Abraham Linconln luôn tin rằng, khi những Tổ phụ của nước Mỹ tuyên bố độc lập ngày 4/7/1776