প্রোগ্রামিং এর হাতেখড়ি (পর্ব-৪)
ভেরিয়েবলের জন্য নির্ধারিত ডাটা নিয়ে কাজ:
ভেরিয়েবল কিভাবে ডিক্লেয়ার করা যায় আগের পর্বে আমরা জানলাম। কিন্তু একটি প্রোগ্রামের ভেতর ভেরিয়েবলে ডাটা রেখে লাভ কি? আর ডাটা কিভাবে ব্যবহার করব?
প্রশ্নের উত্তর জানার আগে চলো একটা প্রোগ্রাম রান করে ফেলি। 
আচ্ছা, কি প্রোগ্রাম রান করা যায়? চলো একটি প্রোগ্রাম বানাই যাতে তুমি ইচ্ছে মত যে কোন সংখ্যা যোগ করতে পারবে।
একদম শুরুর পর্বে কিন্তু বলেছিলাম ল্যাংগুয়েজ শিখার চেয়ে গুরুত্বপূর্ণ হচ্ছে লজিক ডেভেলপ করা।
তাহলে আমরা আমাদের একটা সমস্যা পেলাম।
সমস্যা হলোঃ দুইটি সংখ্যার যোগফল বের করতে হবে।
সমস্যা সমাধানের প্রসেস এরকম হতে পারেঃ
১। প্রথমে তিনটি চলক Variable নিতে হবে। দুইটি ইনপুটের জন্য যেহেতু আমরা দুইটা সংখ্যা যোগ করব। আর আরেকটি চলক লাগবে আউটপুটের জন্য।
২। ইউজার থেকে দুটি ইনপুট দেয়া।
৩। যোগ করা।
৪। আউটপুট।
চলো এখন সি প্রোগ্রামিং ল্যাংগুয়েজের মাধ্যমে প্রসেসগুলো সম্পন্ন করে ফেলি।
#include<stdio.h>
int main()
{
int a, b, c;
printf(“\n Enter first value:”);
scanf(“%d”, &a);
printf(“\n Enter second value:”);
scanf(“%d”, &b);
c=a+b;
printf(“\n %d+%d is %d”, a,b,c);
}
int main()
{
int a, b, c;
printf(“\n Enter first value:”);
scanf(“%d”, &a);
printf(“\n Enter second value:”);
scanf(“%d”, &b);
c=a+b;
printf(“\n %d+%d is %d”, a,b,c);
}
এখন আমরা এই প্রোগ্রাম বিশ্লেষণ করব।
int a, b, c;
এই লাইনের মাধ্যমে প্রোগ্রামে int টাইপের তিনটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে যার নাম a, b এবং c
এই টাইপের ভেরিয়েবলে অবশ্যই তোমাকে ইন্টিজার নাম্বার মানে পূর্ণ সংখ্যা রাখতে হবে।
printf(“\n Enter first value:”);
এই লাইনের মাধ্যমে Enter first value: লেখাটা স্ক্রিণে দেখানো হচ্ছে।
scanf(“%d”, &a);
এই লাইনের মাধ্যমে ইউজার থেকে একটা পূর্ণ সংখ্যা ইনপুট চাওয়া হচ্ছে যা ইউজার কি-বোর্ডের বাটনের মাধ্যমে প্রেস করবে। যে সংখ্যা ইউজার টাইপ করবে তা a ভেরিয়েবলে থাকবে।
&a এর অর্থ হল address of a. অর্থাৎ, এই স্টেটমেন্টের মাধ্যমে কম্পাইলারকে জানানো হয় যে প্রাপ্ত সংখ্যা a এর জন্য নির্ধারিত এড্রেসে রাখতে হবে।
printf(“\n Enter second value:”);
এই লাইনের মাধ্যমে Enter second value: লেখাটা স্ক্রীণে দেখানো হচ্ছে।
scanf(“%d”, &b);
এই লাইনের মাধ্যমে ইউজার থেকে আরেকটা পূর্ণ সংখ্যা ইনপুট চাওয়া হচ্ছে যা ইউজার কি-বোর্ডের বাটনের মাধ্যমে প্রেস করবে। যে সংখ্যা ইউজার টাইপ করবে তা b ভেরিয়েবলে থাকবে।
c=a+b;
এই লাইনের মাধ্যমে a আর b এড্রেসে রাখা ডাটা যোগ করা হবে। যোগ করে প্রাপ্ত যোগফল c ভেরিয়েবলের জন্য নির্ধারিত হচ্ছে।
printf(“\n %d+%d is %d”, a,b,c);
এই লাইনের মাধ্যমে a,b,c তে রাখা ডাটাগুলো আউটপুটে দেখানো হচ্ছে।
scanf() ফাংশানের ব্যবহার:
দুটি সংখ্যা যোগ কিন্তু scanf() ফাংশান দিয়ে ইনপুট না নিয়েও করা যায়।
নিচের প্রোগ্রামটি রান করে দেখি।
#include<stdio.h>
int main()
{
int a, b, c;
a=3;
b=2;
c=a+b;
printf(“\n %d+%d is %d”, a,b,c);
}
int main()
{
int a, b, c;
a=3;
b=2;
c=a+b;
printf(“\n %d+%d is %d”, a,b,c);
}
এই প্রোগ্রামটি লিখেও কিন্তু আমরা দুটি সংখ্যা যোগ করতে পারছি। কিন্তু সমস্যা হল এখানে শুধু মাত্র নির্দিষ্ট দুটি সংখ্যা যোগ করতে পারব।
পরবর্তীতে কোন সংখ্যা যোগ করতে হলে আমাদের সোর্স প্রোগ্রাম আবার পরিবর্তন করে নিতে হবে যা মোটামুটি কষ্টসাধ্য একটা কাজ।
তাই প্রোগ্রামের কর্মদক্ষতা বাড়ানোর জন্য ইউজার থেকে ইনপুট নিলে আমরা নির্দিষ্ট দুটি সংখ্যা যোগ না করে বরং যে কোন দুটি সংখ্যা যোগ করে ফেলতে পারি।
আবার একই নামে একাধিক ভেরিয়েবল ঘোষণা করতে পারবে না
আবার একই নামে একাধিক ভেরিয়েবল ঘোষণা করতে পারবে না
এবার তুমি যে কোন তিনটি সংখ্যা যোগ করতে চাইলে কি করবে? চারটি ভেরিয়েবল নিবে নাকি তিনটি? নিজে ভেবে বের কর। 
আর যে কোন দুটি সংখ্যার গুণ বা বিয়োগ কি করতে পারবে? আশা করি পেরে যাবে।
কি-ওয়ার্ড:
কি-ওয়ার্ড হলো প্রোগ্রামে ব্যবহৃত কিছু বিশেষ শব্দ। প্রত্যেকটি কি-ওয়ার্ডের কিছু নির্দিষ্ট অর্থ আছে এবং প্রোগ্রামে একটি নির্দিষ্ট কাজ সম্পন্ন করে।
যেমনঃ auto, for, double, break, int, void, float ইত্যাদি কি-ওয়ার্ড। প্রোগ্রামিং করতে করতেই কি-ওয়ার্ড সম্পর্কে তোমাদের আইডিয়া চলে আসবে। তবে একটা জিনিস অবশ্যই মনে রাখতে হবে যে, কি-ওয়ার্ডের নাম একটি শব্দে লিখতে হবে। অর্থাৎ, এর মাঝে কোন গ্যাপ থাকতে পারবে না। তবে কোন প্রোগ্রামে যদি দুটি কি-ওয়ার্ড ব্যবহার করা হয় তাহলে মাঝখানে গ্যাপ থাকবে।
কিছু সাধারণ ভুল:
সি তে প্রোগ্রাম লিখার সময় কিছু সাধারণ ভুল হতেই পারে। যেমন যখন কোন ইন্সট্রাকশন দেওয়া হচ্ছে তখন সেমিকোলন না দিলে প্রোগ্রাম এরর দিবে।
আবার এক টাইপের ভেরিয়েবলের জন্য অন্য টাইপের মান দিলেও প্রোগ্রামে ভুল ফল আসবে। কিন্তু এক্ষেত্রে কম্পাইলার কোন ভুল ধরবে না, অথচ তোমার ফল উলটাপালটা আসবে। আবার একই নামে একাধিক ভেরিয়েবল ঘোষণা করতে পারবে না।
int Value1=Value1=9;
এরকম লিখলেও কম্পাইলার এরর ম্যাসেজ দিবে।
পরের পর্বগুলোতে আমরা অপারেটর, স্টেটমেন্ট বা লুপ সম্পর্কে বেসিক তথ্যগুলো জানব।
Happy Programming…
প্রশ্ন : ভেরিয়েবল বা চলক কী? ভেরিয়েবল ডিক্লারেশনের নিয়মগুলো কি কি?
--প্রোগ্রামে কোন একটি নাম দিয়ে যদি তার অধীনে ডেটা রাখা যায় তবে তাকেই ভেরিয়েবল বলা হয়।
ভেরিয়েবল ডিক্লারেশনের নিয়ম :--
১) ভেরিয়েবল ডিক্লারেশনের সময় নামের মধ্যে বর্ন(A-Z, a-z), সংখ্যা(০-৯), ডলার সাইন($), আন্ডারস্কোর (_) ইত্যাদি ব্যবহার করা যায়।
১) ভেরিয়েবল ডিক্লারেশনের সময় নামের মধ্যে বর্ন(A-Z, a-z), সংখ্যা(০-৯), ডলার সাইন($), আন্ডারস্কোর (_) ইত্যাদি ব্যবহার করা যায়।
যেমন : roll_number (valid)
#karim (invalid)
5$ dollar (invalid)
2) ভেরিয়েবলের নাম ডিজিট বা অংক দিয়ে শুরু হতে পারবে না।
যেমন :- 1number (inavalid)
number1 (valid)
_number1 (valid)
3) কোন কীওয়ার্ড বা ফাংশন ভেরিয়েবল এর নাম হিসেবে ব্যবহার করা যাবে না।
যেমন : float, int, main ইত্যাদি নামে কোন ভেরিয়েবল ইউজ করা যাবে না। কিন্তু Float, MAIN ইত্যাদি নামে ভেরিয়েবল ব্যবহার করা যাবে। কারন, ফাংশন বা কীওয়ার্ড এ বড় হাতের অক্ষর ব্যবহার করা যায় না।
#karim (invalid)
5$ dollar (invalid)
2) ভেরিয়েবলের নাম ডিজিট বা অংক দিয়ে শুরু হতে পারবে না।
যেমন :- 1number (inavalid)
number1 (valid)
_number1 (valid)
3) কোন কীওয়ার্ড বা ফাংশন ভেরিয়েবল এর নাম হিসেবে ব্যবহার করা যাবে না।
যেমন : float, int, main ইত্যাদি নামে কোন ভেরিয়েবল ইউজ করা যাবে না। কিন্তু Float, MAIN ইত্যাদি নামে ভেরিয়েবল ব্যবহার করা যাবে। কারন, ফাংশন বা কীওয়ার্ড এ বড় হাতের অক্ষর ব্যবহার করা যায় না।
৪) ভেরিয়েবলের নামের মধ্যে কখনোই ফাকা স্থান রাখা যাবে না।
যেমন :-int my first name; এটা লেখা যাবে না।
লিখতে হবে int my_first_name;
৫) ভেরিয়েবলের নামকরনে সর্বাধিক ৩১ টি বর্ন ব্যবহার করা যায় , তবে ৮ টি বর্ন ব্যবহার করাই শ্রেয়।
যেমন :-int my first name; এটা লেখা যাবে না।
লিখতে হবে int my_first_name;
৫) ভেরিয়েবলের নামকরনে সর্বাধিক ৩১ টি বর্ন ব্যবহার করা যায় , তবে ৮ টি বর্ন ব্যবহার করাই শ্রেয়।
No comments:
Post a Comment