-
## আগামী ও গ্রামীণফোন এর সহযোগিতায় অনূদিত ##
-
এখন লুপ নিয়ে কথা বলা যাক। এখানে আমি অল্প কিছু লাইন ব্যবহার করে একটি while লুপ তৈরি করেছি, যে লুপটি ব্যবহার করে আমি এই বার্তাটি আমার স্ক্রিনের একদম নিচ পর্যন্ত নিয়ে যেতে পারব।
-
যদি আমি এখানে এই বার্তাটি এভাবে পরিবর্তন করে দেয়, তাহলে দেখো বার্তাটি
-
সব জায়গাতে পরিবর্তন হয়ে যাবে।
-
তাহলে এটা কিভাবে কাজ করছে? আমরা একটু পরেই এই কোডটি দেখতে পারব।
-
কিন্তু প্রথমে এক ধাপ পিছনে যাওয়া যাক আর চিন্তা করা যাক, লুপ ব্যবহার না করে শুধুমাত্র আমরা এতদিনে যা শিখে এসেছি
-
তা ব্যবহার করে কিভাবে আমরা প্রোগ্রামটি লিখতে পারতাম।
-
তাহলে এটা করার জন্য অনেক গুলো টেক্সট আমরা বার বার করে লিখতেই থাকতাম, লিখতেই থাকতাম, তাই না?
-
আমরা প্রথমেই এটা লিখব- text (message), আর এটা পুনরাবৃত্তি করার একটি প্রক্রিয়া,
-
যেটা বার বার করে করতে থাকলে এক সময় টেক্সট স্ক্রিনের একদম নিচ পর্যন্ত চলে আসবে।
-
আর এটা করতে আমাদের বেশ পরিশ্রম করতে হবে, তাই না?
-
কারণ অনেক পথ অতিক্রম করে আমাদের স্ক্রিনের নিচ পর্যন্ত পৌঁছান লাগবে। আর এটা আরও খারাপ হয়ে যাবে যখন
-
তুমি আমাকে বলবে, এটার মান ৭০ হবে না, এটাকে আরও একটু কাছে নিয়ে আসতে হবে, এটার মান
-
৬০ হলে ভাল হয়। এটার প্রভাব এটার উপরে পড়বে কারণ এটার আকারও তখন ছোট হওয়া প্রয়োজন হবে
-
আর এভাবে টেক্সটের যতগুলো কল আছে সবগুলোর উপরই এটা প্রভাব ফেলবে।
-
আর এভাবে স্ক্রিনের শেষ পর্যন্ত পৌছাতেও অনেক সময়ের দরকার হবে।
-
তাহলে এটা করতে বেশ কষ্ট হবে আমাদের কিন্তু সাহায্য করার জন্য আমাদের কাছে লুপ নামে একটি ফাংশন আছে তাই আমরা কৃতজ্ঞ।
-
এখন থেকে যখনই তুমি এরকম কোডের পুনরাবৃত্তি দেখবে, তোমার প্রথম চিন্তা হবে
-
"এখানে কি আমি একটি লুপ ব্যবহার করতে পারি?" একটি লুপ আমাদের এই কোডটি অল্প একটু পরিবর্তন করার মাধ্যমে
-
বারবার এবং বারবার করে চালাতে সাহায্য করে থাকে। তাহলে এখানে
-
আমরা এভাবে লুপ ব্যবহার করে পুনরায় লিখতে পারি। শুরু করার জন্য আমরা এখানে লিখতে পারি "while", আর তারপরে
-
এই প্রথম বন্ধনী এবং তারপরে এই দ্বিতীয় বন্ধনী। আমরা এখানে এই বার্তাটি দেখতে পারব কিন্তু
-
এটার কারণ হল আমাদের কাজ এখনও শেষ হয়নি। চিন্তা করার কোন কারণ নেই, আমাদের কাজ শেষ হয়ে গেলে এটা চলে যাবে।
-
প্রতিবার একটি লুপ লেখার পরে তোমাকে তিনটি প্রশ্নের উত্তর দিতে হবে।
-
আর এগুলো হলে: তাহলে
-
প্রথম প্রশ্নটি হল, "আমি কি পুনরাবৃত্তি করতে চাইছি?" আর আমরা
-
যেটাই পুনরাবৃত্তি করতে চাইছি সেটা আমাদের এই দ্বিতীয় বন্ধনীর ভিতরে রাখতে হবে।
-
তাহলে আমরা এই "text" কলের ভিতরে থাকা লেখাটি এখানে পুনরাবৃত্তি করতে চাইছি।
-
কিন্তু এটা একটু অদ্ভুত তাই না? কারণ এখন আমরা বার বার করে একই টেক্সট
-
পুনরাবৃত্তি করতে চাইছি, যেটা আমাদের কাছে ভাল বলে মনে হচ্ছে না, আমরা এমন কিছু চাই যেটা
-
পরিবর্তন হতে থাকবে। যেটা আমাদেরকে দ্বিতীয় প্রশ্নের সামনে নিয়ে আসবে যেটা হল "প্রতিবার আমি কি পরিবর্তন করতে চাইছি?"
-
আমরা এখানে এই "y" এর অবস্থান পরিবর্তন করতে চাইছি তাই না? এটার মান আমরা চাইছি পরিবর্তন হয়ে ৬০ হোক এবং তারপরে আমরা চাইছি
-
এটার মান ৮০ হয়ে যাক। তাহলে আমি এখন এটার পরিবর্তে একটি চলক ব্যবহার করবো।
-
এটাকে আমরা y নামে কল করবো, কারণ এটা y অবস্থানে আছে। তাহলে আমরা উপরে এখানে একটি
-
চলক সংজ্ঞায়িত করবো। আমি এটা ৪০ দিয়ে শুরু করবো। আর এখন আমাদের যেটা করতে হবে সেটা হল
-
y এর মানটি পরিবর্তন করা। আমরা এটা এখানে করতে পারি, আমরা এখানে বলতে পারি "y gets y + 20"
-
তাহলে এটা এখানে প্রতিবারে বড় হতেই থাকবে।
-
আমরা এখানে শর্টকাট অনুশীলনী থেকে শেখা শর্টকাটগুলো এখানে ব্যবহার করতে পারি। শর্টকাটগুলো
-
এখানে আমরা ব্যবহার করতে পারি। অসাধারন এবং আমাদের শুধুমাত্র
-
তৃতীয় প্রশ্নের উত্তরটি দেয়া লাগবে যেটা হল "আমরা কতক্ষন ধরে এই পুনরাবৃত্তি চালিয়ে যাব?"
-
আমরা এটা বার বার, বার বার এবং বার বার করে করতে চাইছি কিন্তু আমরা এটা তো সারাজীবন ধরে চালিয়ে যেতে পারি না তাই না?
-
আমরা যদি এটা সারাজীবনের জন্য চালাই তাহলে প্রথমত আমাদের অনেক সময় ধরে অপেক্ষা করতে হবে এবং দ্বিতীয়ত এটা তোমার ব্রাউজার ক্রাস করে দিতে পারে।
-
কিন্তু আশা করা যাক এরকম কিছু হবে না। তাহলে আমরা শুধুমাত্র
-
এটা করতে চাইছি যতক্ষণ পর্যন্ত না এটা আমাদের পেজের নিচ পর্যন্ত না পৌছাচ্ছে, তাই না? তার অর্থ হল আমরা এটা করতে চাইছি
-
যতক্ষণ y এর মান ৪০০ পর্যন্ত না পউছায়। তাহলে আমরা এটাকে এখানে রাখতে চাইছি এবং এখানে
-
আমাদের হয়ে গেল। আমাদের স্ক্রিনের শেষ পর্যন্ত এই বার্তাটি লেখা হয়ে গেল।
-
আর তুমি দেখতে পারছ যে এটা আমাদের আগের পদ্ধতিটির চেয়ে অনেক বেশি সহজ আর
-
এটা করার জন্য আমাদের অনেক কিছু লেখা লাগত, কিন্তু এখানে আমরা দেখতে পারছি আমাদের অর্ধেকও আমরা শেষ করিনি।
-
তাহলে আমরা এটুকু বাদ দিয়ে দিতে পারি এবং আমরা প্রোগ্রামটি পাচ্ছি।
-
এখন এখানে কি ঘটছে সে সম্পর্কে একটি ধারণা পাওয়ার চেষ্টা করা যাক। এটা করার জন্য আমি এখানে
-
প্রতিবার y প্রিন্ট নিব। আমি এখানে বলব যে "y is now" এবং তারপরে নিচে এখানে
-
এই বার্তার শেষে আমি y সংযুক্ত করে দিচ্ছি যাতে আমরা সবাই দেখতে পারি।
-
তাহলে এই মুহূর্তে দেখা যাচ্ছে যে এর মানটি ২০ করে পরিবর্তিত হচ্ছে আর আমরা এটাকে
-
এখানে এই চলকে পরিবর্তন করে দিতে পারি। অথবা তুমি এটা করে দিতে পার, উমম
-
৫০। এখানে দেখা যাচ্ছে এটা এখন ৫০ করে পরিবর্তিত হচ্ছে, একই রকমভাবে।
-
তুমি এখানে এই মানগুলো নিয়ে খেলা করতে পার আর একই সাথে পরিবর্তিত করতে পারবে। এবং
-
তুমি এখানে দেখতে পারছ যে এটা কিভাবে প্রভাব ফেলছে এটার উপরে আর তুমি জান এটা কোথায় গিয়ে থামবে।
-
এটা বোঝার জন্য তুমি "if" বিবৃতির কথা
-
এখানে চিন্তা করতে পার। আমরা যেরকম বুলিয়ান সমীকরণে শিখেছিলাম
-
এখানে সেরকমই দেখা যাচ্ছে। এবং তারপরে আমরা এখানে বডির অংশের কাজ করবো, বিবৃতিটি নিয়ে
-
এই যে এই অংশটুকু, যদি এই বুলিয়ানটি সত্যি হয়, অন্যথায় আমরা শেষে
-
চলে যাব। কিন্তু মজার বিষয় হল একটি while লুপ ব্যবহার করলে
-
নিচে এখানে গোপনে একটি জিনিস ঘটতে থাকে যেখানে লেখা থাকে "go back to the start"
-
"of the loop"। এবং এই গোপন নির্দেশটির মানে এখানে হল
-
"if" বিবৃতিটির এরকমভাবে চলতে থাকার পরিবর্তে
-
প্রতিবার এই লুপ বডিটি রান করার আগে এটা পরীক্ষা করে নেয়
-
যে এই শর্তটি এখানে সত্যি কিনা। আর যদি সত্যি হয় তাহলে আমরা
-
আরও একবার পুনরাবৃত্তি করবো। আর তুমি হয়তো এখানে বুঝতে পেরেছ, দ্বিতীয়বার এটা করার সময়ও এটা একই কাজ করবে।
-
আমরা এখানে পরীক্ষা করে দেখব, হেই, আবার শুরু থেকে শুরু কর। y কি এখনও
-
২৭৯ থেকে ছোট? যদি ছোট হয়, তাহলে আমরা আরও একবার কাজটি পুনরাবৃত্তি করবো এবং এভাবে পরীক্ষা করতেই থাক।
-
আর এটা যদি না হয়, আমরা তাহলে শুরুতে এখানে ফিরে যাব।
-
সবশেষে আমাদের কাজ শেষ হবে এবং আমরা আমাদের প্রোগ্রামটি নিয়ে কাজ করবো।
-
অসাধারন। লুপ ব্যবহার করে মজার মজার আরও অনেক কাজ করা যায় যা আমরা পরবর্তী অনুশীলনীগুলোতে তাড়াতাড়ি শিখব কিন্তু,
-
আজকের মত আমরা এখানেই আমাদের অনুশীলনী শেষ করছি।
-
## আগামী ও গ্রামীণফোন এর সহযোগিতায় অনূদিত ##