> For the complete documentation index, see [llms.txt](https://haquenam.gitbook.io/learningwithenam/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://haquenam.gitbook.io/learningwithenam/cse/cse4ncseunit5/variables_loo_conditional_statements.md).

# ভ্যারিয়েবল, লুপ এবং কন্ডিশনাল স্টেটমেন্ট

{% embed url="<https://www.youtube.com/watch?v=j0ejKwg9VDo>" %}

ইউনিভার্সাল প্রোগ্রামিং নীতির সবচেয়ে গুরুত্বপূর্ণ তিনটি ধারণা হলো ভ্যারিয়েবল, লুপ এবং কন্ডিশনাল স্টেটমেন্ট। এই তিনটি ধারণা প্রোগ্রামিংয়ের ভিত্তি তৈরি করে এবং যেকোনো ভাষায় কাজ করার সময় এগুলো অপরিহার্য। এই অধ্যায়ে আমরা বিস্তারিতভাবে এই ধারণাগুলো নিয়ে আলোচনা করব।

## **ভ্যারিয়েবল (Variables): ডেটা সংরক্ষণের উপায়**

### **ভ্যারিয়েবল কী?**

ভ্যারিয়েবল হলো একটি কন্টেইনার, যা ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি প্রোগ্রামে ডেটার মান ধরে রাখে এবং পরবর্তীতে প্রয়োজন অনুযায়ী তা ব্যবহার করতে দেয়।

<figure><img src="/files/3GOM8yJBpWChq2kuIvvd" alt=""><figcaption><p>ভ্যারিয়েবল অনেকটা শিপিং কন্টেইনারের মতো, যা বিভিন্ন ধরনের ডেটা সংরক্ষণ করে। যেমন কন্টেইনারে পণ্য সুরক্ষিতভাবে রাখা হয়, তেমনি প্রোগ্রামে ভ্যারিয়েবল বিভিন্ন মান (ডেটা) সংরক্ষণ করে, যাতে প্রোগ্রাম সেগুলো ব্যবহারের জন্য প্রস্তুত থাকে।</p></figcaption></figure>

### **বাস্তব উদাহরণ:**

ধরুন, আপনি একটি ড্রয়ার ব্যবহার করছেন। সেই ড্রয়ার আপনার কলম, খাতা বা অন্যান্য সামগ্রী সংরক্ষণ করে। ড্রয়ারটি হলো আপনার ভ্যারিয়েবল এবং প্রতিটি সংরক্ষিত জিনিস হলো ডেটা।

<figure><img src="/files/dVMGoKzzE7e9V5fvhHxY" alt=""><figcaption><p>প্রোগ্রামিংয়ে "=" চিহ্নটি সমান নয় বরং এটি মান অ্যাসাইন করার নির্দেশ দেয়। <br>উদাহরণস্বরূপ, name = "Jason" বোঝায় যে ভ্যারিয়েবল name-এ "Jason" মানটি রাখা হয়েছে।</p></figcaption></figure>

### **প্রোগ্রামিংয়ে ভ্যারিয়েবলের ভূমিকা:**

1. **ডেটা সংরক্ষণ করা।**
2. **গণনা এবং বিশ্লেষণের জন্য ডেটা ব্যবহার করা।**
3. **প্রোগ্রামের ভিন্ন অংশে ডেটা শেয়ার করা।**

### **উদাহরণ (Python কোড):**

```python
name = "Ayesha"  # এটি একটি String ভ্যারিয়েবল
age = 18  # এটি একটি Numeric ভ্যারিয়েবল
is_student = True  # এটি একটি Boolean ভ্যারিয়েবল
```

**String ভ্যারিয়েবল** হলো এমন একটি ভ্যারিয়েবল, যেখানে টেক্সট বা লেখা সংরক্ষণ করা হয়। সহজ করে বললে, এটি এমন একটি জায়গা, যেখানে শব্দ, বাক্য, বা যেকোনো অক্ষর রাখা যায়।

**Numeric ভ্যারিয়েবল** হলো এমন একটি ভ্যারিয়েবল, যেখানে সংখ্যা সংরক্ষণ করা হয়। এটি প্রোগ্রামে গণনা, হিসাব-নিকাশ বা সংখ্যা সম্পর্কিত কাজের জন্য ব্যবহৃত হয়।

**Boolean ভ্যারিয়েবল** হলো এমন একটি ভ্যারিয়েবল, যা মাত্র দুটি মান ধারণ করতে পারে: **True (সত্য)** অথবা **False (মিথ্যা)**। এটি প্রোগ্রামে শর্ত যাচাই (decision-making) এবং লজিক্যাল কাজের জন্য ব্যবহৃত হয়।

## **লুপ (Loops): পুনরাবৃত্তি কমানোর উপায়**

### **লুপ কী?**

লুপ হলো প্রোগ্রামিংয়ে একটি পদ্ধতি, যা একটি নির্দিষ্ট কাজ বারবার করতে ব্যবহার করা হয়। এটি একই কাজ পুনরাবৃত্তি করতে সময় এবং পরিশ্রম কমায়।

<figure><img src="/files/WedN0E0dRTNktkt07qSm" alt=""><figcaption><p>লুপের উদাহরণ: একটি বল ১,০০০ বার ওঠা-নামার কাজ পুনরাবৃত্তি করছে। <br>এটি দেখায়, লুপ কীভাবে একই কাজ বারবার করতে ব্যবহৃত হয়।</p></figcaption></figure>

### **বাস্তব উদাহরণ:**

ধরুন, আপনি ৫০টি গাছে পানি দিতে চান। আপনি যদি এক এক করে প্রতিটি গাছে পানি দেন, তাহলে এটি অনেক সময়সাপেক্ষ এবং ক্লান্তিকর হবে। কিন্তু যদি একটি পাইপের ব্যবস্থা করেন, যেটি প্রতিটি গাছে পৌঁছে যায় এবং একবার সুইচ অন করলেই গাছগুলো স্বয়ংক্রিয়ভাবে পানি পেয়ে যায়, তাহলে কাজটি দ্রুত এবং সহজ হয়ে যাবে।

<figure><img src="/files/Tk5n58aSLjZ8kU9y9l2y" alt=""><figcaption><p>আপনি যদি এক এক করে প্রতিটি গাছে পানি দেন, তাহলে এটি অনেক সময়সাপেক্ষ এবং ক্লান্তিকর হবে।</p></figcaption></figure>

<figure><img src="/files/ey5aQJ8NdHfupzYYxYOS" alt=""><figcaption><p>একটি পাইপলাইন ব্যবস্থা, যা প্রতিটি গাছের গোড়ায় পানি সরবরাহ করছে। এটি প্রোগ্রামের লুপের মতো কাজ করে, যেখানে একবার নিয়ম ঠিক করে দিলে একই কাজ (পানি দেওয়া) স্বয়ংক্রিয়ভাবে বারবার করা হয়।</p></figcaption></figure>

এই পদ্ধতিটিই প্রোগ্রামে **লুপ** দিয়ে কাজ করা বোঝায়। লুপ বারবার একই কাজ করতে পারে, যতক্ষণ না সব গাছ পানি পেয়ে যায়।

### **প্রোগ্রামিংয়ে লুপের ভূমিকা:**

1. **কাজের পুনরাবৃত্তি কমানো।**
2. **ডেটার তালিকা নিয়ে কাজ করা।**
3. **সময় বাঁচানো।**

### **লুপের প্রকারভেদ:**

1. **For Loop:** একটি নির্দিষ্ট সময় পর্যন্ত কাজ করে।
2. **While Loop:** একটি শর্ত পূরণ না হওয়া পর্যন্ত কাজ করে।

**উদাহরণ (Python কোড):**

```python
# For Loop
for i in range(5):
    print("Hello")  # এটি ৫ বার "Hello" প্রিন্ট করবে

# While Loop
count = 0
while count < 3:
    print("Learning Loops!")
    count += 1  # প্রতিবার count এর মান ১ বাড়ানো হচ্ছে
```

## **কন্ডিশনাল স্টেটমেন্ট (Conditional Statements): সিদ্ধান্ত নেওয়ার পদ্ধতি**

### **কন্ডিশনাল স্টেটমেন্ট কী?**

কন্ডিশনাল স্টেটমেন্ট হলো এমন একটি নিয়ম, যা প্রোগ্রামকে শর্তের উপর ভিত্তি করে সিদ্ধান্ত নিতে সাহায্য করে।

### **বাস্তব উদাহরণ:**

আপনি ঠিক করলেন, যদি বাইরে রোদ থাকে তবে আপনি মাঠে খেলতে যাবেন। আর যদি বৃষ্টি হয়, তবে ঘরে বসে বই পড়বেন। এই সিদ্ধান্ত নেওয়ার প্রক্রিয়াই হলো কন্ডিশনাল স্টেটমেন্ট।

<figure><img src="/files/PtBUZEYNaw9J7cTekkNI" alt=""><figcaption><p>কন্ডিশনাল স্টেটমেন্টের উদাহরণ: যদি উত্তর সঠিক হয়, তবে ১০০ পয়েন্ট পাওয়া যাবে। <br>এটি দেখায়, শর্ত পূরণ হলে কীভাবে একটি কার্যক্রম সম্পন্ন হয়।</p></figcaption></figure>

### **প্রোগ্রামিংয়ে কন্ডিশনাল স্টেটমেন্টের ভূমিকা:**

1. **শর্তের ভিত্তিতে কাজ করা।**
2. **প্রোগ্রামে বিভিন্ন ধরণের পথ তৈরি করা।**
3. **স্মার্ট সিদ্ধান্ত গ্রহণ।**

<figure><img src="/files/Zkv6m7QpPVSuWdIzNP0j" alt=""><figcaption><p>ধরুন, একটি রেস্টুরেন্টে আপনি খাবার অর্ডার দিচ্ছেন। আপনার সামনে মেনুতে তিনটি অপশন আছে: ভাত, পাস্তা, বা বার্গার। যদি আপনি ভাত চান, তাহলে ওয়েটার ভাত নিয়ে আসবে। যদি পাস্তা চান, তাহলে পাস্তা পরিবেশন করা হবে। আর যদি বার্গার চান, তাহলে বার্গার নিয়ে আসবে। এটি একটি বাস্তব উদাহরণ যেখানে আমরা শর্ত অনুযায়ী সিদ্ধান্ত নিই।</p></figcaption></figure>

### **কন্ডিশনাল স্টেটমেন্টের প্রকারভেদ:**

1. **If Statement:** নির্দিষ্ট শর্ত পূরণ হলে কাজ করে।
2. **If-Else Statement:** শর্ত পূরণ না হলে একটি বিকল্প কাজ করে।
3. **Nested Conditionals:** একাধিক শর্ত নিয়ে কাজ করে।

### **উদাহরণ (Python কোড):**

```python
# If Statement
temperature = 30
if temperature > 25:
    print("It's hot outside!")

# If-Else Statement
rain = True
if rain:
    print("Take an umbrella.")
else:
    print("Enjoy the sunshine!")

# Nested Conditionals
age = 18
if age >= 18:
    if age == 18:
        print("You are just an adult!")
    else:
        print("You are an adult!")
```

ভ্যারিয়েবল, লুপ এবং কন্ডিশনাল স্টেটমেন্ট হলো প্রোগ্রামিংয়ের ভিত্তি। এগুলো ছাড়া কোনো প্রোগ্রামিং ভাষা শেখা বা ব্যবহার করা সম্ভব নয়। এই ধারণাগুলো আয়ত্ত করার মাধ্যমে আপনি প্রোগ্রামিংয়ের একটি শক্ত ভিত্তি তৈরি করতে পারবেন।
