Thuta Learning
ရှာဖွေရန်
ExercisesProgrammingbeginner

Exercises: Basics Warm-up

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Exercises: Basics Warm-up ကို ကိုယ်တိုင် လေ့ကျင့်ကြည့်မယ်
  • သင်ခဲ့ပြီးသား skill တွေကို practice လုပ်ပြီး ခိုင်မာအောင်လုပ်မယ်
  • အမှားရှာ၊ ပြင်တတ်၊ ကိုယ်တိုင် check လုပ်တတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

ဒီ lesson က teaching content အသစ် မဟုတ်ဘဲ, Basic chapter မှာ သင်ခဲ့တဲ့ variable, datatype, operator, if-else, loop, array, string topic တွေကို ကိုယ်တိုင် code ရေးပြီး practice လုပ်ဖို့ task set တစ်ခုပါ။ Task တစ်ခုချင်းစီကို ကိုယ်တိုင် Google မသုံးဘဲ ကြိုးစားရေးကြည့်ပါ - error တက်ရင်တောင် debug လုပ်တာကိုက learning process ရဲ့ တစ်စိတ်တစ်ပိုင်းပါ။ ပြီးမှ code block ထဲက reference solution ကို ကိုယ့် solution နဲ့ ယှဉ်ကြည့်ပါ။

လေ့ကျင့်ခန်းများ

Task 1: integer 5 ခုကို array ထဲသိမ်းပြီး loop နဲ့ sum နဲ့ average ကို calculate လုပ်ပါ။ Task 2: user ဆီက age integer တစ်ခု ဖတ်ပြီး if-else နဲ့ "Minor", "Adult", "Senior" (18 အောက်, 18-59, 60 အထက်) ဆိုပြီး classify လုပ်ပါ။ Task 3: string တစ်ခုကို user ဆီက ဖတ်ပြီး loop နဲ့ character အရေအတွက် (length) ကို manual count လုပ်ပါ - .length() function မသုံးပါနဲ့။ Task 4: 1 ကနေ 50 အထိ ဂဏန်းတွေထဲက even number တွေကိုပဲ for loop နဲ့ print ထုတ်ပါ။

Code နမူနာ

cpp
#include <iostream>
#include <string>
using namespace std;

int main() {
    // Task 1: sum & average
    int nums[5] = {4, 8, 15, 16, 23};
    int sum = 0;
    for (int i = 0; i < 5; i++) sum += nums[i];
    cout << "Sum: " << sum << ", Average: " << (double)sum / 5 << "\n";

    // Task 2: age classify
    int age;
    cout << "Enter age: ";
    cin >> age;
    if (age < 18) cout << "Minor\n";
    else if (age < 60) cout << "Adult\n";
    else cout << "Senior\n";

    // Task 3: manual string length
    string text;
    cout << "Enter text: ";
    cin >> text;
    int count = 0;
    for (char c : text) count++;
    cout << "Length: " << count << "\n";

    // Task 4: even numbers 1-50
    for (int i = 1; i <= 50; i++) {
        if (i % 2 == 0) cout << i << " ";
    }
    cout << "\n";

    return 0;
}
You should see
Task 4 ကို run ရင် 2 4 6 8 ... 50 အထိ even number တွေကို space နဲ့ ခွဲပြီး တစ်ကြောင်းတည်း print ထွက်လာသင့်ပါတယ်။

၅ မိနစ် စမ်းကြည့်

Timer 5 မိနစ် set လုပ်ပြီး Task 1 ကနေ Task 4 အထိ code ကို ကိုယ်တိုင် ဘာ reference မှမကြည့်ဘဲ ရေးကြည့်ပါ - ပြီးမှ အထက်က code နဲ့ compare လုပ်ပါ။

သတိလေးတစ်ချက်

Integer division ကြောင့် (double)sum / 5 လို cast မလုပ်ရင် average ရလဒ် အမြဲတမ်း integer round ဖြစ်နေမှာမို့ ဒီအချက်ကို သတိထားပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Task 1 မှာ sum ကို int ဖြင့်ပဲ divide လုပ်ပြီး, integer division ကြောင့် average ရလဒ် ဒဿမ မပါဘဲ round off ဖြစ်သွားတာ
  • Task 2 မှာ else if ကို boundary value (18, 60) အတိအကျ စစ်မထားပဲ < / <= ရောသုံးမိပြီး edge case မှားတတ်တာ

အခု ကိုယ်တိုင် စမ်းကြည့်

Timer 5 မိနစ် set လုပ်ပြီး Task 1 ကနေ Task 4 အထိ code ကို ကိုယ်တိုင် ဘာ reference မှမကြည့်ဘဲ ရေးကြည့်ပါ - ပြီးမှ အထက်က code နဲ့ compare လုပ်ပါ။

You'll know it worked when: Task 4 ကို run ရင် 2 4 6 8 ... 50 အထိ even number တွေကို space နဲ့ ခွဲပြီး တစ်ကြောင်းတည်း print ထွက်လာသင့်ပါတယ်။

Exercises: Basics Warm-up | Thuta Learning