লুপিং হচ্ছে প্রোগামিং এর প্রান। ছোট বড় প্রায় সব প্রোগ্রামেই লুপ এর ব্যবহার করতে হয়। লুপিং এর জন্য অনেক গুলো statement রয়েছে। যেমনঃ
1. While
2. Do-while
3. For ইত্যাদি।
আজ For লুপ নিয়ে আলোচনা করব। লুপিং এর কাজে সবচেয় বেশি ব্যবহৃত হয় for loop । এ for loop এর তিনটি অংশ রয়েছে। তার আগে আমরা দেখেনেই for loop সাধারন ব্যবহার নিয়ম।
for(exprission1;Exprission2;Expression3)Statement
বিদ্রঃ এখানে প্রত্যেকটি Expression ; (সেমিকোলন) দিয়ে আলাদা করে দিতে হবে।
এখানে প্রথম exprission1 হচ্ছে for loop এর প্রথম অংশ। এটি দ্বারা একটি নির্দিষ্ট বিষয়ের প্রাথমিক মান দেওয়া হয় । যাকে বলা হয় initial অংশ। এই বিষয়টিকে বলা হয় Index. এটি পুরো লুপিং প্রক্রিয়াকে নিয়ন্ত্রন করে। প্রাথমিক মানটি কোন কিছু যাছাই না করেই আউটপুট দেয়। মানে হচ্ছে প্রথমিক মান টা কোন কিছু যাচাই না করেই আউটপুট দিবে (যেমন প্রিন্ট বা অন্য কোন কাজে)।
দ্বিতীয় অংশটি অর্থাৎ Exprission2 দ্বারা একটি শর্ত দেওয়া হয়। লুপটি কতক্ষন পর্যন্ত চলবে তা এটি নির্নয় করে। Exprission2 তে সাধারনত একটি logical expression থাকে যা শুধু সত্য মিথ্যে বুঝতে পারে। যদি সত্য হয় তাহলে 1 রিটার্ন করে আর যদি মিথ্যে হয় তাহলে 0 রিটার্ন করে। এটি যদি 0 ছাড়া অন্য কোন মান রিটার্ন করে তাহলে লুপটি চলবে, আর যদি 0 রিটার্ন করে তাহলে লুপটি আর চলবে না।
Expression3 কাজ হচ্ছে আমারা প্রথমে যে প্রাথমিক মান নিলাম তাকে আমাদের ইচ্ছে মত মডিফাই করা। এটি প্রত্যেক লুপের শেষ ধাপে কাজ করে।
আর আগেই বলছি লুপটি ততক্ষনই চলবে যতক্ষন পর্যন্ত Exprission2 মিথ্যে বা 0 রিটার্ন না করে।
For loop সম্পর্কে আমরা এতক্ষন অনেক কিছু জানলাম, এবার প্রোগ্রামে এটাকে কিভাবে ব্যবহার করব তা দেখি। তার জন্য একটি প্রোগ্রাম লিখি যা 1 থেকে 10 পর্যন্ত সংখা গুলো প্রিন্ট করবে।
আপনাদের জন্য নিচের প্রোগ্রামটি। এটার আউটপুট কি হবে কিভাবে হবে তা বের করুন।
#include<stdio.h>int main()
{int i;
for(i=0;i<=10;i++)
printf("%d\n",i);return 0;
}
এর আউট পুট হচ্ছেঃ
০
1
2
3
4
5
6
7
8
9
10
এখানে আমরা একটি integer variable নিয়েছি। for loop এর প্রথম Expression এ আমরা এর প্রাথমিক মান নিলাম ০. প্রাথমিক মানটি for loop এর দ্বিতীয় অংশ অর্থাৎ logical অংশ দ্বারা যাচাই না হয়েই প্রিন্ট করবে। এবং প্রথম Expression কাজ শেষ হয়ে যাবে। এর আর কোন কাজ নেই।
Print করার পর এবার তৃতীয় অংশ অর্থাৎ Exprission3 এখানে i++ অংশ দ্বারা মডিফাই হবে। আমরা জানি i++=i+1 সুতরাং এখানে i এর মান এক বাড়বে এবং ০ থেকে 1 হবে। এবং এবার দ্বিতীয় অংশ Expression2 এখানে i<=10 অংশ দ্বারা লজিক্যাল যাচাই হবে। এখানে যাচাই করবে যে i এর মান 10 বা 10 থেকে ছোট কিনা। যেহেতু এখন i (১)এর মান ১০ থেকে ছোট তাই লুপটা আবার চলবে।
এবং দ্বিতীয় বার এসে 1 প্রিন্ট করবে।
আবার Exprission3 তে এসে মডিপাই হবে। আগের লুপ থেকে i এর মান পেয়েছি 1 এখন আবার 1 এর সাথে এক বেড়ে 2 হবে ( এ অংশ i++ দ্বারা) ।
আবার দ্বিতীয় অংশ i<=10 অংশ দ্বারা লজিক্যাল যাচাই হবে। যেহেতু 2, 10 থেকে ছোট তাই আবার 2 প্রিন্ট করবে। এভাবে প্রত্যেক ধাপ শেষ করবে। যখন i এর মান বেড়ে 11 হয়ে যাবে তখন আর লুপ চলবে না। এবং আমাদের প্রোগ্রামটি শেষ হবে।
No comments:
Post a Comment