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

Practice Exercises - Set 1 (Basics)

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

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

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

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

ဒီ lesson မှာ tutorial ရဲ့ Basic chapter ထဲက basic types, functions, interfaces ဆိုင်ရာ knowledge ကို တိုက်ရိုက် ကိုယ်တိုင် ရေးကျင့်ကြည့်ဖို့ practice task များ ပေးထားပါတယ်။ Concept အသစ် သင်ကြားခြင်း မဟုတ်ဘဲ ယခင်သင်ခန်းစာများမှ သင်ယူခဲ့သော syntax များကို memory ထဲ ခိုင်မာစေဖို့ ရည်ရွယ်ပါတယ်။ Task တစ်ခုစီကို ကိုယ်တိုင် TypeScript file တစ်ခုဖွင့်ပြီး ရေးကြည့်ကာ, compiler error တက်လာလျှင် error message ကို သေချာဖတ်ပြီး ဘာကြောင့် error တက်လဲဆိုတာ စဉ်းစားကြည့်ပါ။ Type annotation များကို လက်ဖြင့် ကိုယ်တိုင်ရေးကျင့်ခြင်းက အကောင်းဆုံး သင်ယူနည်း ဖြစ်ပါတယ်။

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

Task 1: celsiusToFahrenheit(celsius: number): number ဆိုတဲ့ function ကို ရေးပြီး formula (celsius * 9/5) + 32 ဖြင့် implement လုပ်ပါ။ Task 2: Book ဆိုတဲ့ interface တစ်ခုကို title: string, author: string, year: number, isAvailable: boolean field များဖြင့် ဖန်တီးပြီး, Book type object သုံးခုပါဝင်တဲ့ array တစ်ခု ဖန်တီးပါ။ Task 3: getAvailableBooks(books: Book[]): string[] ဆိုတဲ့ function ကို ရေးပြီး isAvailable: true ဖြစ်သော book များ၏ title များကိုသာ array အနေဖြင့် ပြန်ပေးအောင် filter() နှင့် map() ကို ပေါင်းစပ်အသုံးပြုပါ။

Code နမူနာ

typescript
// Task 1
function celsiusToFahrenheit(celsius: number): number {
  // TODO: implement
  return 0;
}

// Task 2
interface Book {
  title: string;
  author: string;
  year: number;
  isAvailable: boolean;
}

const books: Book[] = [
  // TODO: add 3 book objects
];

// Task 3
function getAvailableBooks(books: Book[]): string[] {
  // TODO: implement using filter() + map()
  return [];
}

console.log(celsiusToFahrenheit(100));
console.log(getAvailableBooks(books));
You should see
celsiusToFahrenheit(100) က 212 ကို ပြန်ပေးပြီး, getAvailableBooks(books) က isAvailable true ဖြစ်သော book title များ array အနေဖြင့် ပြသပေးမည်။

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

Task 3 ကို ပြီးဆုံးပြီးနောက် getBooksByAuthor(books: Book[], author: string): Book[] ဆိုတဲ့ function တစ်ခု ထပ်ရေးပြီး author name ဖြင့် book များကို filter လုပ်ကြည့်ပါ (5 minutes အတွင်း try it yourself)။

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

TODO placeholder value (return 0; return [];) များကို ဖြေဆိုပြီးမှသာ ဖျက်ပါ - အလွတ်ချန်ထားလျှင် compiler error များ တက်နိုင်ပါသည်။

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

  • function ရဲ့ return type annotation ကို ချန်ခဲ့ပြီး implicit any ဖြစ်သွားကြောင်း သတိမထားမိခြင်း
  • filter() ပြီးနောက် map() ခေါ်ရန် လိုအပ်ကြောင်း မသိဘဲ filter() တစ်ခုတည်းနှင့် title string array ကို တိုက်ရိုက်ရမည်ဟု ထင်မှတ်ခြင်း

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

Task 3 ကို ပြီးဆုံးပြီးနောက် getBooksByAuthor(books: Book[], author: string): Book[] ဆိုတဲ့ function တစ်ခု ထပ်ရေးပြီး author name ဖြင့် book များကို filter လုပ်ကြည့်ပါ (5 minutes အတွင်း try it yourself)။

You'll know it worked when: celsiusToFahrenheit(100) က 212 ကို ပြန်ပေးပြီး, getAvailableBooks(books) က isAvailable true ဖြစ်သော book title များ array အနေဖြင့် ပြသပေးမည်။

Practice Exercises - Set 1 (Basics) | Thuta Learning