سیاه و سفید
سلام به وبگاه من خوش آمدید! برید حالشو ببرید
کد ملی شماره ای است 10 رقمی که از سمت چپ سه رقم کد شهرستان محل صدور شناسنامه ، شش رقم بعدی کد منحصر به فرد برای فرد دارنده شناسنامه در شهرستان محل صدور و رقم آخر آن هم یک رقم کنترل است که از روی 9 رقم سمت چپ بدست می آید. برای بررسی کنترل کد کافی است مجدد از روی 9 رقم سمت چپ رقم کنترل را محاسبه کنیم...
ساختار کد ملی:

کد ملی شماره ای است 10 رقمی که از سمت چپ سه رقم کد شهرستان محل صدور شناسنامه ، شش رقم بعدی کد منحصر به فرد برای فرد دارنده شناسنامه در شهرستان محل صدور و رقم آخر آن هم یک رقم کنترل است که از روی 9 رقم سمت چپ بدست می آید. برای بررسی کنترل کد کافی است مجدد از روی 9 رقم سمت چپ رقم کنترل را محاسبه کنیم.

در ساختار کد ملی معمولا در ابتدای کد تعدادی صفر وجود دارد. (رقم اول و دوم از سمت چپ کد ملی ممکن است صفر باشد). در برخی از موارد ممکن است کاربر این صفرها را وارد نکرده باشد و یا به طور کلی نرم افزار این صفرها را ذخیره نکند. از همین جهت بهتر است قبل از هر کاری در صورتی که طول کد بزرگتر مساوی 8 و کمتر از 10 باشد، به تعداد لازم (یک یا دو تا صفر) به سمت چپ عدد اضافه کنید.

ساختار کد ملی در زیر نشان داده شده است:

ساختار کد ملی

ارقام کد رقم کنترل 9 رقم سمت چپ کد ملی
موقعیت

1

2 3 4 5 6 7 8 9 10
 

برای محاسبه رقم کنترل از روی سایر ارقام، هر رقم را در موقعیت آن ضرب کرده و حاصل را با هم جمع می کنیم. سپس مجموع بدست آمده را بر 11 تقسیم می کنیم. اگر باقیمانده، کمتر از 2 باشد، رقم کنترل باید برابر باقیمانده باشد در غیر اینصورت رقم کنترل باید برابر یازده منهای باقیمانده باشد.

برای مثال کد ملی 5487143528 صحیح می باشد:

فرمول تشخیص صحت کد ملی

الگوریتم تشخیص صحت کد ملی:
  1. تعداد ارقام کد وارد شده باید برابر 10باشد. در صورتی که بزرگتر مساوی 8 و کمتر از 10 بود، با افزودن یک یا دو رقم 0 به ابتدای عدد آن را 10 رقمی می کنیم. در غیر اینصورت کد معتبر نیست.
  2. کدهایی که همه ارقام آن با هم برابر باشند معتبر نیستند. (مثل: 0000000000 و 1111111111 و 2222222222 ... و 9999999999)
  3. دهمین رقم شماره ملی از سمت چپ (سمت راست ترین عدد یا همان یکان) را به عنوان A در نظر می گیریم. (رقم کنترل=A)
  4. حاصلجمع ضرب نه رقم سمت چپ در موقعیت های خود را محاسبه کرده و برابر B در نظر می گیریم. یعنی:
    B = (اولین رقم * ۱۰) + ( دومین رقم * ۹ ) + ( سومین رقم * ۸ ) + ( چهارمین رقم * ۷ ) + ( پنجمین رقم * ۶) + ( ششمین رقم * ۵ ) + ( هفتمین رقم * ۴ ) + ( هشتمین رقم * ۳ ) + ( نهمین رقم * ۲ )
  5. مقدار R را برابر باقیمانده ی تقسیم B بر 11 قرار می دهیم.
    باقیمانده را میتوانیم از این طریق محاسبه کنیم:
    B – [B/11]*11 (وقتی B را بر ۱۱ تقسیم کردیم، فقط قسمت صحیح آن را نگه می داریم و از قسمت اعشار آن صرف نظر می‌کنیم.)
  6. اگر R=0 و A=0 بود کد معتبر است.
    اگر R=1 و A=1 بود کد معتبر است.
    درغیر اینصورت اگر A=11-C باشد کد متبر است.
    وگرنه کد معتبر نیست.

از این جاها استفاده شده: http://aliarash.com/article/codemeli/codemeli.htm و http://www.daszarrin.ir/1390/09/28/4267/





نوشته شده در تاریخ پنجشنبه 10 مرداد 1392 توسط کورش هخامنشی
نیما ام
جمعه 18 مرداد 1392 06:32 ق.ظ
خیلی خوب بود



اگع داش عباس برات این نظرت رسید بهم ی میل
کورش هخامنشی


ممنون!
تمامی حقوق این وبلاگ محفوظ است
لطفا از مرورگر های قوی مثل chrome و firefox استفاده کنید
Designed By: Abbas F.N.
سیاه و سفید خفن سازی
شبکه اجتماعی فارسی کلوب | Buy Mobile Traffic | سایت سوالات