সবাইকে আমার আন্তরিক শুভেচ্ছা..
আজকে আমি সি প্রোগ্রামের অতি গুরুত্বপূর্ণ বিষয় For Loop নিয়ে আলোচনা করব।
লুপিং এর কাজে সবচেয়ে বেশি জনপ্রিয় হচ্ছে for loop. এ for loop এর তিনটি অংশ রয়েছে। তার আগে আমরা দেখেনি for loop সাধারন ব্যবহার নিয়ম।
for(expression1;
Expression2;
Expression3);
Statement;)
Note: এখানে প্রত্যেকটি Expression ; (সেমিকোলন) দিয়ে আলাদা করে দিতে হবে।
এখানে প্রথম expresion1 হচ্ছে for loop এর প্রথম অংশ। এটি দ্বারা একটি প্রাথমিক মান দেওয়া হয় । যাকে বলা হয় initial অংশ। এটি পুরো লুপিং প্রক্রিয়াকে নিয়ন্ত্রন করে।
দ্বিতীয় অংশটি অর্থাৎ Expresion2 দ্বারা একটি শর্ত দেওয়া হয়। লুপটি কতক্ষন পর্যন্ত চলবে তা এটি নির্নয় করে। Exprission2 তে সাধারনত একটি logical expression থাকে যা শুধু সত্য মিথ্যে বুঝতে পারে। যদি সত্য হয় তাহলে 1 রিটার্ন করে আর যদি মিথ্যে হয় তাহলে 0 রিটার্ন করে। এটি যদি 0 ছাড়া অন্য কোন মান রিটার্ন করে তাহলে লুপটি চলবে, আর যদি 0 রিটার্ন করে তাহলে লুপটি আর চলবে না।
Expression3 কাজ হচ্ছে আমারা প্রথমে যে প্রাথমিক মান নিলাম তাকে আমাদের ইচ্ছে মত মডিফাই করা। এটি প্রত্যেক লুপের শেষ ধাপে কাজ করে।
আর আগেই বলছি লুপটি ততক্ষনই চলবে যতক্ষন পর্যন্ত Exprission2 মিথ্যে বা 0 রিটার্ন না করে।
For loop সম্পর্কে আমরা এতক্ষন অনেক কিছু জানলাম, এবার প্রোগ্রামে এটাকে কিভাবে ব্যবহার করব তা দেখি। তার জন্য একটি প্রোগ্রাম লিখি যা 1 থেকে 15 পর্যন্ত সংখা গুলো প্রিন্ট করবে।
আপনাদের জন্য নিচের প্রোগ্রামটি। এটার আউটপুট কি হবে কিভাবে হবে তা বের করুন।:
#include
int main(void)
{
int i;
for(i=0;i<=15;i++)
printf(“%d\n”,i); }
এর আউট পুট হচ্ছেঃ ০ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 এখানে আমরা একটি integer variable নিয়েছি। for loop এর প্রথম Expression এ আমরা এর প্রাথমিক মান নিলাম ০. প্রাথমিক মানটি for loop এর দ্বিতীয় অংশ অর্থাৎ logical অংশ দ্বারা যাচাই না হয়েই for লুপের ভেতরে থাকা স্টেটমেন্টটি এক্সিকিউট করবে। এবং প্রথম Expression কাজ শেষ হয়ে যাবে। এর আর কোন কাজ নেই।
Print করার পর এবার তৃতীয় অংশ অর্থাৎ Expression3 এখানে i++ অংশ দ্বারা মডিফাই হবে। আমরা জানি i++ এর মানে হচ্ছে i = i+1 সুতরাং এখানে i এর মান এক বাড়বে এবং ০ থেকে 1 হবে। এবার দ্বিতীয় অংশ Expression2 এখানে এসে i<=10 অংশ দ্বারা লজিক্যাল যাচাই হবে। এখানে যাচাই করবে যে i এর মান 15 বা 15 থেকে ছোট কিনা। যেহেতু এখন i এর মান 15 থেকে ছোট তাই লুপটা আবার চলবে। এবং দ্বিতীয় বার এসে 1 প্রিন্ট করবে। আবার Exprission3 তে এসে মডিফাই হবে। আগের লুপ থেকে i এর মান পেয়েছি 1 এখন আবার 1 এর সাথে এক বেড়ে 2 হবে ( এ অংশ i++ দ্বারা) ।
আবার দ্বিতীয় অংশ i<=15 অংশ দ্বারা লজিক্যাল যাচাই হবে। যেহেতু 2<15থেকে ছোট তাই আবার 2 প্রিন্ট করবে। এভাবে প্রত্যেক ধাপ শেষ করবে। যখন i এর মান বেড়ে 16 হয়ে যাবে তখন আর লুপ চলবে না। এবং আমাদের প্রোগ্রামটি শেষ হবে।
আশা করি আপনারা প্রোগ্রামটি ভাল করে বুঝতে পারবেন…
না বোঝলে কমেন্টে জানান…
ভাল থাকবেন সবাই
Slight Credit: Intermediate ICT…
Your Comment is spam