កង់បង្វិលឈ្មោះ
បង្វិលកង់ឈ្មោះតាមអនឡាញ ដើម្បីជ្រើសរើសអ្នកឈ្នះដោយចៃដន្យ៖ ចាប់ឆ្នោតយុត្តិធម៌ ដកអ្នកឈ្នះចេញ ចាប់ច្រើនក្នុងពេលតែមួយ និងពេញអេក្រង់សម្រាប់ថ្នាក់រៀន។ ឥតគិតថ្លៃ។
វាធ្វើអ្វី
វាយ ឬបិទភ្ជាប់បញ្ជីឈ្មោះ មួយក្នុងមួយបន្ទាត់ ហើយបង្វិលកង់ដើម្បីជ្រើសរើសមួយដោយចៃដន្យ។ វាត្រូវបានបង្កើតឡើងសម្រាប់ថ្នាក់រៀន ការចែករង្វាន់ និងការសម្រេចចិត្ត៖ អ្នកអាចដកអ្នកឈ្នះម្នាក់ៗចេញ ដើម្បីកុំឱ្យនរណាម្នាក់ត្រូវបានជ្រើសរើសពីរដង ចាប់ឈ្មោះច្រើនក្នុងពេលតែមួយ និងបង្ហាញកង់ពេញអេក្រង់។ អ្នកឈ្នះត្រូវបានជ្រើសរើសដោយកម្មវិធីបង្កើតលេខចៃដន្យបែបគ្រីបតូក្រាហ្វីនៃឧបករណ៍របស់អ្នក មុនពេលកង់ចាប់ផ្ដើមវិល ចលនាគ្រាន់តែនាំទ្រនិចទៅកាន់អ្នកឈ្នះនោះប៉ុណ្ណោះ។
របៀបប្រើ
- វាយឈ្មោះ ឬធាតុ មួយក្នុងមួយបន្ទាត់។ បញ្ជីត្រូវបានរក្សាទុកក្នុងកម្មវិធីរុករកនេះសម្រាប់លើកក្រោយ។
- ចុច «បង្វិល» ឬគ្រាប់ចុចដកឃ្លា (Space) ហើយរង់ចាំកង់ឈប់។
- ដកអ្នកឈ្នះចេញពីកង់ ឬបង្វិលម្ដងទៀត។ ដើម្បីជ្រើសរើសច្រើនក្នុងពេលតែមួយ សូមប្រើ «ចាប់ច្រើនក្នុងពេលតែមួយ»។
សំណួរដែលសួរញឹកញាប់
តើការចាប់ឆ្នោតពិតជាចៃដន្យ និងយុត្តិធម៌មែនទេ?
ពិតមែន។ អ្នកឈ្នះបានមកពីកម្មវិធីបង្កើតលេខចៃដន្យបែបគ្រីបតូក្រាហ្វីនៃប្រព័ន្ធប្រតិបត្តិការរបស់អ្នក ដែលជាប្រភេទដូចគ្នានឹងប្រភេទដែលប្រើសម្រាប់ពាក្យសម្ងាត់ ហើយធាតុនីមួយៗមានឱកាសស្មើគ្នាទាំងស្រុង៖ ការចាប់ឆ្នោតជៀសវាងភាពលម្អៀងតិចតួចដែលវិធីកាត់ "random modulo" ទូទៅផ្ដល់ឱ្យទីតាំងខ្លះ។ អ្នកឈ្នះត្រូវបានកំណត់មុនពេលចលនាចាប់ផ្ដើម ដូច្នេះល្បឿននៃការបង្វិលមិនប៉ះពាល់ដល់លទ្ធផលទេ។
តើខ្ញុំអាចផ្ដល់ឱកាសច្រើនជាងដល់នរណាម្នាក់បានទេ?
បាន។ សរសេរឈ្មោះនោះច្រើនជាងម្ដង៖ បន្ទាត់នីមួយៗជាចំណែកមួយនៃកង់ ដូច្នេះឈ្មោះដែលសរសេរពីរដងមានឱកាសទ្វេដង។
តើធ្វើដូចម្ដេចដើម្បីកុំឱ្យមនុស្សដដែលឈ្នះពីរដង?
គូសធីក «ដកអ្នកឈ្នះចេញក្រោយការបង្វិលនីមួយៗ» ឬចុច «ដកចេញពីកង់» នៅពេលលទ្ធផលលេចឡើង។ ឈ្មោះដែលបានដកចេញត្រូវបានរាយនៅក្រោម «អ្នកឈ្នះមុនៗ»។
តើបញ្ជីរបស់ខ្ញុំត្រូវបានរក្សាទុក ឬផ្ញើទៅកន្លែងណាទេ?
បញ្ជីត្រូវបានរក្សាទុកតែក្នុងកម្មវិធីរុករកនេះប៉ុណ្ណោះ ដូច្នេះវានៅតែមាននៅពេលអ្នកត្រឡប់មកវិញ។ វាមិនដែលត្រូវបានផ្ញើទៅម៉ាស៊ីនមេឡើយ។
Wikipedia — Random number generation
Wikipedia — Fisher–Yates shuffle