หมายเลข ISBN ขนาด 10 ของหนังสือ

     หนังสือที่พิมพ์กันทั้งหลายในโลกนี้จะมีหมายเลข ISBN ขนาด 10 หลัก ตัวอย่างเช่น
หนังสือ "การออกแบบและวิเคราะห์อัลกอริทึม" เขียนโดยสมชาย ประสิทธิ์จูตระกูล จัดพิมพ์โดยสำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ มี ISBN คือ 974 229 026 1
เลขสิบหลักของ ISBN นั้นมีเลขหลักที่สิบ (หลักขวาสุด) เป็นตัวตรวจสอบความถูกต้องของอีก 9 ตัวทางซ้าย (เรียกว่า check digit) ให้ d_k แทนตัวเลขหลักที่ k จะได้ว่า check digit ต้องมีค่าเท่ากับ
\displaystyle{\left( {\sum\limits_{k = 1}^9 {(k \times d_k )} } \right)\bmod 11}
เช่น ถ้า 9 หลักซ้ายของ ISBN คือ 974229026 สามารถคำนวณ check digit ได้
1×9 + 2×7 + 3×4 + 4×2 + 5×2 + 6×9 + 7×0 + 8×2 + 9×6 = 177
check digit คือ 177 mod 11 = 1
เนื่องจากขั้นตอนสุดท้ายในการหา check digit มาจากการ mod ด้วย 11 ซึ่งมีค่าได้ตั้งแต่ 0 ถึง 10 สำหรับกรณีที่ได้ค่าเป็น 10 จะใช้ตัวอักษร X ที่ตำแหน่ง check digit
สิ่งที่ต้องการ
เขียนโปรแกรมเพิ่มใน ISBN ให้ทำงานดังนี้
รอรับ ISBN จากผู้ใช้ทางแป้นพิมพ์
ตรวจสอบว่า ISBN ที่ได้รับถูกต้องหรือไม่
ISBN ที่ไม่ถูกต้องมี 3 แบบคือ
1)มีไม่ครบ หรือมีเกิน 10 หลัก
2)เก้าหลักทางซ้ายมีบางตัวไม่ใช่ตัวเลข หรือหลักที่สิบ (ขวาสุด) ไม่ใช่ตัวเลขและไม่ใช่ X
3)check digit มีค่าไม่ถูกต้องตามกฎ
ให้แสดงผลของการตรวจสอบทางจอภาพ ดังนี้
ถ้าถูกต้อง ให้แสดงคำว่า CORRECT
ถ้าไม่ถูกต้อง
แบบที่ 1 ให้แสดงคำว่า INCORRECT 1
แบบที่ 2 ให้แสดงคำว่า INCORRECT 2
แบบที่ 3 ให้แสดงคำว่า INCORRECT 3

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s