A = A + 1, Aसं कसं?

गेल्या भागात आपण प्रोग्रामिंग लॅंग्वेजमधील (programming language) मूलभूत गणिती क्रिया शिकलो. त्यात आपण आकडेमोडीची जी उदाहरणं बघितली त्यात ‘‘=’’ च्या डावीकडे जे व्हेरिएबल (variable) Aसायचं ते ‘‘=’’च्या उजवीकडील पदावलीत वापरलेलं नव्हतं. पण समजा आपण एकच व्हेरिएबल ‘‘=’’ च्या डावीकडेही वापरलं नि ‘‘=’’ च्या उजवीकडील पदावलीतही, तर काय होईल?

तुमच्या गणिताच्या तासाला तुम्हाला खालील समीकरणे दिली :

A = A + B

A = A ७ B

आणि जर तुम्हाला यातील B ची किंमत विचारली, तर तुम्ही पटकन उत्तर द्याल. B ची किंमत Aसेल, Aनुक्रमे 0 आणि 1.

chart2

chart3

पण समजा, एखाद्या प्रोग्राममध्ये (program) तुम्ही या कमांड्स (commands) बघितल्या, तर B ची किंमत Aनुक्रमे 0 आणि 1 Aसेलच Aसे नाही. त्या प्रोग्राममध्ये B ची किंमत Aसेल, त्या प्रोग्राममधील आधीच्या कमांड्सनी B या व्हेरिएबल जी किंमत साठवून ठेवली आहे ती!

प्रोग्राममध्ये गणिती क्रिया करताना ‘‘=’’ या चिन्हाचा Aर्थ समीकरणाप्रमाणे डावी बाजू व उजवी बाजू समान आहेत हे दर्शवायला होत नाही. त्याचा Aर्थ, ‘‘=’’ च्या उजवीकडे दिलेली आकडेमोड करून आलेलं उत्तर, ‘‘=’’ च्या Aलीकडे Aसलेल्या व्हेरिएबलमध्ये साठवून ठेव, Aसा होतो.

त्यामुळे प्रोग्राममधील A = A + B ही कमांड रन (run) होईल तेव्हा A व B या व्हेरिएबल्समध्ये त्यावेळेस ज्या किमती Aसतील त्यांची बेरीज केली जाईल व आलेले उत्तर A या व्हेरिएबलमध्ये साठवलं जाईल.

कम्प्युटरवरील क्रिकेटच्या गेममध्ये पाचव्या क्रमांकाच्या फलंदाजाने एका बॉलवर ३ रन्स काढल्या, तर त्याने काढलेल्या रन्स, तसेच एकूण रन्स, या दोन व्हेरिएबल्सच्या किमती आपल्याला सोबतच्या उदाहरणात दाखविल्याप्रमाणे बदलायला लागतील.

समजा हा फलंदाज बाद झाला, तर बाद झालेल्या फलंदाजांची संख्या ज्या व्हेरिएबलमध्ये साठवून ठेवली आहे, त्याच्या किमतीत खालीलप्रमाणे बदल केला जाईल :

WicketsFallen = WicketsFallen+ 1

एखाद्या व्हेरिएबलची किंमत एकाने वाढवायची किंवा एकाने कमी करायची वेळ बहुतेक प्रोग्राम्समध्ये बऱ्याच ठिकाणी येत Aसते. त्यामुळे त्यासाठी दरवेळी A = A + 1 किंवा A = A – 1 Aसं लिहिण्याऐवजी काही प्रोग्रामिंग लॅंग्वेजेस्मध्ये या कमांड्सचं संक्षिप्त रूप वापरलं जातं. ते A++ किंवा A– Aशा प्रकारचं Aसतं. आपल्या लुटुपुटूच्या ब्लॉकली भाषेत जरी आपण ते वापरणार नसलो, तरी तुम्हाला माहीत Aसावं म्हणून सांगून ठेवलं.

sudomu@gmail.com

(या सदरातील उदाहरणं http://www.codingbasics.omsw.co.in या संकेतस्थळावर उपलब्ध Aसतील.)