সি প্রোগ্রামিং ভাষা এবং লুপ


ধরো তোমার কাছে ১ থেকে ১০০ অবধি সংখ্যাগুলো আছে এবং তুমি চাইছো সবগুলি সংখ্যা যোগ করে যোগফল প্রকাশ করতে। তুমি যদি গনিতের ধারা Related অংক গুলি করতে পারো তাহলে তুমি খুব সহজে Just সূত্র বসিয়ে ফটাফট যোগফল বের করতে পারবে। কিন্তু তুমি যদি এই যোগফলের Math টি কম্পিউটারের মাধ্যমে করতে চাও তবে কি করতে হবে বলতো?

মনে রাখতে হবে কম্পিউটার একটি বোকাবাক্স। কম্পিউটার ব্যবহার করে কিছু করতে গেলে, তোমাকে অবশ্যই কিছু নির্দেশনা দিতে হবে কম্পিউটারকে। যেমন তুমি তোমার কুকুর ছানাকে দিয়ে যদি একটি লাল বল কুড়িয়ে আনাতে চাও তাহলে অবশ্যই কুকুরছানাটিকে লাল বল চেনাতে হবে এবং এটিকে নির্দেশনা দিতে হবে যাতে ও বলটি কুড়িয়ে আনে, ঠিক তেমনি কম্পিউটারকে দিয়ে কোন কাজ করানোর জন্য তোমাকে কিছু নির্দেশনা দিতে হবে আর এই নির্দেশনাই হচ্ছে প্রোগ্রাম আর যেহেতু প্রোগ্রাম একটি মাধ্যম হিসেবে তোমার এবং কম্পিটারের মাঝে কাজ করছে তাই এটি একটি ভাষা। এই প্রোগ্রামিং ভাষার গুলির মধ্যে অন্যতম একটি ভাষা হচ্ছে "সি প্রোগ্রামিং ভাষা" এবং প্রোগ্রামিং ভাষাগুলির অনেক গুলি মৌলিক ব্যবহারিকের মধ্যে অন্যতম একটি মৌলিক ব্যবহারিক হচ্ছে "লুপ"। আজকে আমরা "সি প্রোগ্রামিং ভাষা" ব্যবহার করে "লুপ" চালনা শিখবো এবং "লুপ" কেন্দ্রিক একটি Problem solve করবো।

কি সবাই ভুলে গেলে নাকি শুরুতেই যে একটি প্রবলেম আমরা লিখে রেখে এসেছিলাম। ১থেকে ১০০ অবধি সবগুলি সংখ্যার যোগফল বের করে প্রকাশ করতে হবে? এখন এই সমস্যাটি "সি প্রোগ্রামিং ভাষা" এবং "লুপ" ব্যবহার করে Solve করবো। শুরুতেই তোমার "সি কম্পাইলার" Open করে loop.c নামে একটি নতুন "সি প্রোগ্রামিং" ফাইল create করে ফেল। এখন নিম্নের কোডটি লিখে ফেল:
#include<stdio.h>
int main()
{
  int i,N,Sum=0;
  printf("tell me the final number:");
  scanf(" %d",&N);

  for(i=1;i<=N;i=i+1)
  Sum= Sum + i;
  printf("Sum= %d",Sum);
 
}

আশাকরি লিখা Complete করেছো এবার তোমার কম্পাইলারের Run বাটনে ক্লিক করো এবং দেখবে ওখানে লেখা উঠেছে :
tell me tha final number:
এখন তুমি যেহেতু ১ থেকে ১০০ অবধি সংখ্যাগুলির যোগফল বের করবে তাই তোমার final বা শেষ number টি হবে ১০০। তাই Just Keyboard থেকে ১০০ টাইপ করো এবং এন্টার চাপ দাও এখন দেখো কম্পিউটার দেখাচ্ছে :
Sum = 5050
তারমানে কম্পিউটার আমাদের কমান্ড বুঝতে পারছে এবং যোগফল প্রকাশ করতে পেরেছে। এবং এই তো আমরা "সি প্রোগ্রামিং ভাষা এবং লুপ" ব্যবহার করে একটি প্রবলেম Solve করে ফেললাম। এখন আমরা ধীরে ধীরে বোঝার Try করি যে আমরা আসলে কিভাবে এতো সহজে প্রোগ্রামিং ব্যবহার করে সমস্যাটি solve করলাম।

১. প্রথমে আমরা #include<stdio.h> লিখেছি এটি মূলত একটি হেডার ফাইল এবং লাইব্রেরী এটিতে বলা আছে আমাদের প্রোগ্রামের অন্য ফাংশন গুলো কিভাবে কাজ করবে। যেমনঃ printf ফাংশন কিভাবে কাজ করবে এটি বলা আছে।

২. তারপর আমরা লিখেছি int main() এটি হচ্ছে একটি main ফাংশন। এই main ফাংশন টি থাকলে একটি কম্পিউটার বুঝবে যে তোমার প্রোগ্রাম কোথা শুরু হবে এবং চলবে, int মানে হচ্ছে আমাদের এই ফাংশনে বার বার integer value ফেরত পাঠাবে।

৩. এরপর আমরা ভ্যারিয়েবল i, N, Sum=0 ডিকলেয়ার করেছি এবং আমরা ভ্যারিয়েবলের ডেটা টাইপ বলে দিয়েছে যা হচ্ছে Integer।

৪.এরপর একটি গুরুত্বপূর্ণ ফাংশন সেটি হচ্ছে printf। এই ফাংশনটির ভিতরে কোন কিছু লেখা হলে এটি তা Print করে মানে আমাদের আউটপুট প্রকাশ করে। এখানে যেহেতু আমরা লিখছি,
printf("tell me the final number:");
সেহেতু এই printf ফাংশন আউটপুট print করে দেখাবে,
tell me the final number:

৫.এরপর আছে scanf ফাংশন যা সাধারণত  ইনপুট গ্রহন করে printf ফাংশন কে আউটপুট প্রকাশ করতে সাহায্য করে এবং %d হচ্ছে ভেরিয়েবলের ডেটা টাইপ স্পেসিফায়ার যা N ভেরিয়েবল এ integer টাইপ ডেটা নির্দেশ করে।

৬. এখন আমাদের মূল অংশ লুপ। আগেই বলেছি লুপ আমাদের একই কাজ বারবার করতে সাহায্য করে। সাধারণত "লুপ" অনেক রকমেরই হতে পারে। যেমনঃ for লুপ, while লুপ ইত্যাদি। আজকে আমরা বিভিন্ন প্রকার লুপের মধ্যে for লুপ নিয়ে আলোচনা করবো। লুপ চালনার জন্য আমরা লিখেছি,
for(i=1;i<=N;i=i+1)
  Sum= Sum + i;
এখানে for এই ভিতরে আমরা i=1 দ্বারা বুঝিয়েছি যে i ভ্যারিয়েবল ১ থেকে শুরু হবে এবং তারপর i<=N দ্বারা বুঝিয়েছি i এর মান N অবধি যাবে আর আমরা তো N ভ্যারিয়েবলের মান আগেই বলে দিয়েছি ১০০, কারণ আমরা তো ১০০ অবধি সংখ্যাগুলোর যোগ করবো। আর সবশেষে বলা আছে i=i+1 এর মানে i ভ্যারিয়েবলের মান ১ করে বাড়বে এবং কোন পর্যন্ত বাড়বে? ১০০ অবধি বাড়বে এরপর থেমেযাবে কারণ আমরা আগেই বলেছি i<=N।
এরপর আসে
Sum = Sum + i
যেহেতু আমাদের প্রোগ্রামটি যোগফল বের করার প্রোগ্রাম তাই আমাদের Sum ভ্যারিয়েবল যোগের কাজ টি করবে এবং এই Sum ও যেহেতু লুপের অন্তর্ভুক্ত তাই এটিও বার বার যোগ করতে থাকবে যতক্ষন i না অবধি এর মান ১০০ হয়।

৭. এবার আমাদের "লুপ" তার ভেতর কাজ শেষ এবার যোগফল প্রকাশ করতে হবে মানে আমাদের প্রোগ্রামের আউটপুট প্রকাশ করবো এজন্য আবারো  printf ফাংশন ব্যাবহার করবো,
  printf("Sum= %d",Sum)
  এর %d দিয়ে আমাদের integer ভ্যালু স্ফেসিফায় করে দিবো এবং এরপরে Sum লিখে বলে দিবো Sum ভ্যারিয়েবল থেকে ভ্যালু নিয়ে প্রকাশ করতে।
এবং কম্পাইলারে প্রোগ্রাম টি Run করলেই তুমি ইনপুট দিবে ১০০ এবং Enter বাটন প্রেস করলেই ফলাফল প্রকাশ করবে ৫০৫০

বাহ! তুমি সি প্রোগ্রামিং ভাষা এবং লুপ ব্যবহার করে একটি প্রবলেম সলভ করে ফেললে। মনে রাখবে "সি প্রোগ্রামিং ভাষা" একটি case sensitive ভাষা তাই অবশ্যই Capital letter ও Small letter খেয়াল করে প্রোগ্রাম লিখতে হবে এবং প্রতিটি লাইনের শেষে অবশ্যই ; দিতে হবে।





Comments

Post a Comment