C এর খুব মজার একটা জিনিস হল এর syntax বেশ সহজ, কিন্তু খুব মাথা না খাটিয়ে এটা দিয়ে তেমন কিছুই করা যায় না।
তবুও শুধু C এর syntax গুলা শিখতে পারলেও অনেক লাভ। কারন, বিভিন্ন স্টেটমেন্ট যেমনঃif, switch, for, while ইত্যাদি C++/java তে প্রায় একই রকম।
লুপ হচ্ছে এমন একটি ব্যবস্থা যা দ্বারা একই কোড বার বার এক্সেকিউট করা যায়, অর্থাৎ একই কাজ বার বার করা যায়। জিনিসটা এতটাই সহজ।
C এর তিনটা লুপ স্টেটমেন্ট আছে। for, while এবং do while। প্রায় সব কাজই এই তিনটার যে কোন একটা দিয়ে করা যায়। তারপরেও অবস্থা বুঝে একেকটার একেক রকম সুবিধা ও অসুবিধা থাকে।
লুপ এক ধরনের কন্ডিশনাল স্টেটমেন্ট। এর মানে হচ্ছে কোন নির্দিষ্ট শর্তের অধীনে কাজ গুলো বার বার সম্পন্ন হবে। এইটা এমনও হতে পারে যে ১) একটি নির্দিষ্ট সংখ্যক বার কাজটি রিপিট হবে অথবা ২) একটি নির্দিষ্ট শর্ত পুরন না হওয়া পর্যন্ত কাজটি চলতে থাকবে। যেমনঃ ধরা যাক, Sagar Sarker ঠিক করলো যে সে পরপর ৭ দিন বিকাল পাচটায় তার প্রেমিকার সাথে দেখা করতে যাবে এবং তার প্রেমিকার সব চাওয়া পূরন করবে এবং বাসায় চলে আসবে।
তার মানে সে কয়দিন ডেটিং এ যাবে সেটা নির্দিষ্ট, কখন যাবে সেটাও নির্দিষ্ট, প্রেমিকার ইচ্ছা পূরন করবে সেটা নির্দিষ্ট, বাসায় চলে আসবে সেটাও নির্দিষ্ট।
কাজেই আমরা ঘটনাটিকে এই ভাবে লিখতে পারি,
প্রথম দিনে জন্য, যদি পাচটা বাজে তাহলে সাগর ডেটিং এ যাবে। প্রেমিকার ইচ্ছা পূরন করবে, বাসায় আসবে। এবং পরের দিন যদি অষ্টম দিন না হয় তাহলে আবার যাবে এবং একই কাজ রিপিট করবে।
for লুপের syntax হচ্ছেঃ
for ( লুপ শুরু করার শর্ত; লুপ চলার শর্ত; শর্তের পরিবর্তন)
{
যে কাজ গুলো বার বার হতে হবে সেই কাজ;
}
সাগরের ঘটনাটা যদি for লুপ দিয়ে লিখতে চাই তাহলেঃ
for (প্রথম দিন; অষ্টম দিনের আগ পর্যন্ত; পরের দিন)
{
if ( বেলা ৫ টা)
{
ডেট শুরু;
ইচ্ছা পূরন;
}
বাসায় ফেরত;
}
প্রথম দিন শর্তটা শুধু লুপ শুরুর সময় কাজে লাগবে। লুপ শুরুর দিন, সাগর দেখবে যে আজকে প্রথম দিন, তারপর পাচটা বাজলেই ডেট এ যাবে এবং বাসায় ফেরত আসবে। দিন শেষে প্রথম দিন শেষ হয়ে দ্বিতীয় দিন হয়ে যাবে। তখন সাগর দেখবে যে লুপ কন্টিনিউ করার শর্ত কি ছিল। আলোচ্য ক্ষেত্রে তা ছিলো, অষ্টম দিনের আগ পর্যন্ত। যেহেতু দ্বিতীয় দিন অষ্টম দিনের আগে সেহেতু সে আবার আগের দিনে কাজ রিপিট করবে।
অর্থাৎ for লুপ কাজ করে এইভাবে:
লুপ শুরুর শর্ত যদি লুপ চলার শর্তের মধ্যে থাকে তাহলে লুপের ভেতরে ঢুকবে, কাজ করবে এবং লুপ চলার শর্তকে হালনাগাদ করবে। হালনাগাদকৃত শর্ত যদি লুপ চলার শর্তের মধ্যে থাকে তাহলে আবার লুপে ঢুকবে, আর না হলে লুপ বন্ধ হয়ে যাবে।
সাধারনভাবে for লুপে শর্ত হিসেবে কাউন্টার ব্যবহার করা হয়। তারমানে লুপ শুরুর শর্ত হিসেবে কাউন্টারের একটা প্রাথমিক মান থাকে। লুপ চলার শর্ত হিসেবে দেওয়া থাকে যে কাউন্টারের মান কততে পৌছানোর আগ পর্যন্ত লুপ চলবে। আর প্রত্যেকবার সফল ভাবে লুপ সম্পন্ন হবার পরে কাউন্টারের মান পরিবর্তিত হবে।
অর্থাৎ
for (day= 1; day<=7; day++)
{
if (time== 1700)
{
date;
}
come home;
}
পরবর্তীতে অন্যান্য লুপ নিয়ে আলোচনা করা হবে।
তবুও শুধু C এর syntax গুলা শিখতে পারলেও অনেক লাভ। কারন, বিভিন্ন স্টেটমেন্ট যেমনঃif, switch, for, while ইত্যাদি C++/java তে প্রায় একই রকম।
লুপ হচ্ছে এমন একটি ব্যবস্থা যা দ্বারা একই কোড বার বার এক্সেকিউট করা যায়, অর্থাৎ একই কাজ বার বার করা যায়। জিনিসটা এতটাই সহজ।
C এর তিনটা লুপ স্টেটমেন্ট আছে। for, while এবং do while। প্রায় সব কাজই এই তিনটার যে কোন একটা দিয়ে করা যায়। তারপরেও অবস্থা বুঝে একেকটার একেক রকম সুবিধা ও অসুবিধা থাকে।
লুপ এক ধরনের কন্ডিশনাল স্টেটমেন্ট। এর মানে হচ্ছে কোন নির্দিষ্ট শর্তের অধীনে কাজ গুলো বার বার সম্পন্ন হবে। এইটা এমনও হতে পারে যে ১) একটি নির্দিষ্ট সংখ্যক বার কাজটি রিপিট হবে অথবা ২) একটি নির্দিষ্ট শর্ত পুরন না হওয়া পর্যন্ত কাজটি চলতে থাকবে। যেমনঃ ধরা যাক, Sagar Sarker ঠিক করলো যে সে পরপর ৭ দিন বিকাল পাচটায় তার প্রেমিকার সাথে দেখা করতে যাবে এবং তার প্রেমিকার সব চাওয়া পূরন করবে এবং বাসায় চলে আসবে।
তার মানে সে কয়দিন ডেটিং এ যাবে সেটা নির্দিষ্ট, কখন যাবে সেটাও নির্দিষ্ট, প্রেমিকার ইচ্ছা পূরন করবে সেটা নির্দিষ্ট, বাসায় চলে আসবে সেটাও নির্দিষ্ট।
কাজেই আমরা ঘটনাটিকে এই ভাবে লিখতে পারি,
প্রথম দিনে জন্য, যদি পাচটা বাজে তাহলে সাগর ডেটিং এ যাবে। প্রেমিকার ইচ্ছা পূরন করবে, বাসায় আসবে। এবং পরের দিন যদি অষ্টম দিন না হয় তাহলে আবার যাবে এবং একই কাজ রিপিট করবে।
for লুপের syntax হচ্ছেঃ
for ( লুপ শুরু করার শর্ত; লুপ চলার শর্ত; শর্তের পরিবর্তন)
{
যে কাজ গুলো বার বার হতে হবে সেই কাজ;
}
সাগরের ঘটনাটা যদি for লুপ দিয়ে লিখতে চাই তাহলেঃ
for (প্রথম দিন; অষ্টম দিনের আগ পর্যন্ত; পরের দিন)
{
if ( বেলা ৫ টা)
{
ডেট শুরু;
ইচ্ছা পূরন;
}
বাসায় ফেরত;
}
প্রথম দিন শর্তটা শুধু লুপ শুরুর সময় কাজে লাগবে। লুপ শুরুর দিন, সাগর দেখবে যে আজকে প্রথম দিন, তারপর পাচটা বাজলেই ডেট এ যাবে এবং বাসায় ফেরত আসবে। দিন শেষে প্রথম দিন শেষ হয়ে দ্বিতীয় দিন হয়ে যাবে। তখন সাগর দেখবে যে লুপ কন্টিনিউ করার শর্ত কি ছিল। আলোচ্য ক্ষেত্রে তা ছিলো, অষ্টম দিনের আগ পর্যন্ত। যেহেতু দ্বিতীয় দিন অষ্টম দিনের আগে সেহেতু সে আবার আগের দিনে কাজ রিপিট করবে।
অর্থাৎ for লুপ কাজ করে এইভাবে:
লুপ শুরুর শর্ত যদি লুপ চলার শর্তের মধ্যে থাকে তাহলে লুপের ভেতরে ঢুকবে, কাজ করবে এবং লুপ চলার শর্তকে হালনাগাদ করবে। হালনাগাদকৃত শর্ত যদি লুপ চলার শর্তের মধ্যে থাকে তাহলে আবার লুপে ঢুকবে, আর না হলে লুপ বন্ধ হয়ে যাবে।
সাধারনভাবে for লুপে শর্ত হিসেবে কাউন্টার ব্যবহার করা হয়। তারমানে লুপ শুরুর শর্ত হিসেবে কাউন্টারের একটা প্রাথমিক মান থাকে। লুপ চলার শর্ত হিসেবে দেওয়া থাকে যে কাউন্টারের মান কততে পৌছানোর আগ পর্যন্ত লুপ চলবে। আর প্রত্যেকবার সফল ভাবে লুপ সম্পন্ন হবার পরে কাউন্টারের মান পরিবর্তিত হবে।
অর্থাৎ
for (day= 1; day<=7; day++)
{
if (time== 1700)
{
date;
}
come home;
}
পরবর্তীতে অন্যান্য লুপ নিয়ে আলোচনা করা হবে।
0 comments:
Post a Comment