আইওএস প্রোগ্রামিং শিখুন কোন প্রকার পূর্ব অভিজ্ঞতা ছাড়াই। – ২য় পর্ব।

গাণিতিক অপারেশন

গাণিতিক অপারেশনের জন্য কিছু গাণিতিক প্রতীক ব্যাবহার করা হয়। যেমনঃ +, -,*,/ ইত্যাদি। যেহেতু এইগুল অপারেশন করে তাই এদের বলা হয় অপারেটর।

+  যোগের জন্য
-  বিয়োগের জন্য
/  ভাগের জন্য
* গুনের জন্য।

এই অপারেটরগুলা দিয়ে অনেক বড় বড় গাণিতিক সমস্যা সমাধান করা সম্ভব। তবে, আপনি যদি কোন প্রফেশনাল অবজেক্টিভ সি প্রোগ্রামারের কোডিং দেখেন, আপনি কিছু অদ্ভুত জিনিষ দেখবেন। এর কারন, মনে হয় তারা খুব অলস টাইপিস্ট 😛

x = x+1; এইটি লিখার পরিবর্তে তারা x++; বা ++x ; লিখে থাকে।

এই ++ এর অর্থ হল এক্স কে এক দ্বারা বৃদ্ধি কর।  তবে, এই ++ আগে হবে না পরে হবে তা সম্পর্কে আপনাকে খুব সচেতন থাকতে হবে।

নিচের দুটি উদাহারন দেখেনঃ

x = 10;
y = 2 * (x++);

x = 10;
y = 2 * (++x);

প্রথম উদাহারনে বলা হয়েছে- ওয়াই এর মান ২০ এবং এক্স এর মান ১১।

অপরদিকে পরের উদাহারনে বলা হয়েছে ২ দিয়ে গুন করার আগেই এক্স কে এক দিয়ে বাড়িয়ে দেয়া হবে। তাই, সব শেষে এক্স এর মান ১১ আর ওয়াই এর মান ২২।

পরের উদাহারনটি এইভাবেও লিখা জায়ঃ

x = 10;
x++;
y = 2 * x;

সুতরাং বুজতেই পারছেন, আগের উদাহারনে প্রোগ্রামার দুটো লাইনকে এক লাইনে ইউজ করেছে। একই কথা খাটে x- -; কিংবা - -x; এর ক্ষেত্রেও। শর্টকাট আপনার সময় বাচাতে পারে, তবে মনে রাখবেন এর কারনেই অধিকাংশ বাগের সৃষ্টি হয়।

সো, এই ++ /- - আগে পরে জেইখানেই লিখেন না কেন- তা এক বৃদ্ধি করবে/ হ্রাস করবে।  তবে ম্যাথম্যাটিক্যাল কাজের সময় আপনি ঠিক কোথায় ব্যাবহার করছেন, তা খেয়াল রাখবেন।

ব্র্যাকেটস ( Parentheses )

ছোটবেলায় সরল অংক করতে গিয়ে ব্র্যাকেটের পাল্লায় পরে অংক গুলিয়ে ফেলেন নি এই রকম বেক্তি পাওয়া দুষ্কর। সাধারণ অংকের নিয়মে +, - এর আগে *, / এর কাজ হয়। যেমনঃ ২ * ৩ + ৪ এর মান হবে ১০, কিন্তু ব্র্যাকেট ইউজ করে এর মান পরিবর্তন করে দেয়া সম্ভব। যেমনঃ ২ * (৩+৪) এর মান হবে ১৪। ১০ নয়।

অবজেক্টিভ সি এর ক্ষেত্রেও ব্র্যাকেটের গুরত্ত অসীম। এরা কম্পাইলারকে বলে দেয় কোন কাজটি আগে করতে হবে, কোন কাজটি পরে করতে হবে।

ভাগ ( Division)

ডিভিশন একটি অপারেটর। তবে এইটিতে বিশেষ নজর দেয়া প্রয়জন। ভেরিয়েবল ডিক্লারের সময় আপনাকে ডিভিশনের রেজাল্ট সম্পর্কে জানতে হবে। সে অনুযায়ী ডাটা টাইপ লিখতে হবে। নিচের উধাহারনটি দেখুনঃ

int x = 5, y = 12, ratio;
ratio = y / x;

এই ক্ষেত্রে আপনার রেজাল্ট আসবে ২, যা একটি ভুল সমাধান।

আবার এইটি দেখুনঃ

float x = 5, y = 12, ratio;
ratio = y / x;

এইখেত্রে আপনার রেজাল্ট হবে ২.৪।

সুতরাং, পরের উদাহারনটাই  সঠিক।

মডুলাস ( Modulus )

আপনি সম্ভভত, এই অপারেটরটির সাথে পরিচিত নন। আপনি "%" দেখে থাকবেন। এইটিকেই প্রোগ্রামিং এ মডুলাস বলা হয়। তবে এর অর্থ এখানে শতকরা নয়। এটি দিয়ে বুঝান হয়- রিমাইন্ডার বা ভাগশেষ। যেমনঃ

int x = 25, y = 3, z;

z = x % y;

এখানে z এর মান হবে - ১, কারন, ২৫ কে ৩ দিয়ে ভাগ করলে ভাগশেষ এক থাকে।

তবে, % এর উভয় পাশের এপারেন্ডে অবশ্যই int থাকতে হবে এবং সেকন্ড অপারেন্ড শূন্য হতে পারবেনা। ফ্লোট, ডাবল কিংবা চার ডাটা টাইপে মডুলাস কাজ করবে না।

মডুলাস সাধারণত, জোড় - বিজোড় সংখ্যা আলাদা করা, অবশিষ্ট দিন সংখ্যা ইত্যাদি জানার জন্য ইউজ করা হয়। যেমনঃ

int anInt;
//Set the value of anInt
if ((anInt % 2) == 0)
{
NSLog(@"anInt is even");
}
else
{
NSLog(@"anInt is odd");
}

@end

মন্তব্য  ( Comment ) 

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

কোডের মাঝখানে সিঙ্গল লাইন কমেন্ট রাখার জন্য- ডাবল ফরওয়ার্ড স্লেস "//" ইউজ করা হয়।  এবং মাল্টিপল লাইন কমেন্টের জন্য আপনাকে তা "/* ____ */" এর মাঝখানে দেখাতে হবে।

কমেন্টগুলো এক্স কোডে সবুজ রঙে দেখানো হয়। নিচে দেখুন- সিঙ্গল লাইন ও মাল্টিপল লাইন কমেন্ট দেখানো হল।

xcode1

দ্বিতীয় পর্ব থেকে বিদায় নিচ্ছি। পরের পর্বে দেখা হবে। ভালো থাকবেন, ভালো রাখবেন। ধন্যবাদ।

/* সংযুক্তিঃ

১_ লিখাটির প্রথম পর্ব

২_ আমার বেক্তিগত ব্লগে অবজেক্টিভ সি নিয়ে লিখা

*/

 

 

Level 0

আমি অরিজিনাল যামীর। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 10 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 3 টি টিউন ও 70 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

মরুন্মিত কষ্টকর জীবন নিয়ে কিছুই বলার নাই......।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

@articleabc: দয়া করে সিরিয়াস লিখায় ফাজলামো করবেনা না। ধন্যবাদ।

Level 0

@articleabc: এই ব্যাটা পাইছে কি?? Adsense দিতে পারো তাহলে নিজের ব্লগে পোষ্ট মারো না কেন? টি টি পচাইতে আসা এগুলারে F****** করা দরকার। যত্তসব আনাড়ি মার্কা…