# ការប្រលងអារេ និងរង្វិល ## សេចក្ដីណែនាំ បញ្ចប់លំហាត់ខាងក្រោមសម្រាប់លំហាត់ការងារជាមួយអារេ និងរង្វិល។ លំហាត់នីមួយៗសង់លើគំនិតពីមេរៀន ហើយលើកទឹកចិត្តឱ្យអ្នកអនុវត្តប្រភេទរង្វិលនានា និងវិធីសាស្រ្តអារេទាំងឡាយ។ ### លំហាត់ ១៖ កម្មវិធីបង្កើតលំនាំលេខ បង្កើតកម្មវិធីមួយដែលបញ្ជីលេខរៀងរាល់អង្គទី 3 រវាងលេខ 1 ដល់ 20 ហើយបង្ហាញវាលើកុងសូល។ **តម្រូវការៈ** - ប្រើរង្វិល `for` ជាមួយការបន្ថែមលេខប.custom - បង្ហាញលេខក្នុងទ្រង់ទ្រាយងាយស្រួលសម្រាប់អ្នកប្រើ - បន្ថែមមតិយោបល់ពន្យល់អំពីតម្រឹមដែលអ្នកប្រើ **លទ្ធផលដែលរំពឹងទុក៖** ``` 3, 6, 9, 12, 15, 18 ``` > **គំនុំ:** កែប្រែសមីការជុំវិញនៅក្នុងរង្វិល `for` របស់អ្នកដើម្បីរំលងលេខ។ ### លំហាត់ ២៖ ការវិភាគអារេ បង្កើតអារេមួយដែលមានយ៉ាងហោចណាស់ 8 លេខខុសគ្នា ហើយសរសេរមុខងារដើម្បីវិភាគទិន្នន័យ។ **តម្រូវការៈ** - បង្កើតអារេឈ្មោះ `numbers` ដែលមានតម្លៃយ៉ាងហោចណាស់ 8 - សរសេរមុខងារ `findMaximum()` ដែលបង្វិលលេខខ្ពស់បំផុត - សរសេរមុខងារ `findMinimum()` ដែលបង្វិលលេខទាបបំផុត - សរសេរមុខងារ `calculateSum()` ដែលបង្វិលសរុបលេខទាំងអស់ - សាកល្បងមុខងារនីមួយៗ និងបង្ហាញលទ្ធផល **ការប្រកួតបន្ថែម៖** បង្កើតមុខងារដែលស្វែងរកលេខទីពីរខ្ពស់ក្នុងអារេ។ ### លំហាត់ ៣៖ ការការពារ អារេខ្សែអក្សរ បង្កើតអារេឈ្មោះបង្ហាញភាពចូលចិត្តរបស់អ្នក ជាភាពយប់/សៀវភៅ/ចម្រៀង ហើយហាត់ប្រើប្រភេទរង្វិលផ្សេងៗ។ **តម្រូវការៈ** - បង្កើតអារេមួយដែលមានតម្លៃខ្សែអក្សរយ៉ាងហោចណាស់ 5 - ប្រើរង្វិល `for` ប្រពៃណី ដើម្បីបង្ហាញធាតុជាលេខ (1. ឈ្មោះធាតុ) - ប្រើរង្វិល `for...of` ដើម្បីបង្ហាញធាតុជាអក្សរ​បំបែរជាអក្សរធំ - ប្រើវិធីសាស្រ្ត `forEach()` ដើម្បីរាប់ និងបង្ហាញចំនួនតួអក្សរផ្តល់ទៅ **លទ្ធផលគំរូ៖** ``` Traditional for loop: 1. The Matrix 2. Inception 3. Interstellar For...of loop (uppercase): THE MATRIX INCEPTION INTERSTELLAR Character count: Total characters across all titles: 42 ``` ### លំហាត់ ៤៖ ការរើសតម្លៃទិន្នន័យ (កម្រិតខ្ពស់) បង្កើតកម្មវិធីមួយដែលដំណើរការអារេមួយដែលមានវត្ថុតំណាងឱ្យសិស្ស។ **តម្រូវការៈ** - បង្កើតអារេដែលមានវត្ថុសិស្សយ៉ាងហោចណាស់ 5 ដែលមានគុណលក្ខណៈៈ `name`, `age`, `grade` - ប្រើរង្វិលដើម្បីស្វែងរកសិស្សដែលមានអាយុ 18 ឆ្នាំ ឬច្រើនជាង - គណនាកម្រិតជាប់តម្រូវនៃពិន្ទុសរុបរបស់សិស្សទាំងអស់ - បង្កើតអារេថ្មីដែលមានតែសិស្សដែលមានពិន្ទុច្រើនជាង 85 តែប៉ុណ្ណោះ **រចនាសម្ព័ន្ធគំរូ៖** ```javascript const students = [ { name: "Alice", age: 17, grade: 92 }, { name: "Bob", age: 18, grade: 84 }, // បន្ថែមសិស្សបន្ថែម... ]; ``` ## ការសាកល្បងកូដរបស់អ្នក សាកល្បងកម្មវិធីរបស់អ្នកដោយ៖ 1. រត់លំហាត់នីមួយៗនៅលើកុងសូលរបស់ឧបករណ៍រុករក 2. ពិនិត្យមើលលទ្ធផលត្រូវតាមការរំពឹង 3. សាកល្បងជាមួយតម្លៃទិន្នន័យផ្សេងៗ 4. ពិនិត្យថាកូដរបស់អ្នកអាចដោះស្រាយករណីជ្រោះ (អារេ គ្មានធាតុ ឬ មានធាតុតែមួយ) បាន ## គោលការណ៍ដាក់ស្នើ បញ្ចូលអ្វីខាងក្រោមក្នុងការដាក់ស្នើរបស់អ្នក៖ - កូដ JavaScript ដែលមានមតិយោបល់លម្អិតសម្រាប់លំហាត់នីមួយៗ - រូបថតអេក្រង់ ឬ លទ្ធផលអក្សរបង្ហាញកម្មវិធីរបស់អ្នកដំណើរការ - ពណ៌នាខ្លីអំពីប្រភេទរង្វិលដែលអ្នកបានជ្រើសសម្រាប់កិច្ចការនីមួយៗ និងហេតុផល ## តារាងឥណទាន | កម្រិតគោលការណ៍ | ល្អឥតខ្ចោះ (3 ពិន្ទុ) | ល្អគ្រប់គ្រាន់ (2 ពិន្ទុ) | ត្រូវព្យាយាមបន្ត (1 ពិន្ទុ) | | -------- | -------------------- | ------------------- | --------------------------- | | **មុខងារ** | លំហាត់ទាំងអស់បញ្ចប់បានត្រឹមត្រូវ រួមមានបញ្ហាបន្ថែម | លំហាត់ទាំងអស់ដែលតម្រូវបានធ្វើត្រឹមត្រូវ | លំហាត់ខ្លះមិនបញ្ចប់ ឬមានកំហុស | | **គុណភាពកូដ** | កូដស្អាត ចំណាត់ថ្នាក់បានល្អ ជាមួយឈ្មោះអថេរពិពណ៌នា | កូដដំណើរការបាន តែអាចល្អជាងនេះ | កូដចម្លែក មិនងាយយល់ | | **មតិយោបល់** | មានមតិយោបល់ពេញលេញពន្យល់ការគិត និងការសម្រេចចិត្ត | មានមតិយោបល់មូលដ្ឋាន | មានមតិយោបល់តិច ឬគ្មានទេ | | **ប្រើរង្វិល** | បង្ហាញការយល់ដឹងល្អអំពីប្រភេទរង្វិលនានា | ប្រើរង្វិលបានត្រឹមត្រូវ ប៉ុន្តែមិនមានចំនួនបំផុត | ប្រើរង្វិលខុស ឬប្រើមិនមានប្រសិទ្ធភាព | | **ការសាកល្បង** | មានភស្តុតាងសាកល្បងបានយ៉ាងពេញលេញជាមួយសេណារីយ៉ូច្រើន | បង្ហាញការសាកល្បងមូលដ្ឋាន | មានភស្តុតាងសាកល្បងតិច | ## សំណួរពិចារណា បន្ទាប់ពីបញ្ចប់លំហាត់ សូមពិចារណា៖ 1. ប្រភេទរង្វិលណាដែលអ្នកមានអារម្មណ៍ថាធម្មតាសម្រាប់ប្រើ និងហេតុអ្វី? 2. តើយ៉ាងដូចម្តេចដែលអ្នកប្រឈមមុខពេលធ្វើការជាមួយអារេ? 3. តើជំនាញទាំងនេះអាចអនុវត្តទៅលើគំរោងអភិវឌ្ឍវិបក្នុងពិភពពិតយ៉ាងដូចម្តេច? 4. តើអ្នកនឹងធ្វើការផ្លាស់ប្តូរអ្វីខ្លះ ប្រសិនបើត្រូវបង្កើនប្រសិទ្ធភាពកូដរបស់អ្នក? --- **ការព្រមាន**៖ ឯកសារនេះត្រូវបានបំលែងភាសាដោយប្រើសេវាកម្មបំលែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំរកការពិតត្រឹមត្រូវ សូមយល់ថាការបំលែងផ្ទាល់ខ្លួនដោយម៉ាស៊ីនអាចមានកំហុសឬមិនមែនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសារបស់ខ្លួនគួរត្រូវបានគិតថាជាផ្នែកមានសុពលភាព។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំការបំលែងភាសាដោយអ្នកជំនាញមនុស្ស។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការវិវាទណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបំលែងភាសានេះឡើយ។