نوع داده بولی

**بولی** (**Boolean**، بعضاً کوتاه‌شده به **Bool**)، در علوم رایانه نوعی داده‌ در زبان‌های برنامه‌نویسی است که برای نمایش شرایط منطقی به‌کار می‌رود.

این نوع داده تنها دو مقدار ممکن دارد: True (درست) و False (نادرست). نوع داده بولی به‌ویژه برای انجام عملیات منطقی و مقایسه‌ها در برنامه‌نویسی استفاده می‌شود و اساس بسیاری از تصمیم‌گیری‌ها در الگوریتم‌ها و برنامه‌ها را تشکیل می‌دهد.

## تاریخچه
نام "بولی" از جورج بول (1815–1864) گرفته شده است. بول با ابداع جبر بولی، پایه‌گذار عملیات منطقی در دنیای رایانه و الکترونیک شد. جبر بولی از مفاهیم اساسی در پردازش‌های منطقی و محاسبات است که بیشتر در طراحی مدارهای دیجیتال، سیستم‌های کامپیوتری و برنامه‌نویسی مورد استفاده قرار می‌گیرد. جبر بولی به‌ویژه در طراحی کامپیوترهای دیجیتال و الگوریتم‌های رایانه‌ای نقش کلیدی دارد، جایی که تصمیمات منطقی مبتنی بر دو وضعیت ممکن (درست یا نادرست) گرفته می‌شود.

### ویژگی‌های نوع داده بولی
نوع داده بولی یک نوع داده منطقی است که تنها دو مقدار ممکن دارد: *True* و *False*. این مقادیر به‌طور گسترده در برنامه‌نویسی برای مقایسه‌ها، ارزیابی شرایط و انجام عملیات منطقی استفاده می‌شوند. ویژگی‌های اصلی این نوع داده عبارتند از:

* **دو مقدار ممکن:** مقادیر بولی می‌توانند فقط یکی از دو مقدار `True` (درست) یا `False` (نادرست) را به خود بگیرند.
* *عملیات منطقی***:** این نوع داده برای انجام عملیات منطقی مانند *AND* (و *منطقی*)، *OR* (یا منطقی)، *NOT* (نقیض) و غیره به‌کار می‌رود.
* **مقایسه‌های منطقی:** مقادیر بولی به‌طور معمول به‌عنوان نتیجه مقایسه‌های منطقی یا مقایسه‌ای در زبان‌های برنامه‌نویسی مورد استفاده قرار می‌گیرند.

### استفاده از نوع داده بولی در زبان‌های مختلف برنامه‌نویسی
در بسیاری از زبان‌های برنامه‌نویسی، مقادیر بولی به‌طور گسترده در ساختارهای شرطی و مقایسه‌ها به‌کار می‌روند. در اینجا برخی از زبان‌های برنامه‌نویسی و نحوه استفاده از نوع داده بولی در آن‌ها آورده شده است:

#### 1. Python
در زبان Python، مقادیر بولی به‌صورت `True` و `False` تعریف می‌شوند و از نوع داده `bool` برخوردار هستند. این زبان از مقادیر بولی برای مقایسه‌ها و عملیات منطقی استفاده می‌کند.

مثال:
```python
x = 5
y = 10

# استفاده از مقایسه
if x < y:
    print("x is less than y")

# استفاده از عملیات منطقی
if x < y and y > 5:
    print("Both conditions are true")
```
در این مثال، مقایسه `x < y` نتیجه‌ای برابر با `True` دارد و از عملگر منطقی `and` برای بررسی هر دو شرط استفاده شده است.

#### 2. JavaScript
در زبان JavaScript، مقادیر بولی به‌صورت `true` و `false` تعریف می‌شوند و از آن‌ها برای ساختارهای شرطی و انجام عملیات منطقی استفاده می‌شود.

مثال:
```javascript
let a = true;
let b = false;

if (a && !b) {
    console.log("a is true and b is false");
}
```
در این مثال، از عملگر منطقی `&&` (AND) و `!` (NOT) استفاده شده است تا بررسی شود که آیا هر دو شرط درست هستند.

#### 3. C++
در زبان C++، مقادیر بولی با استفاده از کلمه‌کلیدی `bool` تعریف می‌شوند. مقادیر این نوع داده می‌توانند فقط `true` یا `false` باشند.

مثال:
```c++
#include <iostream>
using namespace std;

int main() {
    bool isAdult = true;
    bool isStudent = false;

    if (isAdult && !isStudent) {
        cout << "Adult but not a student" << endl;
    }

    return 0;
}
```
در این کد، از نوع داده `bool` برای نگهداری مقادیر بولی استفاده شده و در ساختار شرطی از عملگرهای منطقی `&&` و `!` برای بررسی شرایط مختلف استفاده شده است.

#### 4. Java
در زبان Java، مقادیر بولی با استفاده از کلمه‌کلیدی `boolean` تعریف می‌شوند و تنها می‌توانند `true` یا `false` باشند.

مثال:
```java
public class Main {
    public static void main(String[] args) {
        boolean isRainy = false;

        if (!isRainy) {
            System.out.println("It is not rainy today.");
        }
    }
}
```
در این کد، از عملگر `!` برای معکوس کردن مقدار `isRainy` استفاده شده است که به‌عنوان یک شرط در دستور شرطی `if` بررسی می‌شود.

### کاربردهای نوع داده بولی
نوع داده بولی در برنامه‌نویسی کاربردهای متعددی دارد که در بسیاری از فرآیندهای منطقی، مقایسه‌ای و تصمیم‌گیری‌ها به‌کار می‌رود. برخی از این کاربردها عبارتند از:

**ساختارهای شرطی:** از مقادیر بولی برای کنترل جریان اجرای برنامه استفاده می‌شود. مقادیر `True` یا `False` معمولاً در دستورات شرطی مانند `if`, `else`, `else if` برای تصمیم‌گیری در مورد اجرای بخش‌های مختلف کد به‌کار می‌روند.  مثال:
# 
```python
if temperature > 30:
    print("It's hot!")
else:
    print("It's not hot.")
```

# **حلقه‌ها:** مقادیر بولی در حلقه‌ها به‌ویژه در حلقه‌های `while` برای تکرار یک بخش از کد تا زمانی که شرطی برقرار باشد، به‌کار می‌روند.  مثال:
```python
count = 0
while count < 5:
    print(count)
    count += 1
```

# **عملیات منطقی:** مقادیر بولی برای انجام عملیات منطقی مانند AND، OR، و NOT استفاده می‌شوند. این عملیات معمولاً برای بررسی شرایط مختلف به‌صورت ترکیبی به‌کار می‌روند.  مثال:
```python
a = True
b = False
result = a or b  # نتیجه True خواهد بود
```

# **مقایسه‌ها:** بسیاری از مقایسه‌ها در زبان‌های برنامه‌نویسی مانند `==`, `!=`, `>`, `<` و دیگر عملگرهای مقایسه‌ای، مقادیر بولی را به‌عنوان نتیجه باز می‌گردانند.  مثال:
```python
if x == y:
    print("x is equal to y")
```


### نتیجه‌گیری
نوع داده بولی نقش بسیار مهمی در برنامه‌نویسی دارد و به‌طور وسیعی در عملیات منطقی و مقایسه‌ای به‌کار می‌رود. این نوع داده با دو مقدار اصلی `True` و `False`، زمینه‌ساز تصمیم‌گیری‌های منطقی در الگوریتم‌ها و برنامه‌ها است. به‌کارگیری صحیح و مؤثر نوع داده بولی در زبان‌های مختلف برنامه‌نویسی از اهمیت ویژه‌ای برخوردار است و برای هر برنامه‌نویس ضروری است که با آن آشنایی کامل داشته باشد.

## منابع

* 
رده:انواع داده
رده:جبر بولی
رده:زبان‌های برنامه‌نویسی