প্রোগ্রামিং ভাষা ও C প্রোগ্রামিং (Programming in C)
পর্ব ১: C প্রোগ্রামিংয়ের ডেটা টাইপ, লুপ (for, while) ও ধারা যোগফল ট্রেসার
১৯৭২ সালে বেল ল্যাবরেটরিতে ডেনিস রিচি (Dennis Ritchie) C প্রোগ্রামিং ভাষা উদ্ভাবন করেন। C ভাষায় কোনো কাজ বা ধারার যোগফল (যেমন 1 + 2 + 3 + ... + N অথবা 2 + 4 + 6 + ... + N) বারবার পুনরাবৃত্তি করার জন্য ব্যবহৃত হয় লুপ স্টেটমেন্ট (for, while, do-while)। প্রতিটি লুপের ৩টি মূল অংশ থাকে: ১) প্রারম্ভিক মান (Initialization), ২) শর্ত (Condition), এবং ৩) মান বৃদ্ধি/হ্রাস (Increment/Decrement)।
- কম্পাইলার (Compiler) পুরো প্রোগ্রাম একসাথে মেশিন ভাষায় অনুবাদ করে, আর ইন্টারপ্রেটার (Interpreter) এক লাইন করে অনুবাদ করে।
- C ভাষায় পূর্ণসংখ্যার (int) জন্য ফরম্যাট স্পেসিফায়ার %d, ভগ্নাংশের (float) জন্য %f, এবং ক্যারেক্টারের (char) জন্য %c ব্যবহৃত হয়।
- for লুপের গঠন: for(initialization; condition; increment) { statements; }
- for লুপ এবং while লুপকে খুব সহজেই একটি থেকে অপরটিতে রূপান্তর করা যায় (বোর্ড পরীক্ষার সৃজনশীল ঘ-নম্বরের সবচেয়ে কমন প্রশ্ন)!
ডানপাশের ল্যাবে "পরের ধাপ" বাটনে ক্লিক করে দেখো কীভাবে প্রতি ধাপে i-এর মান ২ করে বাড়ছে এবং sum ভেরিয়েবলে যোগ হচ্ছে!
দেখো কীভাবে for লুপের কোডটি স্বয়ংক্রিয়ভাবে while লুপের কাঠামোতে রূপান্তরিত হয়ে একই ফলাফল (30) প্রদান করছে!
প্রথম পদ 1, শেষ পদ 9 এবং বৃদ্ধি 2 দিলে ৫টি ধাপে যোগফল হয় 25!
for( ১; ২; ৩ ) { কাজ; } কে while লুপে নিতে হলে: ১) প্রারম্ভিক মানটিকে (১) while লুপের ওপরে নিয়ে যাও, ২) শর্তটিকে while( ২ ) এর ভেতরে রাখো, এবং ৩) বৃদ্ধি/হ্রাসের অংশটিকে (৩) লুপের বডির একদম শেষ লাইনে সেমিকোলন দিয়ে বসিয়ে দাও!
- scanf("%d", &n); লাইনে ভেরিয়েবলের নামের আগে অবশ্যই অ্যাম্পারস্যান্ড (& — Address Operator) দিতে হয়, কিন্তু printf-এ & দেওয়া লাগে না!
- C ভাষায় ভেরিয়েবলের নামের শুরুতে কখনো সংখ্যা (যেমন 1num) বা মাঝখানে স্পেস বা হাইফেন (যেমন Roll-No) থাকতে পারে না; কেবল আন্ডারস্কোর (_) ব্যবহার করা বৈধ (যেমন roll_no)।
C প্রোগ্রামিং ও লুপ স্টেপ-বাই-স্টেপ ট্রেসার (for ও while Loop)
ধারার যোগফল নির্ণয়ে প্রতিবার লুপ ঘোরার সাথে সাথে i এবং sum-এর মান কীভাবে বদলায় তা নিজের চোখে দেখো
#include <stdio.h>
int main() {
int i, sum = 0;
for(i = 1; i <= 5; i = i + 1) {
sum = sum + i;
}
printf("Sum = %d", sum);
return 0;
}| ধাপ | i-এর মান | শর্ত (i <= 5) | sum = sum + i |
|---|---|---|---|
| #1 | 1 | 1 <= 5 (সত্য / True) | 0 + 1 = 1 |
| #2 | 2 | 2 <= 5 (সত্য / True) | 1 + 2 = 3 |
| #3 | 3 | 3 <= 5 (সত্য / True) | 3 + 3 = 6 |
| #4 | 4 | 4 <= 5 (সত্য / True) | 6 + 4 = 10 |
| #5 | 5 | 5 <= 5 (সত্য / True) | 10 + 5 = 15 |