C Programming Language শিখুন (পার্ট -১৬)Looping

লুপিং হচ্ছে প্রোগামিং এর প্রান। ছোট বড় প্রায় সব প্রোগ্রামেই লুপ এর ব্যবহার করতে হয়। লুপিং এর জন্য অনেক গুলো statement রয়েছে। যেমনঃ
1. While
2. Do-while
3. For ইত্যাদি।
আজ while লুপ নিয়ে আলোচনা করব। লুপ মানে কি তাতো মনে হয় সবাই যানেন। একই জিনিস বার বার ব্যবহার করাই হচ্ছে লুপ। আর এ প্রক্রিয়াকে বলে লুপইং। প্রোগ্রামিং এ লুপিং এর কাজ কি তাই তো?? অনেক সময় প্রোগ্রামিং এ একই জিনিস বার বার ব্যবহার করা লাগে, যেমন একটি নাম ১৫ বার ব্যবহার করা লাগবে। যদি প্র্যত্যেক বারের জন্য একবার করে কোড লিখতে হয় তাহলে একটি সিম্পল প্রোগামের অবস্থা কত বিশাল হবে একটু চিন্তা করুন। আর এ থেকে মুক্তি দিতে আছে লুপ। এবার আসুন দেখে নি while লুপ কিভাবে লিখা হয়
while(expression)statement
while লুপে বা যেকোন লুপে একটি নির্দিষ্ট শর্ত পূরন না হওয়া পর্যন্ত এক বা একাদিক মান সম্পাদন হয়ে থাকে, যা ঐ লুপ এর সাথে সম্পর্ক যুক্ত। এ খানে statement টি সম্পাদিত হবে যদি expression একটি true value দেয়। অর্থাৎ expression টি সত্য হয়। মিথ্যে হলে কিন্তু statement ব্যবহার হবে না। এখন মনে করি একটি প্রোগ্রামে আমরা প্রত্যেক লাইনে ০,১,২,৩,৪,৫,৬,৭,৮,৯,১০ইত্যাদি প্রিন্ট করব। এখন যদি নিচের মত করে একটি প্রোগ্রাম লিখি দেখুন কত বড় কোডিং করতে হয়।

#include
int main(void){
printf("0\n");
printf("1\n");
printf("2\n");
printf("3\n");
printf("4\n");
printf("5\n");
printf("6\n");
printf("7\n");
printf("8\n");
printf("9\n");
printf("10\n");
}

আউট পুটঃ

0
1
2
3
4
5
6
7
8
9
10

কিন্তু আমারা while লুপ ব্যবহার করে কিভাবে এত বড় কোড টা কে ছোট করে ফেলি তা দেখুনঃ

#include
int main(void)
{
int number=0;
while(number<=10){
printf("%d\n",number);
number++;
}
}

কত ছোট হয়ে গেছে দেখছেন?? আউট পুটে কোন পরিবর্তন হবে না। আগের প্রোগ্রামে যে আউট-পুট দিয়েছে এ প্রোগ্রামে একই আউট-পুট দিবে। এবার একটু ব্যাখ্যা করি,। কি ভাবে কি হল, এখানে int number=0; লাইন দিয়ে number নামে একটি ইন্টিজার ভ্যরিএবল নিয়েছি আমরা। আগের লাইন গুলোর কি কাজ তা মনে হয় জেনে গেছে ইতিমধ্যে। যাই হো এবার
while(number<=10)
{
printf("%d\n",number);
number++;
}

এই পুরোটাই হচ্ছে while লুপে অংশ। আমরা যদি while লুপের ব্যবহার ফরম এর সাথে তুলনা করি তাহলে (number<=10) এ অংশ টি হচ্ছে expression অংশ। এটি যদি সত্য হয়ে তাহলে পরের অংশ কাজ করবে মানে

{
printf("%d\n",number);
number++;
}

অংশ টি কাজ করবে। আর যদি মিত্যে হয় তাহলে
{
printf("%d\n",number);
number++;
}

অংশটি কাজ করবে না। এবার আসি while loop কিভাবে কাজ করে, আমরা শর্ত দিয়েছি যে number<=10 অর্থাৎ number এর মান ১০ এর বেশি হতে পারবে না। তার আগে int number=0; এ statement এ আমরা number এর মান ০ দিয়ে দিয়েছি। তাই প্রথমে ০ প্রিন্ট করবে। তার পর number++; statement দিয়ে number এর মান ১ বাড়বে। তার পর আবার number<=10 তে গিয়ে চেক করবে number এর মান ১০ থেকে ছোট কিনা। যদি ছোট হয় তাহলে প্রিন্ট করবে না হলে লুপ থেকে বের হয়ে আসবে।
এখন আগের প্রোগ্রাম টি আরো ছোট করে নিছের মত করে লিখতে পারিঃ


#include
int main(void)
{
int number=0;
while(number<=10)
printf("%d\n",number++);
}

এখানে সব কিছুই আগের মত execute হবে। শুধু মাত্র number এর মান বাড়বে প্রিন্ট ফাংশান এর ভিতরেই। আসা করি আপনাদের while লুপ সম্পর্কে ধারনা দিতে পেরেছি।
সবাইকে ধন্যবাদ। ভালো থাকবেন সেই প্রত্যাশায়….
Happy Programming!!!!

Level 0

আমি জাকির হোসাইন। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 14 বছর 8 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 224 টি টিউন ও 1487 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 5 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

পৃথিবীতে অল্পকয়েক দিনের জন্য অনেকেই আসে, হেঁটে খেলে চলে যায়। এর মধ্যে অল্প কয়েক জনই পায়ের চাপ রেখে যায়।ওদের একজন হতে ইচ্ছে করে। প্রযুক্তির আরেকটি সেরা ব্লগ টেকটুইটস। আপনাদের স্বাগতম, যেখানে প্রতিটি বন্ধুর অংশ গ্রহনে গড়ে উঠেছে একটি পরিবার। আপনাদের পছন্দ হবে আশা করি। ফেসবুকে আমি - ?জাকির!


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level 0

ভালো করেছেন ভাই।আমি শিখতে চাই কিন্তু জটিল মনে হয়।ধন্যবাদ

Level 0

ami programming c onekta shike pellam. tarporo apnar tune guli dekhi aro beshi janar jonno.

ভাইয়া একটা সাহায্য করবেন, আমার ল্যাপটপ উইন ৭ ৬৪ বিট। আমার কাছে borland c++ আছে। কিন্তু আমার turbo c টা বেশি ভাল লাগে। (কেমন একটা বস বস ভাব আসে 😉 ) একটু বলবেন আমি টারবো সি কিভাবে পাবো।
পোস্টের ব্যাপারে কিছু বলব না। বরাবরের মতই অসাধারণ। আরেকটা কথা, মিটাপে আসতে পারছি না। তবে ভাইয়া একটা পরামর্শ দয়া করে প্রাণপন চেষ্টা করবেন। টেকটিউনসের আপগ্রেড এর ব্যাপারটা তুলে ধরতে। ইদানিং টিটি কেমন কেমন হয়ে গেছে। মনটা খুব খারাপ হয়ে আছে।

    আমি উইন ৭ এ turbo c করতে পারলে জানাবো।
    ধন্যবাদ।

    ধন্যবাদ জাকির ভাইকে।
    মাখন ভাইয়ের সাথে সহমত।

    আসলে এটা একটি নন অফিসিয়াল মিট আপ। এখানে টিটির সমস্যা নিয়ে কথা নাও উঠতে পারে। উঠলে আমি অবশ্যই বলব।

    DOSBox দিয়ে TurboC 64bit এ চালান যায়। কম্পাইলার হিসেবে DevC++ বা CodeBlock ব্যাবহার করে দেখতে পারেন

জাকির ভাই, একটা সমস্যা, আপনার কোড ঠিক আছে, তবে getch() এটা না লিখলে তো প্রোগ্রাম রান করার সাথে সাথে ক্লোজ হয়ে যাবে 🙁

    জ্বি তা হবে, আমি যে কম্পাইলার ব্যবহার করছি তাতে সমস্যা হয় না। আমার দেওয়া উচিত ছিল। ঐ সময় এত চিন্তা করি নি 🙁

Level 2

উফফফফফ এত দেরি করলাম ক্লাসে জয়েন করতেঃ( ঃ( 🙁 🙁 লাইনে দাঁড়াইলাম অসংখ্য ধন্যবাদ এই উদ্যোগের জন্য

জাকির ভাই <stdio.h> হেডার কি লাগবেনা? নাকি লিখতে ভুল করেছেন? 🙄

    লিখছি তবে ওটা HTML Tag ,মনে করে ব্রাউজার দেখাচ্ছে না।

sob gula tune e porechi….kub valo hoise…
next tune kobe diben?

    দুই এক দিনের মধ্যে আবার শুরু করলে কেমন হয়? অথবা আজ?