একজন প্রোগ্রামার ব্যবহারকারীর চাহিদা সঠিকভাবে উপলব্ধি করে সেই মোতাবেক কম সময় ব্যয় করে ও অল্প পরিশ্রমে কাক্সিক্ষত আউটপুট বা লক্ষ্যে পৌঁছানোর জন্য যথোপযুক্ত কোড ব্যবহার করে একটি প্রোগ্রাম তৈরি করেন। একই ধরনের আউটপুটের জন্য অনেক সময় একটি প্রোগ্রাম বিভিন্নভাবে লেখা যায়। তবে কম কোড ব্যবহার করে এবং সহজেই যাতে তা ব্যবহারকারীর বোধগম্য হয় সেভাবেই প্রোগ্রাম তৈরি করাই একজন দক্ষ প্রোগ্রামারের কাজ। কম কোড ব্যবহারের সুবিধা হলো এতে ভুল হওয়ার সম্ভাবনা কম থাকে এবং কোডে কোনো এরর থাকলে সহজেই তা খুঁজে বের করা যায়। যেমন “Hello Bangladesh!” কথাটিকে যদি আমরা পাঁচবার আউটপুট দেখাতে চাই তাহলে মেইন মেথডে নিচের কোডটি লিখতে হবে
System.out.println (“Hello Bangladesh!);
System.out.println (“Hello Bangladesh!);
System.out.println (“Hello Bangladesh!);
System.out.println (“Hello Bangladesh!);
System.out.println (“Hello Bangladesh!);
একই কোড বারবার লিখতে গেলে যেকোনো একটি ভুল যেমন System-এর S ছোট হাতের লিখলে অথবা ইনভার্টেড কমা (“ ”) সঠিকভাবে না দিলে বা কোনো একটি স্টেটমেন্টের শেষে সেমিকোলন (;) না দিলে প্রোগ্রামটি রান করবে না, ফলে আউটপুটও দেখা যাবে না। এই একই কাজটি আমরা নিচের কোডের মাধ্যমে সহজেই করতে পারি
for (int i=1; i<=5; i++)
{
System.out.println (“Hello Bangladesh!);
}
এখানে একটি লুপ ব্যবহার করে আমাদের কাক্সিক্ষত আউটপুট আমরা সহজেই পেয়ে যাচ্ছি। এই কোডটি লেখার পরও যদি প্রোগ্রামে কোনো ভুল থাকে তাহলেও যেহেতু কোডটি দুই লাইনের তাই সহজেই বের করা সম্ভব। অধিকন্তু, যদি আউটপুটটি আমাদের আরও বেশি সংখ্যায় প্রয়োজন হতো তাহলে প্রথম নিয়মে করা সত্যিই কষ্টকর এবং ভুলের সম্ভাবনা আরও বাড়ার সম্ভাবনা থাকবে। কিন্তু দ্বিতীয় নিয়মে আমরা ১০০ বার আউটপুটটি চাইলেও কোডের কোনো পরিবর্তন করতে হবে না শুধুমাত্র 5-এর পরিবর্তে 100 লিখতে হবে।
এখন আমরা একটি প্রোগ্রাম দেখব যেখানে প্রোগ্রাম রান করার সময় ইউজারের দেয়া একটি সংখ্যার জন্য কোনো টাকার নোট কতগুলো পরিমাণ লাগবে (বড় সংখ্যার নোট হতে ছোট সংখ্যার) তা আউটপুটে দেখাবে। সাধারণত হিসাব শাখার জন্য এ প্রোগ্রামটি গুরুত্বপূর্ণ। নিচের প্রোগ্রামটি নোটপ্যাডে টাইপ করে ConvrtInNote.java নামে সেভ করে চিত্র-১-এর মতো করে রান করতে হবে।
public class ConvrtInNote
{
public static void main(String args[])
{
int t500=0, t100=0, t50=0, t20=0, t10=0, t5=0, t2=0, t1=0;
int a = Integer.parseInt(args[0]); //1
System.out.println(a + " taka is converting in note");
System.out.println("----------------------");
t500=a/500; //2
if (t500 !=0)
System.out.println("500 Taka note need : " + t500 + " piece");
t100=(a-(t500*500))/100; //3
if (t100 !=0)
System.out.println("100 Taka note need : " + t100 + " piece");
t50=(a-(t500*500 + t100*100))/50; //4
if (t50 !=0)
System.out.println("50 Taka note need : " + t50 + " piece");
t20=(a-(t500*500 + t100*100 + t50*50))/20; //5
if (t20 !=0)
System.out.println("20 Taka note need : " + t20 + " piece");
t10=(a-(t500*500 + t100*100 + t50*50 + t20*20))/10;//6
if (t10 !=0)
System.out.println("10 Taka note need : " + t10 + " piece");
t5=(a-(t500*500 + t100*100 + t50*50 + t20*20 + t10*10))/5; //7
if (t5 !=0)
System.out.println("5 Taka note need : " + t5 + " piece");
t2=(a-(t500*500 + t100*100 + t50*50 + t20*20 + t10*10 + t5*5))/2; //8
if (t2 !=0)
System.out.println("2 Taka note need : " + t2 + " piece");
t1=a-(t500*500 + t100*100 + t50*50 + t20*20 + t10*10 + t5*5 + t2*2); //9
if (t1 !=0)
System.out.println("1 Taka note need : " + t1 + " piece");
}
}
কোড বিশ্লেষণ
প্রোগ্রামটিতে আট ধরনের নোট রাখার জন্য ৮টি ইন্টিজার টাইপের ভেরিয়েবল নেয়া হয়েছে। ১নং চিহ্নিত লাইনে কীবোর্ড থেকে নেয়া ইনপুট কনভার্ট করে a নামক ভেরিয়েবলে রাখা হয়েছে। এরপর ২, ৩, ৪, ৫, ৬, ৭, ৮ ও ৯নং লাইনে লজিক সেট করে ক্রমান্বয়ে ৫০০, ১০০, ৫০, ২০, ১০, ৫, ২ এবং ১ টাকার নোটে পরিবর্তন করা হয়েছে যা পরবর্তী লাইনগুলোর মাধ্যমে প্রিন্ট করা হয়েছে। প্রোগ্রামটি দেখলেই খুব সহজেই বোঝা যাবে।
অ্যাকাউন্ট ব্যালেন্স চেক করার পদ্ধতি
এবার আমরা গ্রাহকের অ্যাকাউন্ট ব্যালেন্স চেক করার একটি প্রোগ্রাম দেখব। নিচের প্রোগ্রামটি AccountBalance.java নামে সেভ করতে হবে এবং চিত্র-২-এর মতো রান করতে হবে। এখানে গ্রাহকের ব্যালেন্স ৫০ টাকার নিচে এলে একটি মেসেজ দেবে।
class Balance {
String name;
int bal;
Balance(String n,int b) {
name = n;
bal = b;
System.out.println("The balance of " + name + "is" + bal);
}
void show() {
if (bal < 50)
{
System.out.println("");
System.out.println("The balance of " + name +" is going to zero");
}
}
}
class AccountBalance {
public static void main (String args[]) {
int i;
Balance current[] = new Balance[3];
current[0] = new Balance("Karim",200);
current[1] = new Balance("Rahim",40);
current[2] = new Balance("Sadek",400);
for (i=0;i<=2;i++) {
current[i].show();
}
}
}
ফিডব্যাক : [email protected]
০ টি মন্তব্য