ট্র্যাক
/
Delphi Pascal
Delphi Pascal
/
অনুশীলনী
/
ISBN ভেরিফায়ার
ISBN ভেরিফায়ার

ISBN ভেরিফায়ার

মধ্যম

নির্দেশনা

বই শনাক্তকরণ নম্বর যাচাই করতে ISBN-10 যাচাইকরণ প্রক্রিয়া ব্যবহার করা হয়। এগুলোতে সাধারণত ড্যাশ থাকে এবং দেখতে এমন হয়: 3-598-21508-8

ISBN

ISBN-10 ফরম্যাটে থাকে ৯টি সংখ্যা (০ থেকে ৯) এবং একটি চেক ক্যারেক্টার (যা হয় একটি সংখ্যা, নয়তো শুধু একটি 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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।