You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/my/2-js-basics/4-arrays-loops/assignment.md

122 lines
13 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "8abcada0534e0fb3a7556ea3c5a2a8a4",
"translation_date": "2025-10-24T16:08:21+00:00",
"source_file": "2-js-basics/4-arrays-loops/assignment.md",
"language_code": "my"
}
-->
# အရေအတွက်များနှင့် Loop များအလုပ်ပေးခြင်း
## လမ်းညွှန်ချက်များ
Array များနှင့် Loop များကို အသုံးပြုခြင်းကို လေ့ကျင့်ရန် အောက်ပါ အလုပ်ပေးချက်များကို ပြီးမြောက်ပါ။ အလုပ်ပေးချက်တစ်ခုစီသည် သင်ခန်းစာမှ အယူအဆများကို အခြေခံပြီး Loop အမျိုးအစားများနှင့် Array Method များကို အသုံးပြုရန် အားပေးသည်။
### အလုပ်ပေးချက် ၁: အရေအတွက် Pattern Generator
1-20 အတွင်းရှိ 3 ခုခြားသော အရေအတွက်များကို စာရင်းပြုစုပြီး console တွင် print လုပ်ပါ။
**လိုအပ်ချက်များ:**
- Custom increment ဖြင့် `for` loop ကို အသုံးပြုပါ
- အသုံးပြုသူအတွက် အဆင်ပြေသော ပုံစံဖြင့် အရေအတွက်များကို ပြပါ
- သင်၏ logic ကို ရှင်းလင်းသော မှတ်ချက်များဖြင့် ထည့်သွင်းရှင်းပြပါ
**မျှော်မှန်းထားသော Output:**
```
3, 6, 9, 12, 15, 18
```
> **Tip:** သင်၏ for loop တွင် iteration-expression ကို ပြောင်းလဲပြီး အရေအတွက်များကို ကျော်ပါ။
### အလုပ်ပေးချက် ၂: Array Analysis
အနည်းဆုံး 8 ခုသော အရေအတွက်များပါဝင်သော array တစ်ခုကို ဖန်တီးပြီး ဒေတာကို ခွဲခြမ်းစိတ်ဖြာရန် function များရေးပါ။
**လိုအပ်ချက်များ:**
- အနည်းဆုံး 8 ခုသော value များပါဝင်သော `numbers` ဟုခေါ်သော array ကို ဖန်တီးပါ
- အမြင့်ဆုံးအရေအတွက်ကို ပြန်ပေးသော `findMaximum()` function ကိုရေးပါ
- အနိမ့်ဆုံးအရေအတွက်ကို ပြန်ပေးသော `findMinimum()` function ကိုရေးပါ
- အရေအတွက်အားလုံး၏ စုစုပေါင်းကို ပြန်ပေးသော `calculateSum()` function ကိုရေးပါ
- Function တစ်ခုစီကို စမ်းသပ်ပြီး ရလဒ်များကို ပြပါ
**အပိုအလုပ်ပေးချက်:** Array တွင် ဒုတိယအမြင့်ဆုံးအရေအတွက်ကို ရှာဖွေသော function တစ်ခုကို ဖန်တီးပါ။
### အလုပ်ပေးချက် ၃: String Array Processing
သင်နှစ်သက်သော ရုပ်ရှင်/စာအုပ်/သီချင်းများ၏ array တစ်ခုကို ဖန်တီးပြီး Loop အမျိုးအစားများကို လေ့ကျင့်ပါ။
**လိုအပ်ချက်များ:**
- အနည်းဆုံး string value 5 ခုပါဝင်သော array တစ်ခုကို ဖန်တီးပါ
- အရေအတွက်များနှင့်အတူ item များကို ပြသရန် traditional `for` loop ကို အသုံးပြုပါ (1. Item Name)
- Item များကို uppercase ဖြင့် ပြရန် `for...of` loop ကို အသုံးပြုပါ
- စုစုပေါင်း character အရေအတွက်ကို ရှာဖွေပြီး ပြရန် `forEach()` method ကို အသုံးပြုပါ
**ဥပမာ Output:**
```
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
```
### အလုပ်ပေးချက် ၄: ဒေတာကို စစ်ထုတ်ခြင်း (အဆင့်မြင့်)
ကျောင်းသားများကို ကိုယ်စားပြုသော object များပါဝင်သော array တစ်ခုကို လုပ်ဆောင်သော program တစ်ခုကို ဖန်တီးပါ။
**လိုအပ်ချက်များ:**
- `name`, `age`, `grade` properties ပါဝင်သော ကျောင်းသား object 5 ခုအနည်းဆုံးပါဝင်သော array တစ်ခုကို ဖန်တီးပါ
- အသက် 18 နှင့်အထက်ရှိသော ကျောင်းသားများကို ရှာဖွေရန် loop များကို အသုံးပြုပါ
- ကျောင်းသားအားလုံး၏ အလယ်အလတ် grade ကိုတွက်ချက်ပါ
- grade 85 အထက်ရှိသော ကျောင်းသားများကိုသာ ပါဝင်သော array အသစ်တစ်ခုကို ဖန်တီးပါ
**ဥပမာ ဖွဲ့စည်းမှု:**
```javascript
const students = [
{ name: "Alice", age: 17, grade: 92 },
{ name: "Bob", age: 18, grade: 84 },
// Add more students...
];
```
## သင်၏ Code ကို စမ်းသပ်ခြင်း
သင်၏ program များကို စမ်းသပ်ရန်:
1. Browser console တွင် အလုပ်ပေးချက်တစ်ခုစီကို run လုပ်ပါ
2. Output များသည် မျှော်မှန်းထားသော ရလဒ်များနှင့် ကိုက်ညီကြောင်း အတည်ပြုပါ
3. ဒေတာအမျိုးမျိုးဖြင့် စမ်းသပ်ပါ
4. Edge case များ (empty arrays, single elements) ကို handle လုပ်နိုင်ကြောင်း စစ်ဆေးပါ
## တင်သွင်းရန် လမ်းညွှန်ချက်များ
အောက်ပါအရာများကို သင်၏ တင်သွင်းမှုတွင် ထည့်သွင်းပါ:
- အလုပ်ပေးချက်တစ်ခုစီအတွက် မှတ်ချက်များပါဝင်သော JavaScript code
- သင်၏ program များကို run လုပ်နေသော Screenshots သို့မဟုတ် text output
- တစ်ခုချင်းစီအတွက် သင်ရွေးချယ်သော loop အမျိုးအစားနှင့် အကြောင်းပြချက်အတိုချုံး
## အဆင့်သတ်မှတ်ချက်
| အချက်အလက် | ထူးချွန် (၃ မှတ်) | လုံလောက် (၂ မှတ်) | တိုးတက်မှုလိုအပ် (၁ မှတ်) |
| -------- | -------------------- | ------------------- | --------------------------- |
| **Functionality** | အလုပ်ပေးချက်အားလုံးကို bonus challenge များနှင့်အတူ ပြီးမြောက်စွာလုပ်ဆောင်ထားသည် | လိုအပ်သော အလုပ်ပေးချက်အားလုံးကို မှန်ကန်စွာလုပ်ဆောင်ထားသည် | အချို့သော အလုပ်ပေးချက်များ မပြီးမြောက်သို့မဟုတ် error များပါဝင်သည် |
| **Code Quality** | သန့်ရှင်းပြီး စီမံထားသော code နှင့် ရှင်းလင်းသော variable name များ | Code သည် အလုပ်လုပ်သော်လည်း ပိုမိုသန့်ရှင်းစေရန်လိုအပ်သည် | Code သည် ရှုပ်ထွေးပြီး နားလည်ရန်ခက်ခဲသည် |
| **Comments** | Logic နှင့် ဆုံးဖြတ်ချက်များကို ရှင်းလင်းသော မှတ်ချက်များဖြင့် ရှင်းပြထားသည် | အခြေခံမှတ်ချက်များ ပါဝင်သည် | မှတ်ချက်များ အနည်းငယ် သို့မဟုတ် မပါဝင်ပါ |
| **Loop Usage** | Loop အမျိုးအစားများကို သင့်တော်စွာ အသုံးပြုထားသည် | Loop များကို မှန်ကန်စွာ အသုံးပြုထားသော်လည်း အမျိုးအစားကန့်သတ်ထားသည် | Loop များကို မှားယွင်းစွာ သို့မဟုတ် မထိရောက်စွာ အသုံးပြုထားသည် |
| **Testing** | အခြေအနေများစွာဖြင့် စမ်းသပ်မှု၏ သက်သေရှိသည် | အခြေခံစမ်းသပ်မှုကို ပြသထားသည် | စမ်းသပ်မှု၏ သက်သေ အနည်းငယ် သို့မဟုတ် မပါဝင်ပါ |
## အတွေးအမြင်မေးခွန်းများ
အလုပ်ပေးချက်များကို ပြီးမြောက်ပြီးနောက်တွင် စဉ်းစားရန်:
1. Loop အမျိုးအစားများထဲမှ သဘာဝကျသောအမျိုးအစားသည် ဘာဖြစ်ပြီး အဘယ်ကြောင့်ဖြစ်သနည်း?
2. Array များနှင့် အလုပ်လုပ်ရာတွင် ဘာအခက်အခဲများ ရှိခဲ့သနည်း?
3. ဒီကျွမ်းကျင်မှုများသည် အမှန်တကယ် Web Development ပရောဂျက်များတွင် ဘယ်လိုအသုံးဝင်နိုင်မလဲ?
4. Performance အတွက် သင်၏ code ကို အကောင်းဆုံးလုပ်ဆောင်ရန် ပြန်လည်ပြင်ဆင်ရမည်ဆိုပါက ဘာတွေကို ကွဲပြားစွာလုပ်ဆောင်မည်လဲ?
---
**အကြောင်းကြားချက်**:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။