আপনার এক বন্ধু আপনার বাসায় আসতে চায়। তা আসুক, সমস্যা নেই।
সমস্যা অন্য জায়গায়।
তিনি আপনার বাসার আসার রাস্তা চেনেন না।
আপনি গিয়ে যে তাকে নিয়ে আসবেন সে অবস্থাও নেই হয়তো।
এখন আপনার বন্ধুকে আপনি বলে দিবেন কিভাবে বাসায় আসতে হবে।
এই পথ নির্দেশের কিন্তু একটা ধারাবাহিকতা থাকতে হবে।
প্রথমেই হয়তো আপনি ধরে নেবেন আপনার বন্ধু তার বাসাতেই আছে। তারপর বাস স্ট্যান্ড, তারপর বাসে করে কিছুদূর, দরকার হলে রিকশা করে কিছুদূর। তারপর নানা অলি-গলি পেরিয়ে আপনার বাসা।
............................
প্রোগ্রামিং এ আপনি যখন কোন সমস্যার সমাধান করতে যাবেন, আপনারও এ রকম একটা ধারাবাহিক প্রক্রিয়াতে চিন্তা করে সামনে যেতে হবে।
আগেই বলা হয়েছে, কম্পিউটার একটা নির্বোধ যন্ত্র।
আপনি একটা সমস্যার কিছুটা সমাধান করলেন, বাকিটুকু সে নিজে নিজেই করে নিবে-- এই আশা করবেন না!
আপনার বন্ধুকে যেমন বাসায় আসার জন্য একটা ধারাবাহিক প্রক্রিয়া বলে দিয়েছেন,
তেমনি কোন সমস্যার সমাধানের জন্য আপনাকেও কিছু নির্দেশনা তৈরী করে নিতে হবে।
এই নির্দেশনার নাম "অ্যালগরিদম" [ Algorithm ]
প্রোগ্রামের সাথে এর সর্ম্পক কি?
একটা উদাহরণ দেই।
মনে করুন, আপনি যাবেন ঈদের শপিং করার জন্য। আপনার আবার এক জায়গা থেকে সব কিছু কিনতে ভালো লাগে না। যে মার্কেটে যে জিনিস ভালো পাওয়া যায়, আপনার ঐ মার্কেট থেকে ঐ জিনিস কিনতে ভালো লাগে। যার কারণে, অনেক গুলো মার্কেটে আপনাকে ঘুরতে হয়।
এখন, বাসা থেকে বের হয়ে আপনি কোথায় যাবেন প্রথমে?
যে মার্কেট সব চেয়ে কাছে অথবা সবচেয়ে দূরে সেটাতে!
তারপর, কিভাবে কি কিনবেন, কোনটার জন্য বাজেট কত এভাবে একটা পরিকল্পনা নিয়ে তারপর বাসা থেকে বের হবেন।
এখন, অ্যালগরিদম হলো আপনার এই পরিকল্পনাটুকু!
আর, বাসা থেকে বের হয়ে কেনাকাটা করে বাসায় ফিরে আসা পর্যন্ত- পরিকল্পনামাফিক কাজ গুলো করাই হলো প্রোগ্রাম!
আপনি হয়তো ভাবছেন, অ্যালগরিদম এর দরকার কি?? এমনিতেই মার্কেটে গিয়ে কতকিছু কিনে ফেলি! সব সময় তো আর কোন প্ল্যান করে যাই না! প্রোগ্রামেরই বা কি দরকার!
একটা উদাহরণ দেই। ধরুন আপনার কাছে একটা রোবট আছে।যে দেখতে অবিকল মানুষের মতই। কাজ-কর্মেও মানুষের সাথে মিল আছে।
আপনি নিজে শপিং এ না গিয়ে এই রোবটকে শপিং এ পাঠাতে চান। এখন তাকে যদি আপনি কোন রকম প্ল্যান না বলে, রাস্তা-ঘাট না বলে দিয়ে, বাসা থেকে বের করে দিয়ে নিজে ঘরে বসে থাকেন, তাহলে কি কাজ হবে??
কম্পিউটার কে আমরা ব্যবহার করি যেন সে, কঠিন কাজ গুলো কে সহজ করে দেয় আমাদের জন্য।
যার জন্য দরকার প্রোগ্রামিং, যা দিয়ে আমরা কম্পিউটারকে আদেশ-উপদেশ দিবো।
আর, প্রোগ্রামিং করার জন্য যে পরিকল্পনা টুকু দরকার সেটা হলো অ্যালগরিদম।
সারাদিন প্ল্যান করে যদি আমরা ঘরের মধ্যে হাত-পা গুটিয়ে বসে থাকি, তাহলে ঈদের জামা-কাপড় এমনি এমনি আমাদের বাসায় চলে আসবে না!
তেমনি, শুধু মাত্র অ্যালগরিদম, আমাদের কোন সমাধান দিবে না! কারণ এটা তো সমাধান করার উপায় বা সূত্র!
ঐ রোবট যখন প্ল্যান মত ঘুরাঘুরি-কেনাকাটা করে বাসায় ফেরত আসবে, তখনই আমরা পেয়ে যাবো আমাদের ঈদের জামা কাপড়!
তেমনি ভাবে, সমাধান তখনই আসবে, যখন আমরা ঐ অ্যালগরিদম প্রয়োগ করে, প্রোগ্রামিং করবো।
[সংক্ষেপিত
C - programming Language শিশুদের উপযোগী টিউটোরিয়াল: পর্ব -২