از فرایند اعتبارسنجی ISBN-10 برای اعتبارسنجی شمارههای شناسایی کتاب استفاده میشود. این شمارهها معمولاً خط تیره دارند و به این شکل هستند: 3-598-21508-8
قالب ISBN-10 از ۹ رقم (از ۰ تا ۹) بهعلاوهی یک نویسهی بررسی تشکیل میشود (این نویسه یا یک رقم است یا فقط X). اگر نویسهی بررسی X باشد، نمایندهی مقدار ۱۰ است. این شمارهها ممکن است با خط تیره یا بدون آن نوشته شوند و میتوان اعتبارشان را با فرمول زیر بررسی کرد:
(x1 * 10 + x2 * 9 + x3 * 8 + x4 * 7 + x5 * 6 + x6 * 5 + x7 * 4 + x8 * 3 + x9 * 2 + x10 * 1) mod 11 == 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
چون نتیجه ۰ است، این نشان میدهد که ISBN ما معتبر است.
برنامه یک رشته را میگیرد و باید بررسی کند که رشتهی دادهشده یک ISBN-10 معتبر است یا نه. پیادهسازی این کار نیازمند کمی تأمل دربارهی پیشپردازش و تجزیهی رشته پیش از محاسبهی رقم بررسی ISBN است.
برنامه باید بتواند ISBN-10 را هم با خط تیرههای جداکننده و هم بدون آن بررسی کند.
تبدیل رشته به عدد در برخی زبانها میتواند دشوار باشد.
حالا که رقم بررسی یک ISBN-10 ممکن است X باشد (که نمایندهی ۱۰ است)، این کار حتی دشوارتر هم میشود. برای نمونه 3-598-21507-X یک ISBN-10 معتبر است.
یک ISBN-13 معتبر از ISBN-10 ورودی تولید کنید (و شاید دوباره آن را با یک اعتبارسنج مشتقشده بررسی کنید).
یک ISBN معتبر تولید کنید، شاید حتی از یک ISBN آغازین دادهشده.
در Exercism ثبتنام کنید تا Delphi Pascal را همراه با 76 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.