गेल्या भागात आपण ज्या तार्किक क्रिया (logical operators) शिकलो, "and" नि "or", त्या बायनरी (binary) प्रकारच्या होत्या. म्हणजे त्या क्रिया दोन बूलिअन (boolean) व्हेरिएबल्स (variables) वर काम करतात. आज आपण एक युनरी (unary) प्रकारची तार्किक क्रिया बघू या. यात एकच बूलिअन व्हेरिएबल वापरलं जातं. "not" ऑपरेटर वापरून दिलेल्या बूलिअन व्हेरिएबलची किंमत, आहे त्या किंमतीच्या उलट केली जाते. बहूतेक प्रोग्रामिंग लॅंग्वेजेसमधे "not" ऑपरेशन "!" या चिन्हाने दर्शविलं जातं. समजा आपल्याकडे C1 हे एक बूलिअन व्हेरिएबल आहे. तर "not C1"ची किंमत पुढीलप्रमाणे असेल.
एखाद्या पदावलीत एकापेक्षा जास्तं गणिती क्रिया असतील, तर त्यातील कोणती क्रिया आधी करायची नि कोणती नंतर, हे ठरविण्यासाठी आपण "BODMAS" नियम वापरतो. तार्किक क्रिया करताना देखील, एकापेक्षा जास्तं क्रिया असतील, तर कोणती क्रिया आधी करायची नि कोणती नंतर, हे ठरलेलं आहे. हा अनुक्रम "not", "and", "or" असा आहे.
तार्किक क्रिया हा प्रकार समजून घेण्यासाठी आता आपण एक त्याचा वापर केलेला प्रोग्राम बघू या. "स्टोन, पेपर, सिजर्स" हा गेम तुमच्यापैकी बहूतेक जण खेळले असतील. आपण या गेमचा स्कोअर मोजण्यासाठी प्रोग्राम लिहूया. प्रोग्राममधे दिलेल्या कमेंट्सनुसार प्रोग्रामचे चार भाग तुमच्या लक्षात येतील.
१. दोन खेळाडूंचे मार्कं साठवून ठेवण्यासाठी दोन व्हेरिएबल डिक्लेअर करून, त्यात सुरूवातीस शून्य साठवून ठेवा.
२. गेमचे नियम दाखवा.
३. जोपर्यंत एका खेळाडूचे मार्कं ५ होत नाहीत, तोपर्यंत गेम खेळत रहा.
४. गेम संपला की कोण जिंकलं ते सांगा.
४. चान्सेस संपले की युजरला त्याचा स्कोअर (score) काय झाला ते सांगणे.
आता यातील तिसऱ्या भागात आपण एक लूप (loop) वापरला आहे. या लूपमधे किती वेळा फिरायचं ते ठरविण्यासाठी जी अट दिली आहे ती दोन उपअटी "and" ह्या तार्किक क्रियेने जोडून बनलेली संयुक्त अट आहे. मागच्या भागात दिल्याप्रमाणे C1 व C2 दोन्ही true असेल तेव्हा (C1 and C2) हे true असते. त्यानुसार आजच्या उदाहरणात, "ScoreOfPlayer1 < 5" व "ScoreOfPlayer2 < 5" या दोन्ही अटी true असतील तेव्हा "(ScoreOfPlayer1 < 5) and (ScoreOfPlayer2 < 5)" ही संयुक्त अट true असेल व तोपर्यंत प्रोग्राम लूपमधे फिरत राहील. लूपमधे फिरून प्रोग्राम काय करेल, ते पाहू या पुढच्या भागात.
Example : Stone, Paper, Scissors
Program in Blockly
Program Output – Part 2