ट्रैक
/
Delphi Pascal
Delphi Pascal
/
अभ्यास
/
ISBN सत्यापनकर्ता
ISBN सत्यापनकर्ता

ISBN सत्यापनकर्ता

मध्यम

निर्देश

पुस्तक पहचान संख्याओं को जाँचने के लिए ISBN-10 सत्यापन प्रक्रिया इस्तेमाल की जाती है। इनमें आम तौर पर डैश होते हैं और ये ऐसे दिखती हैं: 3-598-21508-8

ISBN

ISBN-10 का प्रारूप 9 अंकों (0 से 9) और एक चेक अक्षर से मिलकर बनता है (चेक अक्षर या तो कोई अंक होता है या सिर्फ X)। अगर चेक अक्षर X है, तो यह '10' वैल्यू को दर्शाता है। ये डैश के साथ या डैश के बिना भी लिखी जा सकती हैं, और इनकी वैधता नीचे दिए गए सूत्र से जाँची जा सकती है:

(x1 * 10 + x2 * 9 + x3 * 8 + x4 * 7 + x5 * 6 + x6 * 5 + x7 * 4 + x8 * 3 + x9 * 2 + x10 * 1) mod 11 == 0

अगर परिणाम 0 है, तो यह एक वैध ISBN-10 है, वरना यह अवैध है।

उदाहरण

चलिए ISBN-10 3-598-21508-8 लेते हैं। इसे सूत्र में रखने पर हमें यह मिलता है:

(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0

चूँकि परिणाम 0 है, इससे सिद्ध होता है कि हमारा ISBN वैध है।

कार्य

आपको एक स्ट्रिंग दी जाएगी, और प्रोग्राम को जाँचना है कि दी गई स्ट्रिंग वैध ISBN-10 है या नहीं। इसे लागू करने के लिए थोड़ा सोचना पड़ेगा कि ISBN का चेक अंक निकालने से पहले स्ट्रिंग को कैसे तैयार और पार्स करना है।

प्रोग्राम को ISBN-10 डैश के साथ भी और डैश के बिना भी जाँचनी आनी चाहिए।

सावधानियाँ

कुछ भाषाओं में स्ट्रिंग से संख्या में बदलना मुश्किल हो सकता है। अब यह और भी मुश्किल है, क्योंकि ISBN-10 का चेक अंक 'X' हो सकता है (जो '10' को दर्शाता है)। जैसे 3-598-21507-X एक वैध ISBN-10 है।

बोनस कार्य

  • दिए गए ISBN-10 से एक वैध ISBN-13 बनाइए (और शायद उसे उसी से बने एक वेरिफायर से दोबारा जाँच लीजिए)।

  • वैध ISBN बनाइए, शायद किसी दी गई शुरुआती ISBN से भी।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Delphi Pascal Exercism

ISBN सत्यापनकर्ता शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Delphi Pascal को 76 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।