Responsive Ads Here

Tuesday, November 5, 2013

C প্রোগ্রামিং দ্বিতীয় অধ্যায় - Operator - PART - 3

Operator  কি 
এটি সবাই জানি। কোন কিছু যে চালনা করে তাকেই Operator বলে।
C প্রোগ্রামিং ল্যাঙ্গুয়েজ এ কয়েক ধরনের Operator রয়েছে তারা হলঃ
  1. Arithmetic Operators
  2. Unary Operators
  3. Relational and Logical Operators
  4. Assignment Operators
  5. Conditional Operators
Arithmetic Operators

পাটি গনিতে আমরা যে সকল Operators ব্যাবহার করছি তাই হল Arithmetic Operators।
          Operator             ব্যাবহার
           +                      যোগ
           -              বিয়োগ
           *              গুণ
           /              ভাগ
          %             ভাগশেষ
উপরের সকল Operator সম্পর্কে ই আমরা জানি শুধু % (একে Reminder অথবা Mode বলে)  Operator ছাড়া। % এর কাজ একটি উদাহরন দিয়ে ব্যাখ্যা করি।

১৫%৪ এটার উত্তর হবেকারন ১৫ কে ৪ দ্বারা ভাগ করলে ভাগশেষ থাকে ৩। এর মান সব সময় পূর্ন সংখা হবে।অর্থাৎ ১৫.৫%৪ এর ভাগ শেষ হচ্ছে ৩.৫ কিন্তু এর মান হবে ৩
১৫%-৪ এর মান হবে ৩। -১৫%৪এর মান হবে -৩। -১৫%-৪এর মান হবে-৩।ইত্যাদি।
Mode এর অনেক কাজ রয়েছে। Programming Loop Control করতে Mode বা Reminder (%) ব্যবহৃত হয়।
..................................................................................................................................................................

Unary Operators: C Programming Language এ যে সকল Operator একটি চলকের উপর কাজ করে নতুন মান দেয় তাদের Unary Operators বলে। সবচেয়ে ব্যবহৃত Unary Operators হচ্ছে – (minus sign). – কোন constant অথবা variable এর আগে বসে শুধু negative মান বুঝায়।
তবে প্রধান  দুটি Unary Operators হচ্ছে Increment operator(++) ও Decrement operator(- -) ।
Increment operator: Increment operator কে ++ চিহ্ন দিয়ে প্রকাশ করা হয়। অর্থাত ++ sign কে increment operator বলে। এটি একটি variable এর উপর বসে এর মান 1 বাড়িয়ে দেয়। এটি variable এর আগে ও বসতে পারে পরেও বসতে পারে। যেমনঃ মনে করি x একটি variable যার মান 5 । ++X এর মান হবে 6 । তেমনি X++ মান ও হবে 6 ।
Decrement operator: তেমনি - - Decrement operator বলে। এটি একটি variable এর উপর বসে এর মান 1 কমিয়ে দেয়। এটি variable এর আগে ও বসতে পারে পরেও বসতে পারে। যেমনঃ মনে করি x একটি variable যার মান 5 । - -X এর মান হবে 4 । তেমনি X- - মান ও হবে 4 ।
তবে Increment ও Decrement দুটির ক্ষেত্রেই Variable এর আগে বসলে ও পরে বসলে Out put ভিন্ন হবে। এটা একটু বুঝতে সবার ই সমস্যা। উদাহরনে ই বুঝিয়ে বলি।
নিচের উদাহরনটা ভালো করে লক্ষ করলেই সহজে বুঝা যাবে।
আমি প্রধান কথা গুলোই আলোচনা করি।

#include stdio.h

Int main()

{

int i=5;                                   OutPut

printf("%d\n",i++);                    5

printf("%d\n",i);                        6

printf("%d\n",++i);                    7

printf("%d\n",i);                        7

printf("%d\n",i--);                      7

printf("%d\n",i);                        6

printf("%d\n",--i);                      5

printf("%d\n",i);                        5

}


এ প্রোগ্রামে একটি integer variable নেওয়া হয়েছে। যার মান ধরা হয়েছে 5। প্রতেক line এর পাশে এর মান দেওয়া হল।
প্রথম LINE(printf("%d\n",i++);): এখন প্রথম printf কমান্ড এ i++ দ্বারা একটি increment operator বুঝানো হয়েছে। এখনে আগে i বসানো হয়েছে এবং পরে increment operator বসানো হয়েছে। তাই প্রথমে i এর মান প্রিন্ট হয়েছে। কিন্তু i মান 1 বেড়ে র‌্যামে জমা হবে।

দ্বিতীয় Line(printf("%d\n",i);): এখনে i এর মান প্রিন্ট করতে বলছে । আগের line এ আমাদের I মান প্রিন্ট হয়েছে 5 কিন্তু পরে increment operator এর কারনে i এর মান 1 বেড়ে 6 হয়েছে কিন্তু কোন  out put দেয় নি র‌্যামে জমা ছিল। পরে তাই তা এ লাইনে  i এর মান প্রিন্ট করেছে 6 ।

তৃতীয় line(printf("%d\n",++i);): এ line এ আগে increment operator কাজ করে I এর মান হয় 7 পরে I এর মান প্রিন্ট করে। তাই এই line এর out put হবে 7।

চতুর্থ line(printf("%d\n",i);): এখনে i এর মান প্রিন্ট করতে বলছে । আগের line এ আমাদের i মান প্রিন্ট হয়েছে 7। আর  কোন পরিবর্তন হয়নি তাই তাই এই line এর out put হবে 7।

পঞম line(printf("%d\n",i--);): এখনে আগে i বসানো হয়েছে এবং পরে discernment operator বসানো হয়েছে। তাই প্রথমে I এর মান প্রিন্ট হয়েছে। কিন্তু i মান 1 কমে র‌্যামে জমা রয়েছে।

ষষ্ট line(printf("%d\n",i);): এখনে I এর মান প্রিন্ট করতে বলছে।  এ line এর আগে decrement operator কাজ করে i এর মান  কমে হয় 6 পরে। আর  কোন পরিবর্তন হয়নি।  তাই এই line এর out put হবে 6।
সপ্তম line(printf("%d\n",--i);): এ line এ আগে decrement operator কাজ করে i er মান হয় 5 পরে I এর মান প্রিন্ট করে। তাই এই line এর out put হবে 5।
অষ্টম line(printf("%d\n",i);): এখনে i এর মান প্রিন্ট করতে বলছে। আগের line এ আমাদের I মান প্রিন্ট হয়েছে 5। আর  কোন পরিবর্তন হয়নি তাই তাই এই line এর out put হবে 5।

...................................................................................................................................................................

RELATIONAL AND LOGICAL OPERATORS:

RELATIONAL AND LOGICAL OPERATORS গুলো হল
  1. RELATIONAL OPERATOR
  2. Equality Operator
  3. LOGICAL OPERATOR

RELATIONAL OPERATOR:

C programming language এ চার প্রকার RELATIONAL OPERATORS রয়েছে। নিচে তাদেরকে দেখানো হলঃ
            Operator            Meaning
            <            Less then
            <=            Less then or equal to
            >            Greater then
            >=            Greater then or equal to
এ গুলোর মানে আমরা সবাই বুঝি তাই আর ব্যাখ্যা করলাম না।

উদাহরনঃ মনে করি x, y দুটি চলক। x এর মান 5.  y এর  মান 6। সুতরাং x  expression টি সত্য এবং এর মান হবে 1. আবার x>y  expression টি মিথ্যে এবং এর মান হবে 0.

Equality Operator:

RELATIONAL OPERATOR এর সাথে সম্পর্ক যুক্ত দুটি Equality Operator রয়েছে। নিচে এদের দেওয়া হলঃ
OperatorMeaning
==Equal to
!=Not Equal to
এখানে প্রথম টি হচ্ছে দুটি সমান চিহ্ন। দুটি মিলেই Equal to  Operator প্রকাশ করে। দ্বিতীয় টি হচ্ছে একটি !(উচ্চারন নট) ও একটি সমান চিহ্ন নিয়ে Not Equal to  Operator প্রকাশ করে।

উদাহরনঃ মনে করি x, y দুটি চলক। x এর মান 5. Y এর মান 6। সুতরাং x==y এর মানে হচ্ছে x এবং y এর মান সমান। কিন্ত আমদের x এবং y এর মান সমান নয়। সুতরাং x==y  expression টি মিথ্যে এবং এর মান হবে 0. আবার x!=y (উচ্চারন x not equal to y) হয় তাহলে expression টি সত্য হয় এবং এর মান হবে 1.


LOGICAL OPERATOR:

C প্রোগ্রামিং এ দুটি Logical Operator রয়েছে। তাদের নিচে দেওয়া হলঃ
             Operator           Meaning
               &&             And
                ||             Or
&& কে বলা হয় Logical and এবং || কে বলা হয় Logical Or.

&&(পড়া হয় And)  operator :

মনে করি x,y,z তিনটি চলক। এখন (x

||(পড়া হয় Or Or)  operator :

মনে করি x,y,z তিনটি চলক। এখন (xযে কোন একটি সত্য হয়। (xদুটি একসাথে মিথ্যা হলে (x
RELATIONAL AND LOGICAL OPERATORS এর কয়েকটি উদাহরন নিচে দেওয়া হল:
মনে করি x, y, z তিনটি চলক।
 x এর মান 5
 y এর  মান 6 এবং
 z এর মান 7

            Expression       ব্যাখ্যা      মান
               X         True          1
             X==5          True          1
             y==4         False          0
             (X+y)>z         True          1
            (X+y)<=z         False          0
             X!=y         True          1
             (X         True          1
             (X         True           1
             (X>y)||(z!=y)         True           1
             (X>y)&&(z!=y)          False           0
             (X          False            0
             (X          True           1

অর্থাৎ সকল true এর মান 1 এবং false এর মান ০।

Logical operator এ And(&&) ,Or(||) বোঝার জন্য আমাদের নিচের টেবিলটা বোঝা লাগবে।
AND(A&&B)Expression AExpression BAND output
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse
And operator এর ক্ষেত্রে দুইটি expression True হলেই শুধু expression টা true হয়।
OR(A||B)Expression AExpression BOR output
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse
OR operator এর ক্ষেত্রে দুইটি expression False হলেই শুধু expression টা False হয়।


Assignment operator


Assignment operator: কোন মান বা Value কোন Identifier এর মধ্যে assign বা নির্দিষ্ট করার জন্য assignment operator ব্যবহৃত হয়। C তে অনেক রকম Assignment operator রয়েছে। যেমনঃ
1)    = (Equal to)
2)    +=(Plas equal to)
3)    -=(Mainus equal to)
4)    *=(Product equal to)
5)    /=(Divition equal to)
6)    %= (Mode equal to) etc
তবে সবচেয়ে ব্যবহৃত Assignment operator হচ্ছে = (Equal to)।  এটি নিচের from এ লিখা হয়।
Identifier=expression
এখানে Identifier বলতে সাধারনত চলক(variable) কে বুঝানো হয়।আর expression বলতে যে কোন constant , variable ইত্যাদি কে বুঝানো হয়।
নিচে কিছু Assignment operator এর উদাহরন দেওয়া হলোঃ
  1. X=5;
  2. Y=10;
  3. Pi=3.1416
  4. Z=x+y+pi
এখানে প্রথম উদাহরনে 5 , x এর মধ্য assign হয়েছে। অর্থাৎ x এর মান এখন 5। 

 দ্বিতীয় উদাহরনে 10 , y এর মধ্য assign হয়েছে। অর্থাৎ y এর মান এখন 10. তৃতীয় উদাহরনে 3.1416 , pi এর মধ্য assign হয়েছে। 
অর্থাৎ pi এর মান এখন 3.1416. চতুর্থ উদাহরনে (x+y+pi ) , z এর মধ্য assign হয়েছে। অর্থাৎ z এর মান এখন (x+y+pi ) ।

এখানে মনে রাখতে হবে যে Assignment operator = এবং Equality Operator == সম্পূর্নই ভিন্ন। কোন মান বা Value কোন Identifier এর মধ্যে assign বা নির্দিষ্ট করার জন্য assignment operator ব্যবহৃত হয়। আর যেখানে দুইটা Expression এর মান সমান হলে Equality Operator == ব্যবহার করা হয়। Equality Operator দ্বারা Logical True অথাবা False নির্নয় করা হয়।
এখানে একটার স্থানে আরেকটা কোন অবস্থাতেই বসানো যাবেনা। তাহলে Program এ বিশাল ভুল আসবে। প্রথম প্রথম অনেকেই এই ভুল করে।
Equal to Assignment operator ছাড়াও অন্যান্য  Assignment operator অপারেটর ও ব্যবহার করা হয় । যেমনঃ
+= (Plas equal to) Assignment operator:
এটা নিচের মতো করে লেখা হয়
Exprission1 += Exprission2 যা (Exprission1 = Exprission1+ Exprission2 ) এর সমান।

ব্যাখ্যাঃ মনে করি x=3 , y=5.
যদি লেখা হয়: x+=y তাহলে x এর মান হবে x=x+y অর্থাৎ x=8.

আবার -= (Mainus equal to) Assignment operator এর ক্ষেত্রে নিচের মতো করে লেখা হয়
Exprission1 -= Exprission2 যা (Exprission1 = Exprission1- Exprission2 ) এর সমান।

ব্যাখ্যাঃ মনে করি x=8 , y=5.
যদি লেখা হয়ঃ x-=y তাহলে x এর মান হবে x=x-y অর্থাৎ x=3.
একই ভাবে অন্যান্য Assignment operator গুলো কাজ করে।

No comments:

Post a Comment

php4

<?php    // Start the session  session_start();  ?>  <!DOCTYPE html>  <html>  <head>       <link rel=&q...