मराठीतून मायक्रो कंट्रोलर प्रोग्रामिंग शिका – 3

सर्वांसाठी अतिशय सोप्या भाषेत मायक्रो कंट्रोलर प्रोग्रामिंग शिकण्यासाठी विद्यासागर सरांनी चालू केलेला हा उपक्रम. आपला अभिप्राय अवश्य कळवा.

Note: This material is copyrighted and time stamped under DCMA Copyright Act. Do not copy or reproduce under other title or name.

मागच्या दोन भागात आपण ८०५१ मायक्रो कंट्रोलर ची बेसिक माहिती पहिली आणि त्यानंतर C programming language सोप्या पद्धतीने शिकलो.

आता या भागात आपण C लँग्वेज मधील वेगवेगळ्या ऑपरेटर्स चा अभ्यास करू. हे ऑपरेटर्स आपल्याला रोबोटिक्स व मायक्रो कंट्रोलरच्या प्रोग्रामिंग मध्ये उपयोगी पडतील.

ऑपरेटर्स म्हणजे काय?

ऑपरेटर म्हणजे एक प्रकारचे चिन्ह जे कंपायलरला विशिष्ट प्रकारचं गणिताचं (mathematical) किंवा तार्किक (logical) कार्य करावयास सांगते. C लँग्वेजमध्ये बऱ्याच प्रकारचे ऑपरेटर्स आहेत, त्यातील आपल्या अभ्यासासाठी लागणारे काही ऑपरेटर्स खालील प्रमाणे आहेत.

  1. अरीथमॅटिक ऑपरेटर्स (Arithmetic Operators)
  2. रिलेशनल ऑपरेटर्स (Relational Operators)
  3. लॉजिकल ऑपरेटर्स (Logical Operators)
  4. बिट वाईज ऑपरेटर्स Bitwise Operators

अरीथमॅटिक ऑपरेटर्स (Arithmetic Operators)

समजा आपल्याजवळ दोन व्हेरिएबल्स आहेत. A = 10 आणि B = 20. आता खालील टेबल नीट पहा. C लँग्वेज मध्ये प्रचलित असलेले काही ऑपरेटर्स येथे दिलेले आहेत.

अरीथमॅटिक ऑपरेटर्स टेबल

अरीथमॅटिक ऑपरेटर्स टेबल

वरील टेबल मध्ये ६ वेगवेगळ्या कंडिशन्स दिलेल्या आहेत. आपण प्रत्येक कंडिशन समजावून घेऊ.

Summation Operator (बेरीज करणारा ऑपरेटर): आपल्याजवळ दोन व्हेरिएबल्स आहेत. A = 10 आणि B = 20.

आता या ऑपरेटरचा वापर आपण आपल्या प्रोग्राममध्ये खालील प्रकारे करू शकतो:

आता समजा आपल्याजवळ तीन व्हेरिएबल आहेत, X,  A=10 आणि B=20. आणि आपल्याला A आणि B ची बेरीज करून ती X या व्हेरिएबल मध्ये स्टोअर करायची आहे.

तर प्रोग्रामच्या सुरुवातीस असे लिहावे.

int X; ... इथे आपण X हा व्हेरिएबल फक्त declare केला. त्यात अजून value स्टोअर केली नाही.
int A=10, B=20; ... इथे आपण आणखी दोन व्हेरिएबल declare केले आणि त्यांना value पण दिली.

आता पुढे प्रोग्राममध्ये main() या फंक्शनच्या आत आपल्याला असे लिहावे:

main()
{
   X=A+B; ... हे statement run झाल्यावर X या व्हेरिएबलमध्ये ३० अशी value स्टोअर होईल.
}
इथे main() फंक्शनच्या खाली दोन curly braces (मेहरपी कंस) वापरले आहेत आणि त्या दोन कंसात आपले statement लिहिले आहे. या दोन कंसांना प्रोग्राममध्ये अतिशय महत्व आहे. यातील एक कंस जरी लिहिण्याचे आपण विसरलो तर प्रोग्राम run होत नाही, अर्थात कंपायलर error दाखवेल हे नीट लक्षात ठेवा.

Subtraction Operator (वजाबाकी करणारा ऑपरेटर): समजा आपल्याजवळ तीन व्हेरिएबल आहेत, W, A=10 आणि B=20. आणि आपल्याला A आणि B ची वजाबाकी करून ती W या व्हेरिएबल मध्ये स्टोअर करायची आहे.

तर प्रोग्रामच्या सुरुवातीस असे लिहावे.

int W; ... इथे आपण W हा व्हेरिएबल फक्त declare केला. त्यात अजून value स्टोअर केली नाही.
int A=10, B=20; ... इथे आपण आणखी दोन व्हेरिएबल declare केले आणि त्यांना value पण दिली.

आता पुढे प्रोग्राममध्ये main() या फंक्शनच्या आत असे लिहावे:

main()
{
   W=A-B; ... हे statement run झाल्यावर W या व्हेरिएबलमध्ये (-१०) अशी value स्टोअर होईल.
}

अशा प्रकारे A*B = २०० अशी value देईल. B/A (म्हणजे B भागिले A), आपल्याला  २ अशी value देईल.

तसेच A++; मुळे A ची मूळ value एकने वाढते. त्यामुळे आपल्याला ११ अशी value मिळेल कारण A ची value प्रोग्रामच्या सुरुवातीला आपण १० अशी घेतली होती. इथे एक महत्वाचा मुद्दा लक्षात घ्या. तुम्ही प्रोग्राम मध्ये जितक्या ठिकाणी A++; असे लिहाल तितके वेळा A या व्हेरिएबलची value एकने वाढत जाईल.

समजा मी माझ्या प्रोग्राममध्ये ३ वेगवेगळ्या ठिकाणी A++; असे लिहिले. तर प्रोग्रामच्या शेवटी मला A=13 अशी value मिळेल.

हीच कंडिशन आपण A–; साठी वापरू शकतो. जर A–; असे प्रोग्राममध्ये आपण ५ वेळा लिहिले, आणि A ची value सुरुवातीला १० असेल तर प्रोग्रामच्या शेवटी आपल्याला A=5 अशी value मिळेल.

वरील सर्व ठिकाणी आपण X=A+B, X=A-B, A++ किंवा A– नंतर “;” semicolon (स्वल्पविराम) लिहिला आहे. हे फार महत्वाचे आहे. अन्यथा आपल्याला कंपायलर error दाखवेल. तसेच ++ आणि — या ऑपरेटर्सला युनरी ऑपरेटर्स (Unary operator) असेही म्हणतात.

रिलेशनल ऑपरेटर्स (Relational Operators)

आता पुन्हा आपण A आणि B च्या त्याच value घेऊ आणि रिलेशनल ऑपरेटर्स कसे वापरायचे ते पाहू. खालील चार्ट पहा.

रिलेशनल ऑपरेटर्स चार्ट

रिलेशनल ऑपरेटर्स चार्ट

बायनरी ऑपरेटर (==): समजा A=10 आणि B=20 असे दोन व्हेरिएबल्स आहेत. तर A==B हि कंडिशन false होईल कारण A आणि B च्या values वेगवेगळ्या आहेत.

“नॉट इक्वल टू” ऑपरेटर (!=): जर आपण आपल्या प्रोग्राममध्ये A!=B असे लिहिले तर हि कंडिशन true होईल कारण A आणि B च्या values सारख्या नाहीत.

या प्रकारे वरील चार्ट मध्ये इतरही कंडिशन्स नीट वाचा आणि लक्षात ठेवा. पुढे आपल्याला त्यांचा उपयोग करावयाचा आहे.

लॉजिकल ऑपरेटर्स (Logical Operators)

खालील चार्ट पहा. हे ऑपरेटर्स समजण्यास अतिशय सोपे आहेत. आता आपण A आणि B च्या values बदलणार आहोत.

समजा A=1 आणि B=0 अशी कंडिशन आहे. इथे आपण 0 आणि 1 ह्या बायनरी values घेत आहोत, हे नीट लक्षात घ्या.

लॉजिकल ऑपरेटर्स चार्ट

लॉजिकल ऑपरेटर्स चार्ट

“&” ऑपरेटर: हा AND नावाचा लॉजिकल ऑपरेटर आहे. याचा बायनरी values सोबत उपयोग करताना खाली दिलेले चार नियम लक्षात ठेवा.

  1. 0 & 0 = 0
  2. 0 & 1 = 0
  3. 1 & 0 = 0
  4. 1 & 1 = 1

या चार नियमांवरून तुमच्या लक्षात येईल कि, A&B=0 असे होईल कारण A=1 परंतु B=0 आहे.

“।” ऑपरेटर: या ऑपरेटरला DOS pipe (डॉस पाईप) ऑपरेटर असेही म्हणतात. हा OR नावाचा लॉजिकल ऑपरेटर आहे. याचा बायनरी values सोबत उपयोग करताना खाली दिलेले चार नियम लक्षात ठेवा.

  1. 0 । 0 = 0
  2. 0 । 1 = 1
  3. 1 । 0 = 1
  4. 1 । 1 = 1

या चार नियमांवरून तुमच्या लक्षात येईल कि, A|B=1 असे होईल कारण A=1 परंतु B=0 आहे.

“!” ऑपरेटर: हा NOT नावाचा लॉजिकल ऑपरेटर आहे. याचा बायनरी values सोबत उपयोग करताना खाली दिलेले चार नियम लक्षात ठेवा.

  1. !(0) = 1 … झिरो चा कॉम्प्लिमेंट आहे वन
  2. !(1) = 0 … वन चा कॉम्प्लिमेंट आहे झिरो

या चार नियमांवरून तुमच्या लक्षात येईल कि, !(A&B)=1 असे होईल कारण A&B=0 आहे आणि झिरो चा कॉम्प्लिमेंट आहे वन. म्हणून आपल्याला मिळेल !(A&B)=1

तसेच !(A।B)=0 असे होईल कारण A।B=1 होईल आणि वन चा कॉम्प्लिमेंट आहे झिरो, म्हणून !(A।B)=0

बिटवाईज ऑपरेटर्स (Bitwise Operators)

समजा A=0011 1100 आणि B= 0000 1101 अशा ८-बिट च्या फॉर्म मध्ये values आहेत. या बायनरी values आहेत, हे लक्षात घ्या.

आता खाली दिलेला चार्ट नीट वाचा आणि त्यातील कंडिशन्स समजावून घ्या.

बिटवाईज ऑपरेटर्स चार्ट

बिटवाईज ऑपरेटर्स चार्ट

चार्ट मध्ये दिलेल्या कंडिशन्स कशा वापरायच्या ते आता आपण पाहू. सुरुवातीस खालील नियम लक्षात ठेवा.

0&0=0, 0&1=0, 1&0=0 and 1&1=1

0|0=0, 0|1=1, 1|0=1 and 1|1=1

वरील नियमांचा वापर करून आपण A आणि B चे AND, OR आणि NOT कॉम्बिनेशन्स खालील प्रकारे करू शकतो.

बिटवाईज ऑपरेटर्स चे उदाहरण

बिटवाईज ऑपरेटर्स चे उदाहरण

अशा प्रकारे आपण चार प्रकारचे ऑपरेटर्स पहिले. पुढच्या पाठात आपण प्रत्यक्ष प्रोग्रामिंग कसे करायचे ह्याची सुरुवात करणार आहोत. मित्रांनो, लक्षात ठेवा, आतापर्यंत आपण जे काही शिकलो ते सर्व व्यवस्थित लक्षात ठेवा. ओव्हर कॉन्फिडन्स ठेवू नका. अन्यथा पुढील भाग हा प्रात्यक्षिकांचा भाग असल्यामुळे समजण्यास अवघड होईल.

आपल्याला आणखी एक विनंती आहे कि, या सिरीज मध्ये कुठे चुका आढळल्यास कृपया आपली comment खाली अवश्य लिहा.

Series Navigation<< मराठीतून मायक्रो कंट्रोलर प्रोग्रामिंग शिका – २मराठीतून मायक्रो कंट्रोलर प्रोग्रामिंग शिका – 4 >>