Module: शर्त के साथ लूप स्टेटमेंट - जबकि


Problem

6/21

संख्या अंक

Theory Click to read/hide

आइए निम्नलिखित समस्या को हल करने के लिए एक प्रोग्राम लिखने का प्रयास करें:

आपको एक संख्या दर्ज करनी होगी (इसे 3,000,000 से कम होने दें) और इसमें अंकों की संख्या निर्धारित करें।

समाधान विचार


आइए किसी संख्या के अंकों का काउंटर शुरू करें। प्रारंभ में, काउंटर 0 है। हमें केवल संख्या से अंतिम अंक को क्रमिक रूप से काटने की आवश्यकता है (यह संख्या को 10 गुना कम करके, 10 से पूर्णांक विभाजन का उपयोग करके किया जा सकता है), और हर बार हमें काउंटर को बढ़ाने की आवश्यकता होती है 1. 
नतीजतन, जब हम सभी अंकों को काट देते हैं, तो काउंटर में हमें अंकों की संख्या मिल जाएगी।
दूसरे तरीके से, एल्गोरिथ्म को निम्नानुसार तैयार किया जा सकता है:
जब तक संख्या शून्य न हो जाए, इसे 10 गुना घटाएं और काउंटर को 1 से बढ़ाएं। <तालिका संरेखण = "केंद्र" सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1"> <सिर> संख्या (n) <वें स्कोप="col">काउंटर <शरीर> 123 0 12 1 1 2 0 3 कार्यक्रम इस प्रकार रहेगा। <पूर्व> <कोड>var n, गिनती: पूर्णांक; शुरू     पढ़ें (एन);     गिनती := 0;     जबकि n <> 0 शुरू करने के लिए         गिनती += 1;         एन := एन div 10;     अंत;     writeln('संख्या - ', n, ' सम्‍मिलित है ', गिनती, ' अंक'); अंत। आपको इस कार्यक्रम को दिल से जानने की जरूरत है, क्योंकि। इसके आधार पर अंकों द्वारा संख्याओं की गणना से संबंधित अन्य अनेक समस्याओं का समाधान किया जाता है।

Problem

कार्यक्रम चलाएँ। 

उसके काम का नतीजा देखिए।
क्या आउटपुट वाक्यांश में सब कुछ ठीक है?
इस बारे में सोचें कि आप इस समस्या को कैसे ठीक कर सकते हैं।