កង់បង្វិលឈ្មោះ

បង្វិលកង់ឈ្មោះតាមអនឡាញ ដើម្បីជ្រើសរើសអ្នកឈ្នះដោយចៃដន្យ៖ ចាប់ឆ្នោតយុត្តិធម៌ ដកអ្នកឈ្នះចេញ ចាប់ច្រើនក្នុងពេលតែមួយ និងពេញអេក្រង់សម្រាប់ថ្នាក់រៀន។ ឥតគិតថ្លៃ។

ចាប់ច្រើនក្នុងពេលតែមួយ

    ដើម្បីចាប់លេខជំនួសឈ្មោះ សូមប្រើ កម្មវិធីបង្កើតលេខចៃដន្យ។

    វាធ្វើអ្វី


    វាយ ឬបិទភ្ជាប់បញ្ជីឈ្មោះ មួយក្នុងមួយបន្ទាត់ ហើយបង្វិលកង់ដើម្បីជ្រើសរើសមួយដោយចៃដន្យ។ វាត្រូវបានបង្កើតឡើងសម្រាប់ថ្នាក់រៀន ការចែករង្វាន់ និងការសម្រេចចិត្ត៖ អ្នកអាចដកអ្នកឈ្នះម្នាក់ៗចេញ ដើម្បីកុំឱ្យនរណាម្នាក់ត្រូវបានជ្រើសរើសពីរដង ចាប់ឈ្មោះច្រើនក្នុងពេលតែមួយ និងបង្ហាញកង់ពេញអេក្រង់។ អ្នកឈ្នះត្រូវបានជ្រើសរើសដោយកម្មវិធីបង្កើតលេខចៃដន្យបែបគ្រីបតូក្រាហ្វីនៃឧបករណ៍របស់អ្នក មុនពេលកង់ចាប់ផ្ដើមវិល ចលនាគ្រាន់តែនាំទ្រនិចទៅកាន់អ្នកឈ្នះនោះប៉ុណ្ណោះ។

    របៀបប្រើ


    1. វាយឈ្មោះ ឬធាតុ មួយក្នុងមួយបន្ទាត់។ បញ្ជីត្រូវបានរក្សាទុកក្នុងកម្មវិធីរុករកនេះសម្រាប់លើកក្រោយ។
    2. ចុច «បង្វិល» ឬគ្រាប់ចុចដកឃ្លា (Space) ហើយរង់ចាំកង់ឈប់។
    3. ដកអ្នកឈ្នះចេញពីកង់ ឬបង្វិលម្ដងទៀត។ ដើម្បីជ្រើសរើសច្រើនក្នុងពេលតែមួយ សូមប្រើ «ចាប់ច្រើនក្នុងពេលតែមួយ»។

    សំណួរដែលសួរញឹកញាប់


    តើការចាប់ឆ្នោតពិតជាចៃដន្យ និងយុត្តិធម៌មែនទេ?
    ពិតមែន។ អ្នកឈ្នះបានមកពីកម្មវិធីបង្កើតលេខចៃដន្យបែបគ្រីបតូក្រាហ្វីនៃប្រព័ន្ធប្រតិបត្តិការរបស់អ្នក ដែលជាប្រភេទដូចគ្នានឹងប្រភេទដែលប្រើសម្រាប់ពាក្យសម្ងាត់ ហើយធាតុនីមួយៗមានឱកាសស្មើគ្នាទាំងស្រុង៖ ការចាប់ឆ្នោតជៀសវាងភាពលម្អៀងតិចតួចដែលវិធីកាត់ "random modulo" ទូទៅផ្ដល់ឱ្យទីតាំងខ្លះ។ អ្នកឈ្នះត្រូវបានកំណត់មុនពេលចលនាចាប់ផ្ដើម ដូច្នេះល្បឿននៃការបង្វិលមិនប៉ះពាល់ដល់លទ្ធផលទេ។

    តើខ្ញុំអាចផ្ដល់ឱកាសច្រើនជាងដល់នរណាម្នាក់បានទេ?
    បាន។ សរសេរឈ្មោះនោះច្រើនជាងម្ដង៖ បន្ទាត់នីមួយៗជាចំណែកមួយនៃកង់ ដូច្នេះឈ្មោះដែលសរសេរពីរដងមានឱកាសទ្វេដង។

    តើធ្វើដូចម្ដេចដើម្បីកុំឱ្យមនុស្សដដែលឈ្នះពីរដង?
    គូសធីក «ដកអ្នកឈ្នះចេញក្រោយការបង្វិលនីមួយៗ» ឬចុច «ដកចេញពីកង់» នៅពេលលទ្ធផលលេចឡើង។ ឈ្មោះដែលបានដកចេញត្រូវបានរាយនៅក្រោម «អ្នកឈ្នះមុនៗ»។

    តើបញ្ជីរបស់ខ្ញុំត្រូវបានរក្សាទុក ឬផ្ញើទៅកន្លែងណាទេ?
    បញ្ជីត្រូវបានរក្សាទុកតែក្នុងកម្មវិធីរុករកនេះប៉ុណ្ណោះ ដូច្នេះវានៅតែមាននៅពេលអ្នកត្រឡប់មកវិញ។ វាមិនដែលត្រូវបានផ្ញើទៅម៉ាស៊ីនមេឡើយ។

    Wikipedia — Random number generation
    Wikipedia — Fisher–Yates shuffle