কোনটি প্রাইম নাম্বার জানতে চান? উত্তরটা নিজের বানানো সফটওয়্যারকে দিন।

11
596

আস্‌সালামু আলাইকুম। কেমন আছেন সবাই? টিউনারপেজে এটি আমার প্রথম টিউন। গত কয়েকদিন ধরে অনেক বার লিখেছি, অনেকবার কেটেছি। শেষে আগের করা একটি টিউন এখানে দিয়ে দিলাম। আমি টিউনিং ভুলে গেছি। কারো কাছে কোন পরামর্শ থাকলে দিতে পারেন।

সি প্রোগ্রামিং এমন এক ভাষা…

বাংলা, ইংরেজীর মত C  একটা ভাষার নাম। এটা একটা কোডিং ল্যাংগুয়েজ। অনেক গুলো কোডিং ল্যাংগুয়েজ আছে। যাদের মধ্যে সি মিড-লেভেল ল্যাংগুয়েজ।

কোনটি প্রাইম নাম্বার জানতে চান? উত্তরটা নিজের বানানো সফটওয়্যারকে দিন।

C programming শেখানো আমার ইচ্ছা নয়। আমার নিজের জ্ঞানই খুবই সীমিত। আমার এই টিউনটি তাদের জন্য যারা এসব জানেন অথচ সি প্রোগ্রামিং বিরক্তিকর/কঠিন/ফালতু বিষয় মনে হয় তাদের জন্য। যেকোন বিরক্তিকর/কঠিন/ফালতু বিষয় পড়ার/জানার/শেখার প্রথম শর্ত বিষয়টার মধ্যে এমন কিছু একটা খুজে বের করতে হবে যা আপনার কাছে মজার। একবার কোন কিছুতে মজা পেয়ে গেলে আপনাকে আর কোন টেনশন করতে হবে না।বিষয়টা আপনা আপনিই মজাদার/সহজ/প্রয়োজনীয় হয়ে উঠবে। বুঝলেন কিছু!!!কিছু মজার আমিই দিয়ে দিচ্ছি…

প্রথমতঃ

সি প্রোগ্রামিং দিয়ে এক কথায় আপনার মনিটরে যা কিছু দেখছেন সবকিছুই বানাতে পারবেন। এমন আস্ত একটা অপারেটিং সিস্টেম ও।
তো মজা না পাবার কি আছে।

দ্বিতীয়তঃ

অনেক টেকটিউনার প্রায় প্রতিদিন কত কষ্ট করে মজার মজার কোড টিউন করছেন। আপনি শুধু কোডগুলো আপনার কমপাইলারে লিখুন আর Ctrl+F9 চাপুন। তাতেও না হলে Google তো আছেই। (হাজার হাজার Error মারে! Tuner রা আছে কি জন্যে)। দয়া করে কপি/পেস্ট না করে দেখে দেখে নিজে লিখুন। কথায় আছে না ১বার লেখা=১০বার পড়া(≠১০০…বার কপি/পেস্ট করা)।
এখন থেকে আপনাদের কিছু কোড দিব ব্যাখ্যা সহ… আপনাদের কাজ কোড গুলোর মজাটা বের করা।

প্রাইম নাম্বার যাচাইঃ

#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a,prime;
printf("\n\n\t\t\t\t\"Prime Numbers Test Out\"\n\n");
printf("\t\t\t\t\"Made by ME-MAAKN\"\n\n");
printf("Enter a number to Test : ");
scanf("%d",&a);
prime=1;
for(int i=2;i<=a/2;i=i+1)
if((a%i)==0)
prime=0;
if(prime==1)
printf("\n\t\t\t\t\The Number is Prime.");
else
printf("\n\t\t\t\t\The Number is not Prime.");
getch();
}

সি প্রোগ্রমিং এ সবচেয়ে বেশি গুরুত্বপূর্ণ বিষয় হচ্ছে এখানে একটা দাড়ি-কমাও ভুল হতে পারবে না।

  • #include<…>স্টেটমেন্ট দিয়ে লাইব্রেরী ফাইল সংযোজন করা হয়।
  • void main(){…} অর্থাৎ একটা “non-return type function body” শুরু করা হয়েছে।
  • clrscr();দ্বারা আউটপুট স্ক্রিন ক্লিয়ার করার কথা বলা হয়েছে। যা না লিখলেও হয়। প্রথম বার কোন সমস্যা না দেখলেও দ্বিতীয় বার প্রোগ্রামটি চালিয়ে দেখুন।
  • int a,prime; দ্বারা দুটো variable(a এবং prime এদের পরিবর্তে আপনি alu,piaz,begun…যা খুশি ব্যাবহার করতে পারবেন শুধু একটা শর্ত এরপর পুরো function body তে ঐ নামই ব্যাবহার করতে হবে। ও হ্যা int দেওয়ার কারন a এবং prime হল Integer type variable অর্থাৎ এরা যেকোন value রির্টান করতে সক্ষম।
  • printf(“…”); স্টেটমেন্ট দ্বারা আউটপুটে কোন কিছু প্রদর্শন করা হয়।
  • scanf(“…”); স্টেটমেন্ট দ্বারা ইউজার থেকে কোন মান গ্রহণ করা হয়।[&variable_name এর সাহায্যে ইউজার এর দেয়া ইনপুটটি ঐ variable এর মধ্যে জমা রাখা হয়।
  • এরপরের লাইনগুলোয় আজকের কোডের প্রাণ।
  • প্রথমেই prime এর মান ১ অর্থাৎ সত্য ধরে নেয়া হয়েছে। এর মানে ইউজার যে a এর যে মানটি দিবে আমরা প্রথমেই তাকে আপাত prime ধরে নেব।পরে এর সত্য-মিথ্যা যাচাই করব।
  • এরপর আমরা একটা for loop চালু করেছি যার কাজ a কে ২ থেকে a/২ পর্যন্ত ভাগ দিয়ে ভাগশেষকে(a%i) জমা রাখবে।
  • ভাগশেষ ১ হলে প্রাইম আর ০ হলে প্রাইম নয়।
  • getch(); দ্বারা আউটপুট স্ক্রিনকে থামিয়ে রাখা হয়েছে।ইউজার কি-বোর্ড থেকে কোন কি চাপলে আমাদের এই প্রোগ্রামটি ক্লোজ হবে।

চাইলে এই শর্ত গুলো কাজে লাগিয়ে একে আরো শক্তিশালী করা যাবে। যেমন এর মধ্যে infinite loop[for(;;)] লাগিয়ে বারবার use করা যাবে।এছাড়াও অনেক কিছু করা যাবে। ভালো লাগলে জানাবেন।

ও যারা সি প্রোগ্রামিং এ একদম নতুন তাদের বলছি এই কোডটি এক্সিকিউট করার জন্য আপনার একটি কম্পাইলার লাগবে। টারবো সি আমার প্রিয় একটা কম্পাইলার। সফট টি ডাউনলোড করুন এইখান থেকে।

পুনশ্চঃ আমি শেখাচ্ছি না , আমি শুধু এর প্রতি আপনাদের আগ্রহী করার চেষ্টা করছি।

পূর্বে টেকটিউনসে প্রকাশিত।

কৃতজ্ঞতাঃ জাকির হোসেন ভাইয়া।

11 মন্তব্য

একটি উত্তর ত্যাগ