# my/01fktUkl0vx8.xml.gz
# sr/01fktUkl0vx8.xml.gz


(src)="1"> ကၽြန္ေတာ္တို႔ ၆၅ ကို ၁ ႀကိမ္ေႁမွာက္ရမွာျဖစ္ပါတယ္ ။ တိတိက်က်ဆို ကၽြန္ေတာ္တို႔ ၆၅ ကိုေႁမွာက္ရမွာျဖစ္ပါတယ္ -- ကၽြန္ေတာ္တို႔ ဒီလိုမ်ိဳး အေႁမွာက္သေကၤတနဲ႕ေရးႏိုင္သလို အစက္ကေလးပဲ ေရးႏိုင္ပါတယ္ ။ ဒီလိုမ်ိဳးပါ ။ ဒါေပမဲ့ ဒါဟာ ၆၅ ၊ ၁ ႀကိမ္လိုဆိုလိုပါတယ္ ။ ၿပီးေတာ့ ဒါကိုႏွစ္မ်ိဳး အဓိပၸာယ္ေကာက္လို႔ရပါတယ္ ။ ဒါကို နံပါတ္ ၆၅ တစ္ႀကိမ္လို႔ျမင္ႏိုင္ပါတယ္ ။ ဒါမွမဟုတ္ နံပါတ္ ၁ ၊ ေျခာက္ဆယ့္ငါးႀကိမ္လို႔ ျမင္ႏိုင္ပါတယ္ ။ အကုန္ေပါင္းထားတာပါ ။ ဒါေပမဲ့ ဘယ္နည္းျဖစ္ျဖစ္ ၆၅ ၊ ၁ ႀကိမ္ရိွမယ္ဆိုရင္ ၆၅ ပဲျဖစ္ေနမွာ ျဖစ္ပါတယ္ ။ ဘယ္အရာမဆို ၁ ႀကိမ္ဆိုရင္ ဘာပဲျဖစ္ျဖစ္ ဒါပဲျပန္ျဖစ္မွာ ျဖစ္ပါတယ္ ။ ဘယ္အရာမဆို ၁ ႀကိမ္ျဖစ္ေနရင္ တူညီတဲ့ အရာပဲ ျပန္ျဖစ္မွာျဖစ္ပါတယ္ ။ အကယ္ ၍ ဒီေနရာမွာ မသိကိန္းတစ္လံုး ၁ ႀကိမ္ရိွၿပီး ဒီေနရာမွာ အေႁမွာက္လကၡဏာကို သံုးႏိုင္ပါတယ္ ။ ဒီဟာက တူညီတဲ့ မသိကိန္းပဲ ျပန္ျဖစ္မွာပါ ။ . ကၽြန္ေတာ္တို႔ နံပါတ္ ၃ ၊ ၁ႀကိမ္ ျဖစ္မယ္ဆိုရင္ ။ ကၽြန္ေတာ္တို႔ ၃ ပဲျပန္ရမွာပါ ။ ကၽြန္ေတာ္တို႔ နံပါတ္ ၅ ၊ ၁ႀကိမ္ ျဖစ္မယ္ဆိုရင္ ။ ကၽြန္ေတာ္တို႔ ၅ ပဲျပန္ရမွာပါ ။ ဘာျဖစ္လို႔လဲဆိုေတာ့ ဒီဟာက ၅ တစ္ႀကိမ္လို႔ပဲ အဓိပၸယ္ထြက္ေနလို႔ျဖစ္ပါတယ္ ။ ကၽြန္ေတာ္တို႔ ၁၅၇ ကို ၁ႀကိမ္ဆိုရင္ ၁၅၇ ပဲရမွာျဖစ္ပါတယ္ ဒီဟာကို သင္နားလည္ၿပီလို႔ ကၽြန္ေတာ္ထင္ပါတယ္ ။ .
(trg)="1"> Од нас се тражи да помножимо 65 пута 1 .
(trg)="2"> Буквално треба само да помножимо 65 , а можемо употребити овај знак множења или можемо написати тачку овако , али то свакако значи 65 пута 1 .
(trg)="3"> И постоје два начина да се ово реши .

# my/0IipDVlgwp7u.xml.gz
# sr/0IipDVlgwp7u.xml.gz


(src)="1"> ( လက်ခုပ်သံများ )
(trg)="1"> ( Aplauz )

(src)="2"> ( ဂီတသံ ) ( လက်ခုပ်သံများ )
(trg)="2"> ( Muzika ) ( Aplauz )

# my/0OgC0yE66kGw.xml.gz
# sr/0OgC0yE66kGw.xml.gz


(src)="1"> အရင္ ဗီြဒီယိုေတြတုန္းက ပ႐ိုဂရမ္ေကာင္းေလးေတြကို ကၽြန္ေတာ္တို႔တို႔ ဒီမွာ ေရးခဲ့ၿပီးၿပီ အသံုးျပဳသူေတြကို input အမ်ဳိးအစားတခ်ဳိ႕ကိုေမးၿပီး အဲဒီဂဏန္းရဲ႕ ေအာက္မွာရွိတဲ့ကိန္းအားလံုးရဲ႕ ေျမႇာက္လဒ္ကို တြက္ခုိင္းခဲ့တယ္ ၿပီးေတာ့ ဒါကို ထုတ္ေပးခုိင္းတယ္ အဲဒါက ေကာင္းေပမယ့္ ဒီမွာ ခင္ဗ်ား စကားလံုးတစ္ခုကို ေတြးၾကည့္သင့္တယ္ အဲဒီစကားလံုးကို ဘယ္ေနရာေတြမွာ ေျမႇာက္ေဖာ္ကိန္းအျဖစ္တြက္မယ္ ၊ ဒါမွမဟုတ္ ဘယ္ပ႐ိုဂရမ္ေတြမွာ တြက္မယ္ဆိုတာနဲ႔ ပ႐ိုဂရမ္တစ္ခုထဲမွာ တြက္မလားဆိုတာေတြကိုပါ ထည့္စဥ္းစားေပးရမယ္ ၿပီးေတာ့ အဲဒီ code ကို မင္းေျမႇာက္ေဖာ္ကိန္းေတြရွာတုိင္း ထပ္ရိုက္ခ်င္မွာမဟုတ္ဘူး ဒါေၾကာင့္ ဒီဗြီဒီယိုမွာဆိုရင္ ေျမႇာက္ေဖာ္ကိန္းကို တြက္ျပထားတဲ့ function နဲ႔ ငါတို႔ေျမႇာက္ေဖာ္ကိန္းကို ရွာခ်င္တုိင္း အၿမဲအသံုးျပဳလို႔တဲ့ function ကုိ ေရးျပထားပါတယ္ ဒါဆိုရင္ ဒီ function မွာ ဘာေတြလုပ္ထားသလဲဆိုေတာ့ code ေတြအားလံုးကို ေနရာခ်ထားမယ္ အဲဒီ code ေတြအားလံုးကေတာ့ ဒီမွာပါ အဲဒီ code ေတြကို ဒီ function မွာ ေနရာခ်ထားၿပီးေတာ့ ကၽြန္ေတာ္တို႔ေျမႇာက္ေဖာ္ကိန္းတြက္ခ်င္တဲ့ အျခား function ေတြမွာလည္း ကၽြန္ေတာ္တို႔ ဒီ code ကို ျပန္ေခၚသံုးလို႔ရပါတယ္ ကၽြန္ေတာ္ဒါကို ျပန္ေရးဖို႔ မလိုဘူး ကဲ ဒါဆိုရင္ ခင္ဗ်ားကို ကၽြန္ေတာ္ေျပာေနတဲ့ အေၾကာင္းေတြက ဘာလဲဆိုတာ ၾကည့္ၾကစို႔ ကၽြန္ေတာ္က function တစ္ခုကို သတ္မွတ္လုိက္မယ္ အဲဒီ function ထဲမွာဆိုရင္ ထူးျခားတဲ့ အေၾကာင္းအရာေတြကို ေဖာ္ျပႏိုင္တဲ့ Python ရဲ႕ keyword ေလးေတြကို သံုးထားတယ္
(trg)="1"> U poslednjih par snimaka smo ovde napisali lep , mali program koji korisnika pita za neki ulaz i onda izračunava faktorijel tog broja i zatim ga prikazuje .
(trg)="2"> I to je lepo , ali mogli biste da zamislite svet u kome biste želeli da računate faktorijel na više mesta ili u više različitih programa ili biste želeli da u istom programu računate faktorijel više puta .
(trg)="3"> I ne želite da pišete ovaj kod iznova i iznova svaki put kada želite da izračunate faktorijel .

(src)="2"> Python မွာ function တစ္ခုကို သတ္မွတ္မယ္ဆိုရင္ " def " ဆိုတဲ့ keyword ကို သံုးရပါမယ္ ကၽြန္ေတာ္က function တစ္ခုကို သတ္မွတ္မွာျဖစ္တဲ့အတြက္ အဲဒီ keyword ေလးကို ေရးရပါမယ္ ၿပီးေတာ့ ဒါက အရာ၀တၳဳေတြ ဘာလုပ္တယ္ဆိုတာ ၫႊန္ျပေပးႏိုင္တဲ့ စိတ္ကူးေလးတစ္ခု ျဖစ္ပါတယ္ တစ္ခါတရံမွာ program စေရးတဲ့သူေတြမွာ ျဖစ္တတ္တာက
(trg)="9"> Ključna reč u Python- u za definisanje funkcije je " def " .
(trg)="10"> Dakle , definisaću funkciju , nazvaću je faktorijel funkcija .
(trg)="11"> I inače je dobra ideja da nazovete stvari kao naznaku na to šta one zapravo rade .

(src)="3"> " x 245 " လို နာမည္ေပးတာေတြ ျဖစ္ပါတယ္ ၿပီးေတာ့ တခ်ဳိ႕သူေတြက ဘယ္ variable ကို သံုးရမယ္ ၊ ဘယ္ function ကို သံုးရမယ္ဆိုတာေတြကို မသိၾကပါဘူး ဒါေၾကာင့္ ခင္ဗ်ားနာမည္ေပးတဲ့အခါမွာ ခင္ဗ်ားဘာလုပ္မယ္ဆိုတာကို ျပႏုိင္မယ့္ နာမည္ကိုေပးသင့္တယ္ ကၽြန္ေတာ့္ရဲ႕ function ကေတာ့ factorial လို႔ ေခၚပါတယ္ ၿပီးေတာ့အသံုးျပဳသူေတြက factorial လို႔ ေခၚလုိက္တဲ့အခ်ိန္မွာ ဘယ္ဂဏန္းရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို ယူရမလဲဆိုတာ ေျပာရပါမယ္ ဒါေၾကာင့္ အဲဒီဂဏန္းကို " number " အျဖစ္ ေၾကညာေပးရပါမယ္ အဲဒီစကားလံုးေတြက နည္းနည္းရႈပ္ေနမယ္ဆိုရင္ ကၽြန္ေတာ္ ခင္ဗ်ားကို စကၠန္႔အနည္းငယ္မွာ ရွင္းျပပါမယ္ ဒါေပမဲ့ ခင္ဗ်ားျမင္ရတဲ့အရာေတြထက ခင္ဗ်ားပိုၿပီး ေမွ်ာ္လင့္ႏုိင္ပါတယ္ ဒီစိတ္ကူးေတြနဲ႔ပိုၿပီး ရင္းႏွီးလာရင္ေပါ့ ဒါေၾကာင့္ သူတို႔က ဂဏန္းေတြကို " number " အျဖစ္ ေၾကညာလုိက္တယ္ ၿပီးေတာ့ ကၽြန္ေတာ္က program ေတြကို ျပန္ေခၚေပးရမယ္ အသံုးျပဳသူေတြ ဂဏန္းေတြကို pass လုပ္ရမယ္လို ကၽြန္ေတာ္မေျပာခဲ့ရဘူး program ကို ေခၚတယ္ဆိုတာ ဂဏန္းေတြ pass လုပ္ဖို႔ပါ ၿပီးေတာ့ ပ႐ိုဂရမ္ေတြကို ေခၚဖို႔အတြက္ အဲဒီဂဏန္းရဲ႕ ေျမႇာက္ေဖာ္ကိန္းေတြဆီကို ျပန္သြားရေအာင္ ဒါဆို အဲဒါကို မွတ္ခ်က္အေနနဲ႔ ကၽြန္ေတာ္ေရးလုိက္မယ္
(trg)="12"> Ponekad programeri početnici imaju običaj da nazivaju stvari poput " x245 " i neko ko kasnije dođe neće imati predstavu šta ta promenljiva ili ta funkcija predstavlja .
(trg)="13"> Znači , definitivno dajte neki naziv koji daje ideju o tome šta bi to trebalo da radi .
(trg)="14"> Moja funkcija se zove factorial ( prevod : faktorijel ) i kada korisnik zove factorial , treba da kaže funkciji factorial od kog broja treba da napravim faktorijel .

(src)="4"> " number " ဆိုတဲ့ arugment ရဲ႕ function ကို return ျပန္ရမယ္ ၿပီးေတာ့ တစ္ခါတေလမွာ " parameter " ဒါမွမဟုတ္ " argument " ဆိုတဲ့စကားလံုးကို ခင္ဗ်ားၾကားလိမ့္မယ္ ခင္ဗ်ား function တစ္ခုရဲ႕ အဓိပၸါယ္ကို ျပဳလုပ္တာကို " parameter " လို႔ေခၚၿပီး
(trg)="19"> Dakle , vraća faktorijel argumenta " number " .
(trg)="20"> I ponekad ćete čuti reč parametar a ponekad ćete čuti reč argument .
(trg)="21"> Kada pravite definiciju funkcije , ovo se formalnije zove parametar .

(src)="5"> " number " ဆုိတာ factorial function ရဲ႕ parameter ေတြထဲက တစ္ခုျဖစ္ပါတယ္ တစ္စံုတစ္ေယာက္က " number " တစ္ခုကို pass လုပ္လုိက္တယ္ ၊ ၿပီးေတာ့ အဲဒီ number ကို " 3 " လို႔ ထားလုိက္ပါ ပိုနည္းစနစ္က်က် ေျပာရမယ္ဆိုရင္ " 3 " က " argument " ျဖစ္သင့္ပါတယ္ ဒါဆိုရင္ " number " ဆိုတဲ့ argument ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို return ျပန္ရမယ္ ဒီမွာရွိတာကေတာ့ number ဆိုတဲ့ argument ပါ ၿပီးေတာ့ အဲဒီ number ကို ေပးခ်င္သလို မေပးရပါဘူး ကၽြန္ေတာ္ေျပာေနတဲ့ number က တိက်မွန္ကန္ပါတယ္ ကၽြန္ေတာ္က number ကို argument လို႔ ေျပာခ်င္ေျပာမယ္ argument ျဖစ္ေၾကာင္း ရွင္းလင္းေအာင္ အဆိုျပဳခ်က္ေလးေတြနဲ႔ ေျပာခ်င္ေျပာမယ္ ကၽြန္ေတာ္ေျပာေနတာ general number ( ေယဘုယ်ကိန္း ) ေတြ အေၾကာင္း မဟုတ္ပါဘူး ဒါကို ၾကည့္ၾကစို႔ ကၽြန္ေတာ္တို႔က တူညီတဲ့ code ေတြကို သံုးမွာျဖစ္တဲ့အတြက္ အဲဒီ code ေတြကို copy လုပ္ၿပီး ျပန္ paste လုပ္ႏုိင္တယ္ ၿပီးေတာ့ ကၽြန္ေတာ္ ဒီကယူထားတဲ့ ဟာေတြကိုလည္း copy လုပ္ၿပီး paste လုပ္ႏုိင္တယ္ ဒါဆိုရင္ ကၽြန္ေတာ္က ဒါကို cut လုပ္ၿပီးေတာ့ ျပန္ေရးခ်င္တဲ့ေနရာမွာ paste လုပ္ႏုိင္တယ္ ဒါေပမဲ့ စာေရးသားပံုေတြကိုေတာ့ ဂ႐ုစိုက္ဖို႔လိုပါတယ္ ဘာေၾကာင့္လဲဆိုေတာ့ စာေရးသားပံုေတြက Python မွာဆိုရင္ ဘယ္ဟာရဲ႕ ဘယ္အပုိင္းကို ေဖာ္ျပတယ္ဆိုတာ သိသာေစၿပီး အရာ၀တၳဳေတြကို ဘယ္လိုေဖာ္ျပရမလဲ ဆိုတာကိုလည္း သိေစပါတယ္ ဒါေၾကာင့္ ဒီ function definition ရဲ႕ အစိတ္အပိုင္းအားလံုးဟာ စာေရးသားပံုမွန္ကန္ရမယ္ ၿပီးေတာ့ space ( ၄ ) ခုခ်ၿပီး ေရးရမယ္ တစ္ ၊ ႏွစ္ ၊ သံုး ၊ ေလး ဆိုၿပီးေတာ့ေပါ့ ၿပီးေတာ့ ဒါကေတာ့ ေနာက္ထပ္ေလးခု ျဖစ္ပါတယ္ အဲဒီမွာလည္း တစ္ ၊ ႏွစ္ ၊ သံုးေလး ဆိုၿပီး ခြဲေရးရပါမယ္ ၿပီးေတာ့ ဒါက for- loop ရဲ႕ အစိတ္အပုိင္းတစ္ခု ျဖစ္ပါမယ္ ဒီမွာလည္း တစ္ ၊ ႏွစ္ ၊ သံုး ၊ ေလးဆိုၿပီး space ( ၄ ) ေနရာခ်န္ၿပီး ေရးရပါမယ္ ကၽြန္ေတာ္တို႔ ဘယ္ေလာက္ေရာက္ခဲ့ၿပီဆိုတာ ျပန္ေတြးၾကည့္ၾကစို႔ ဒါကေတာ့ number အခ်ဳိ႕ကို pass လုပ္ေနတာပါ ကၽြန္ေတာ္တို႔ ဒီ variable ေလးကို " product = 1 " လို႔ သတ္မွတ္လုိက္မယ္ ၿပီးေတာ့ variable ေတြကို scoping လုပ္တာကို ေဆြးေႏြးၾကရေအာင္ ဒါေပမဲ့ variable ကို factorial definition မွာပဲ သံုးမွာပါ ဘာေၾကာင့္လဲဆုိေတာ့ ကၽြန္ေတာ္ ဒါကို အစတုန္းက ဒီေနရာမွာ သတ္မွတ္ခဲ့လို႔ပါပဲ ၿပီးေတာ့ ဒီေနရာရဲ႕ အတြင္းဘက္မွာ ရွိတယ္ ဒါဆိုရင္ အနာဂတ္မွာ variable ေတြကို scoping လုပ္ျခင္းကို ကၽြန္ေတာ္တို႔ ပိုျပဳလုပ္ႏုိင္ပါတယ္ ၿပီးေတာ့ ကၽြန္ေတာ္တို႔ အရင္တုန္းကလုပ္ခဲ့တဲ့ logic ေတြအတုိင္း
(trg)="22"> " Number " je jedan od parametara factorial funkcije .
(trg)="23"> Pravi broj koji neko drugi prosleđuje do nje , znači recimo da neko ovde pozove factorial sa 3 , onda bi formalnije taj broj 3 bio argument .
(trg)="24"> Dakle , vraća faktorijel argumenta " number " .

(src)="6"> " for i in range ( number ) " ဆိုတဲ့ စာေၾကာင္းေလးမွာ အခုဆိုရင္ ကၽြန္ေတာ္တို႔က input function ေတြကို သံုးၿပီး ဂဏန္းေတြကို မေရးေသးပါဘူး function စီကို pass လုပ္ေပးလုိက္႐ံုပါပဲ ၿပီးေတာ့ " product " ဟာ " product " x ( " i " + 1 ) နဲ႔ ညီတယ္ ကၽြန္ေတာ္တို႔ အရင္ကလုပ္ခဲ့တဲ့ logic အတုိင္းပါပဲ ဒါေၾကာင့္ ခင္ဗ်ား for- loop ကို ေရးၿပီးသြားတဲ့အခါ ဒါကို " number " အႀကိမ္ထိ လုပ္မယ္လို႔ ဆိုလိုတာပါ
(trg)="41"> I onda , uz istu logiku koju smo koristili ranije ,
(trg)="42"> * " for i in range ( number ) " * , sada ne dobijamo number korišćenjem input funkcije već on samo biva prosleđen funkciji , onda product je jednako * product × ( i + 1 ) * .
(trg)="43"> Ista logika koju smo imali ranije .

(src)="7"> " product " ဟာ " number " ေတြရဲ႕ functional ထဲမွာ ရွိေနမွာပါ ၿပီးေတာ့ ဒါကို တိုက္႐ိုက္ output ထုတ္ေပးမယ့္အစား return လုပ္ေပးခ်င္ပါတယ္ return လုပ္တယ္ဆိုတာကေတာ့ function ကို ျပန္ေခၚတာပါ ၿပီးေတာ့ ေနာက္ ဗြီဒီယိုမွာဆိုရင္ ကၽြန္ေတာ္က ဒါကို ပံုဆြဲျပပါမယ္ ခင္ဗ်ား ႐ႈပ္ေနမယ္ဆိုရင္ ပိုရွင္းေအာင္လို႔ပါ ဒါဆိုရင္ product ကို return ျပန္လုိက္မယ္ ကၽြန္ေတာ္တို႔ အရင္တုန္းက ေရးထားတဲ့ code ကို ျပန္ေရးဖို႔ေတာ့လိုပါတယ္ ဒါေပမဲ့ ကၽြန္ေတာ္တို႔ ဒါကို function ထဲမွာ ထည့္သြင္းၿပီးၿပီဆိုရင္ေတာ့ function တစ္ခုကို သတ္မွတ္ၿပီးၿပီေပါ့ အထဲမွာ ယူထားတဲ့ဟာမွာ number လို႔ေခၚတဲ့ parameter ေလးရွိပါတယ္ ခင္ဗ်ားက 3 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို လိုခ်င္တယ္ဆိုရင္ ဒါကို ရွာရမွာေပါ့ ၿပီးေတာ့ 3 ဟာ " number " variable ထဲမွာ ထည့္ထားတဲ့ argument ျဖစ္သင့္ပါတယ္ ဒါမွမဟုတ္ " number " ရည္ၫႊန္းထားတဲ့အရာ ျဖစ္သင့္ပါတယ္ ခင္ဗ်ားက " product = 1 " လို႔ သတ္မွတ္ထားတဲ့အတြက္ ဒါကို " number " အႀကိမ္အထိ လုပ္ရပါမယ္
(trg)="44"> Znači , kada prođete kroz ovu for petlju , kada prođete kroz nju , u stvari prolazite kroz nju number puta .
(trg)="45"> Product će sadržati faktorijel od number .
(trg)="46"> I umesto da to direktno prikažemo , ono što mi želimo je da vratimo , vratićemo to pozivajućem programu i u sledećem snimku ću ovo da predstavim dijagramom malo jasnije , ako vam ovo deluje pomalo zbunjujuće .

(src)="8"> " for i in range ( number ) " မွာဆိုရင္
(trg)="50"> Definišete da je product jednak 1 i onda idete number broj puta .

(src)="9"> logic ကို အရင္ ဗြီဒီယိုေတြမွာ ရွင္းျပၿပီးသြားပါၿပီ ခင္ဗ်ား တစ္နဲ႔စတဲ့အခ်ိန္တုိင္း
(trg)="51"> Dakle , * for i in range ( number ) * , objasnili smo logiku iza toga u prethodnom snimku .

(src)="10"> " 1 x 1 = 1 " ဆိုၿပီး ျဖစ္သြားမယ္ ၿပီးေတာ့ ေျမႇာက္လဒ္က 1 ျဖစ္သြားပါတယ္ i ဟာ သုညကေနစတဲ့အတြက္ 1 x ( 0 + 1 ) = 1 ဆိုၿပီး ထြက္တာ ျဖစ္ပါတယ္ i က 2 ဆိုရင္ ( 1x1 ) ဟာ မွားသြားလို႔ပါ ၊ i က 1 ဆိုရင္ 1 x ( 1 + 1 ) ဟာ 1 x 2 ျဖစ္သြားၿပီး အေျဖကေတာ့ 2 ထြက္လာပါမယ္ ၿပီးေတာ့ ဒီနည္းအတုိင္း တိုးသြားပါတယ္ ဒါကိုေတာ့ ေနာက္ဆံုး ဗြီဒီယိုမွာ အေသးစိတ္ရွင္းၿပီးသြားပါၿပီ ေနာက္ဆံုးမွာေတာ့ product ကို return ျပန္ေပးရပါမယ္ ကၽြန္ေတာ္တို႔ အရင္တုန္းကအတုိင္း တိက်တဲ့ အေျဖကို လိုခ်င္တယ္ဆိုရင္ေတာ့ အခု ကၽြန္ေတာ္တို႔ သံုးေနတာကဒီ function ပါပဲ ကၽြန္ေတာ္တို႔ ဘာလုပ္ႏုိင္သလဲဆိုေတာ့ ကၽြန္ေတာ္တို႔ ေျပာသင့္တာက ကၽြန္ေတာ္တို႔ အခုဆို input ရေနၿပီ ၊ ဒါေၾကာင့္ ဒါကေတာ့ ကၽြန္ေတာ္တို႔ရဲ႕ function definition ပါပဲ ကၽြန္ေတာ္တို႔ရဲ႕ program တစ္ခုလံုးမွာ ကၽြန္ေတာ္တို႔ function ကို define လုပ္ခဲ့ၿပီးၿပီ အခု ကၽြန္ေတာ္တို႔ ေျပာသင့္တာက
(trg)="52"> Svaki put počinjete sa 1 , onda radite 1 × 1 što će dati 1 , onda će product biti 1 ali će onda i biti 1 . i počinje sa nulom , dakle biće * 1 × ( 0 + 1 ) * što je 1 , onda je i jednak 2 , pa će biti * 1 × 1 * , oprostite , onda je i jednak 1 i biće * 1 x ( 1 + 1 ) * , što je * 1 x 2 * , znači onda će biti 2 i na taj način će nastaviti da inkrementira i to smo detaljno objasnili u poslednjem snimku .
(trg)="53"> I na kraju će vratiti taj product .
(trg)="54"> Dakle , ako želimo da imamo isto ponašanje kao ranije , ali sada koristimo ovu funkciju .

(src)="11"> " ၾကည့္လုိက္စမ္း ေျမႇာက္ေဖာ္ကိန္းေတြကို non- negative integer " က ေနပဲ user ေတြ ယူၾကတယ္ ဒါဆို ဒီလုိ ထားလိုက္စို႔
(trg)="55"> Šta bismo mogli da uradimo , mogli bi da kažemo , i dalje imamo ulaz , znači , ovo je definicija naše funkcije , ali unutar našeg glavnog programa , smo definsiali našu funkciju i sada bi mogli da kažemo :
(trg)="56"> " Vidi , od korisnika uzmi ne- negativan ceo broj od kog će biti urađen faktorijel " .

(src)="12"> " user- input " လို႔ေခၚတဲ့ variable ေလးကို ေခၚလုိက္ပါ အခု ကၽြန္ေတာ္ ဘာလုပ္ေနတာလဲဆိုေတာ့
(trg)="57"> I hajde da to stavimo u , hajde da to nazovemo promenljiva user_ input .

(src)="13"> " factorial of user- input " ဆိုတဲ့ ေနာက္ variable တစ္ခုကို define လုပ္ေနတာပါ ဒါက စိတ္၀င္စားဖို႔ေကာင္းလာၿပီ ကၽြန္ေတာ္က ဒီ function ကို ဒီအေပၚမွာ ေခၚလုိက္မယ္ ဒါက user input ေပးလုိက္တဲ့ factorial နဲ႔ ညီမွ်ပါတယ္ ဒါေၾကာင့္ " user- input " ရဲ႕ factorial ဆိုတာ ဒီေနရာက variable ေလးရဲ႕ function ပါပဲ user input ေပးလုိက္တဲ့ factorial
(trg)="58"> I onda ću da definišem još jednu promenljivu koja će se zvati factorial<u>of</ u>user_ input i sada će ovo biti zanimljivo .
(trg)="59"> Pozvaću ovu funkciju ovde gore , znači , ovo će biti jednako faktorijelu od bilo čega što je korisnik uneo .
(trg)="60"> Dakle , faktorijel od user_ input , faktorijel od ove promenljive upravo ovde .

(src)="14"> " factorial of user- input" ဆိုတာ ပံုျပင္ဆန္ေနလိမ့္မယ္ ကၽြန္ေတာ္တို႔ ေျပာသင့္တာက ဒါက အေျဖတစ္ခုကို ၫႊန္ျပေနၿပီးေတာ့ ကၽြန္ေတာ္တို႔ အခု ဒါကို print ထုတ္ရမယ္ အခု ကၽြန္ေတာ္တို႔ " factorial of user- input " ကို print ထုတ္ႏုိင္ပါၿပီ သူတို႔က ၀ါက်ေတြလိုပဲ ဒါေပမဲ့ သူတို႔က variable name ေတြပါ ငါ နာမည္ေပးထားတဲ့နည္းအတုိင္း အခုဆို variable ေတြရဲ႕ အတြင္းမွာ ဘာရွိတယ္ အဲဒီ variable ေတြက ဘာကို ၫႊန္ျပတယ္ဆိုတာကို သိေနပါၿပီ ဒါေၾကာင့္ " factorial of user- input " ဆိုတာ အခု မင္းသိထားရမွာက program တစ္ခုကို save လုပ္ရမယ္ဆိုတာနဲ႔ run လုပ္ဖို႔ ႀကိဳးစားရမယ္ဆိုတာပါပဲ ကဲဒါဆို program ကို run ၾကည့္ၿပီး ဘာျဖစ္လာမလဲ ၾကည့္ရေအာင္ ဒီမွာ ဘာျဖစ္ေနလဲ ၾကည့္ၾကစို႔ အနည္းဆံုးေတာ့ သိပ္အမွားမပါဘူးေပါ့ ကဲ ေနာက္တစ္ခါ ကၽြန္ေတာ္ program ဒီကေန စရွင္းခ်င္တယ္ ဒါေပမဲ့ ကၽြန္ေတာ္ ဒီမွာ သတ္မွတ္ထားတာ အားလံုးက user နဲ႔ပတ္သက္ၿပီး ဘာမွ creat လုပ္မထားဘူး အခုထိ ဘာမွ processing မလုပ္ရေသးပါဘူး ဒီ function ကို define လုပ္ၿပီး ဒီမွာ ဆက္ျဖစ္သြားတာက
(trg)="61"> Faktorijel od korisničkog ulaza .
(trg)="62"> Znači , sada će factorial<u>of</ u>user_ input čuvati , pretpostavljam da bi trebali da kažemo , pokazivaće zapravo na odgovor i sada treba samo to da prikažemo .
(trg)="63"> Dakle , sada možemo da prikažemo factorial<u>of</ u>user_ input .

(src)="15"> " Okay , get some input from the user " လို႔ ေျပာပါတယ္ ဒါက ကၽြန္ေတာ္တို႔ ဘာလုပ္ေနတယ္ဆိုတာပါပဲ ဒီမွာ input အခ်ဳိ႕ေရးၿပီးတဲ့အခါ ဒီ function ကို number နဲ႔ အတူ ေခၚလုိက္မယ္ ကၽြန္ေတာ္တို႔ input ေပးလုိက္မယ္ input ေပးမယ့္ number က " user- input " ထဲကို ေရာက္သြားမယ္ ၿပီးေတာ့ ဒါကို factorial လို႔ေခၚၿပီး
(trg)="69"> Znači , makar ništa nije puklo do sad , i još jednom , dakle , želim da budem jasan , program je počeo ovde ali ovde gore smo samo ovo definisali pa se ne kreira nikakva interakcija sa korisnikom , zapravo se još ništa ne obrađuje , dakle , to samo definiše ovu funkciju koja ide ovde dole i kaže :
(trg)="70"> " Ok , daj mi neki ulaz od korisnika " i to je ono što radimo upravo ovde .
(trg)="71"> Nakon što unesemo ovde neki broj , onda će se zapravo pozvati funkcija sa tim brojem koji smo uneli , brojem koji smo uneli , će biti stavljen u user_ input i onda će se pozvati factorial sa user_ input kao argumentom .

(src)="16"> " user- input " ကို argument အေနနဲ႔ ထုတ္ေပးမယ္ ကဲဒါဆို number " 3 " နဲ႔ စမ္းသပ္ၾကည့္ရေအာင္ ဒါက အလုပ္မလုပ္ဘူး ဒါ ဘာလို႔ အလုပ္မလုပ္လဲ ကၽြန္ေတာ္သိၿပီ ကၽြန္ေတာ္ ဒါကို အရင္ program ထဲမွာ က်န္ခဲ့လို႔ပဲ ဘာအဓိပၸါယ္မွ မရွိ ျဖစ္သြားတယ္ ဒါကို ပယ္လုိက္မယ္ ဒါက ပထမဆံုး သင္ခန္းစာေကာင္း ရလုိက္တာပဲ အလုပ္ၿပီးေအာင္ အထိ ႀကိဳးစားပါ ဒါကို ထပ္လုပ္ၾကည့္စို႔ ဒါက အဓိပၸါယ္မရွိတာဘဲ ကၽြန္ေတာ္ ဒီေနရာမွာ ေရးခဲ့မွန္း သတိမထားမိဘူး ထပ္လုပ္ၾကည့္ဦးစို႔ 3 ကို ထပ္ထည့္ၾကည့္မယ္ ကၽြန္ေတာ့္ကို အေျဖေကာင္းကို ေပးတယ္ 3 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို ေပးခဲ့တယ္ ဘယ္ေလာက္ေကာင္းလုိက္သလဲ ဘာေၾကာင့္လဲဆိုေတာ့ ကၽြန္ေတာ့္ရဲ႕ python စကားျပန္သူက ခု definiction ကို လုပ္ၿပီးသြားၿပီလို႔ ယူဆလို႔ပါ ကၽြန္ေတာ္ အခု ဒါကို စကားျပန္ကေန factorial ကို ေခၚႏုိင္ၿပီ ကၽြန္ေတာ့္မွာ အျခား program တစ္ခုရွိမယ္ဆိုရင္ ကၽြန္ေတာ္ ဒါကို နည္းအမ်ဳိးမ်ဳိးနဲ႔ call လုပ္ႏုိင္ပါတယ္ ခင္ဗ်ား ဒါကို တန္ဖိုးထားသင့္တယ္ ဘာလို႔လဲဆိုေတာ့ function definition ကို လုပ္တာေၾကာင့္ ကၽြန္ေတာ္တို႔ တြက္ခ်က္ႏုိင္တယ္ ကၽြန္ေတာ္ ဒီ function factorial ကို သတ္မွတ္ခဲ့ျခင္းေၾကာင့္ 4 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို တြက္ခ်က္ႏုိင္တယ္ ဒါက 24 ပါ ကၽြန္ေတာ္ဟာ 5 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းနဲ႔ 3 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းတို႔ ျခားနားခ်က္ကိုလည္း ေျပာႏိုင္ၿပီ အေျဖက 114 ပါ ကၽြန္ေတာ္က 12 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို ယူႏုိင္တယ္ ၿပီးေတာ့ ခင္ဗ်ားက computer ကို ေျပာႏုိင္တယ္ ဒါေတြအားလံုးကို ဘာသာျပန္႐ံုမွ် လုပ္ေသာ္လည္း interpreted နဲ႔ compile code ေတြ အေၾကာင္းကို ပိုေဆြးေႏြးၾကမယ္ ဒါက အလြန္အမင္း ျမန္ႏုိင္တယ္ ကၽြန္ေတာ္တို႔ ျမန္ျမန္ ပိုနားလည္ႏိုင္မယ္ ဒါကေတာ့ function တစ္ခုရဲ႕ စြမ္းအားအစစ္ပါပဲ ကၽြန္ေတာ္ အခု code ေတြကို ထပ္ခါထပ္ခါ ႐ိုက္စရာ မလိုေတာ့ဘူး ကၽြန္ေတာ္ ဒါကို အျခား argument ေတြနဲ႔ ျပန္ေခၚ႐ံုပါပဲ ဒါေၾကာင့္ 2 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္း ၊ ကၽြန္ေတာ္ ဒါကို အခ်ိန္တုိင္း ရွာႏုိင္တယ္ ကၽြန္ေတာ္ program ကို ျပန္ run စရာမလိုဘူး ၿပီးေတာ့ factorial ကို သံုးတဲ့ အျခား function ေတြကို ေရးမယ္ဆိုရင္ ေပါင္းစပ္ျခင္းေတြမွာ ကၽြန္ေတာ္ တစ္ခုခု လုပ္ႏုိင္တယ္ ကၽြန္ေတာ္ဒါကို function အျဖစ္ အသံုးျပဳ႐ံုပါပဲ ကၽြန္ေတာ္ဒါကို မသိဘူးဆိုရင္ေတာင္မွ function ေတြထဲမွာ ဘာျဖစ္ေနတယ္ဆိုတာကို function ေတြရဲ႕ အက်ဳိးေက်းဇူးေတြထဲက တစ္ခုကေတာ့ ကၽြန္ေတာ္က bunch of program ကို ေရးတယ္ဆိုပါစို႔ ကၽြန္ေတာ့္မွာ factorial လို႔ေခၚတဲ့ program ရွိေနၿပီပဲ ေျပာခ်င္တာက ခင္ဗ်ား အဲ့ဒါကို ဒီေနရာမွာ ျပန္ေရးႏုိင္ပါတယ္ ခင္ဗ်ား program မွာ different guts ေတြရွိတဲ့ တူညီတဲ့အရာေတြမွာ အဆံုးကို user ေတြ သတိမထားႏိုင္ပါဘူး ျဖစ္ႏုိင္တာက ခင္ဗ်ားက ပိုျမန္တဲ့နည္းနဲ႔ ေရးတယ္ ဒါမွမဟုတ္ ပို႐ိုးရွင္းတဲ့နည္းနဲ႔ေပါ့ memory ဒါမွမဟုတ္ PU ကို သံုးတဲ့ power ေတြ နည္းႏိုင္တဲ့ နည္းလမ္း ျဖစ္ပါတယ္ ခင္ဗ်ားဒါကို ျပန္အစားထုိးႏုိင္တယ္ ၿပီးေတာ့ အဲ့ဒါကိုေခၚတဲ့ ဘယ္ program မွာမဆို ထိုဟာ အလုပ္လုပ္ေနသမွ် program အတြက္ အလုပ္လုပ္ေနပါလိမ့္မယ္ ၿပီးေတာ့ ပိုၿပီးေကာင္းေအာင္လည္း အလုပ္လုပ္ပါလိမ့္မယ္
(trg)="72"> Dakle , hajde da probamo sa brojem 3 .
(trg)="73"> I nije proradilo !
(trg)="74"> Oh , i vidim zašto nije proradilo , jer sam imao ovaj zaostatak iz prethodnog programa koji sada nema nikakvog smisla .

(src)="17"> Defining a factorial function
(trg)="96"> Onda biste mogli samo da ovo kasnije zamenite i tada , bilo koji program koji to poziva , sve dok i dalje radi , radiće za taj program i samo će raditi mnogo bolje .

# my/0QjJMdlxMwnW.xml.gz
# sr/0QjJMdlxMwnW.xml.gz


(src)="1"> အားလုံးကို နှုတ်ဆက်ပါတယ် ၊ ကျွန်တော့အမည်က Thomas Suarez ပါ ။ ကျွန်တော်ဟာ အမြဲတမ်းပဲ ကွန်ပျူတာများ နှင့် နည်းပညာတွေကို စိတ်ဝင်စားခဲ့ပါတယ် ၊ iPhone ၊ iPod Touch ၊ နှင့် iPad တို့အတွက် အက်ပ်အချို့ကိုတောင် ပြုစုခဲ့ပါတယ် ။ ဒီနေ့ နှစ်ခုလောက်ကို ခင်ဗျားတို့ကို မိတ်ဆက်ပေးချင်ပါတယ် ။ ကျွန်တော်ရဲ့ ပထမဦးဆုံး အက်ပ်က တမူထူးတဲ့ ဗေဒင် ဟောဆရာ Earth Fortune ဆိုတာပါ ၊ ခင်ဗျားတို့ရဲ့ အနာဂတ်ကို လိုက်ပြီး အဲဒါဟာ ကမ္ဘာကြီးကို အရောင် အမျိုးမျိုးဖြင့် ပြသပေးပါတယ် ။ ကျွန်တော့ အကြိုက်ဆုံး နဲ့ အအောင်မြင်ဆုံး အက်ပ်က
(trg)="1"> Zdravo svima , ja sam Tomas Suarez .
(trg)="2"> Oduvek sam bio fasciniran računarima i tehnologijom i napravio sam nekoliko aplikacija za iPhone , iPod Touch i iPad .
(trg)="3"> Podeliću par njih sa vama danas .

(src)="2"> Bustin Jieber ပါ - ( ရယ်မောသံများ ) - အဲဒါက Justin Bieber Whac- A- Mole လေ ။ ကျောင်းထဲက လူတော်တော်များများက Justin Biebe မကြိုက်ခဲ့ကြလို့ ကျွန်တော်က သူ့ကို အက်ပ်အဖြစ် လုပ်ရန် ဆုံးဖြတ်ခဲ့တာပါ ။ အဲဒါနဲ့ ကျွန်တော်ဟာ အဲဒါကို ပရိုဂရမ် ရေးဆွဲလာလိုက်တာ ၂၀၁၀ ခုနှစ် ကျောင်းပိတ်ရက် မတိုင်မီမှာ ဖြန့်ချိနိုင်ခဲ့ပါတယ် ။ လူတော်တော်များများက မင်းဒါတွေကို ဘယ်လိုများ လုပ်နိုင်တာလဲ ? မေးကြတယ် ။ အဲဒီလို မေးကြတဲ့ လူတွေဟာ မကြာခဏဆိုသလို သူတို့ကိုယ်တိုင်ကလည်း အက်ပ်ကို ထုတ်လုပ်ချင်ကြလို့ မေးကြတာပါ ။ ဒီခေတ်မှာ ကလေးငယ် အများတို့ဟာ ဂိမ်းတွေကို ကစားချင်ကြတယ် ၊ အခုတော့ သူတို့ဟာ ဂိမ်းတွေကို ပြုလုပ်ချင်ကြတယ် ၊ အဲဒါဟာ ခဲယဉ်းပါတယ် ၊ ကလေး အများအပြားတို့ဟာ ပရိုဂရမ် ရေးဆွဲဖို့အတွက် ဘယ်သွားရမှန်း မသိကြလို့ပါ ။ ဘောလုံးကစားချင်ရင် ဘောလုံး အသင်းထဲ သွားလို့ ရနိုင်တယ် ။ တယော တီးချင်ရင် တယောတီး သင်ခန်းစာကို သွားယူနိုင်တယ် ။ ဒါပေမဲ့ အက်ပ် တခုခုကို ပြုလုပ်ချင်ရင်ကော ? အဲဒီ ကလေးတွေရဲ့ မိဘတွေက သူတို့ ငယ်စဉ်တုန်းက အဲဒီလို အရာတွေကို ပြုလုပ်ခဲ့ကြတာ ဖြစ်နိုင်ပေမဲ့ ၊ အက်ပ်တွေကို ပြုစုခဲ့ကြတဲ့ မိဘတွေကတော့ မများနိုင်ပါ ။ ( ရယ်မောသံများ ) ဒီတော့ အက်ပ်ကို ပြုလုပ်ချင်ရင် ဘယ်မှာသွားပြီး ရှာရမှာလဲ ? ကောင်းပြီ ၊ ကျွန်တော် လုပ်ကိုင်ခဲ့ပုံကို ပြောပြမယ် ။ ကျွန်တော် လုပ်ခဲ့တာက ဒီလိုပါ ။ ပထမဦးဆုံး အနေနဲ့ ၊ ကျွန်တော်ဟာ ပရိုဂရမ်တွေကို ရေးဆွဲလာခဲ့လျက် ပရိုဂရမ် ရေးသားရေး အခြေခံတွေ သိလာရဖို့ ဘာသာစကားအမျိုးမျိုး
(trg)="5"> Meni omiljena i moja najuspešnija aplikacija je Bastin Džiber ( Smeh ) gde možete da udarate Džastina Bibera .
(trg)="6"> Napravio sam je jer mnogi u školi baš i ne vole Džastina Bibera , pa sam odlučio da napravim tu aplikaciju .
(trg)="7"> Počeo sam da programiram i objavio sam je , baš pre praznika 2010 .

(src)="3"> Python ၊ C ၊ Java ၊ စတာတွေကို လေ့လာနေခဲ့တယ် ။ အဲဒီနောက်မှာ Apple က iPhone ကို ထုတ်ရောင်းလာရာ အဲဒါနဲ့အတူ iPhone ဖွံ့ဖြိုးရေး ဆော့ဝဲ တစုံပါလာတယ် ၊ အဲဒီ ဖွံ့ဖြိုးရေး ဆော့ဝဲ အစုံထဲမှာ iPhone အက်ပ်တွေကို ဖန်တီးရန် နဲ့ ပရိုဂရမ် ရေးဆွဲရေး ကိရိယာတွေ ပါရှိပါတယ် ။ အဲဒါဟာ ကျွန်တော့အတါက် အလားအလာ အသစ်တွေရဲ့ ကမ္ဘာကြီးကို ဖွင့်ပေးလိုက်ပါတယ် ၊ အဲဒီ ဆော့ဝဲ ပစ္စည်းတွေနဲ့ နဲနဲလေး ကစားကြည့်ပြီးတဲ့ နောက်မှာ ၊ အက်ပ် နှစ်ခုလောက်ကို ထုတ်လုပ်ခဲ့တယ် ၊ စမ်းသပ်ရေး အက်ပ် အချို့ကို ပြုလုပ်ခဲ့တယ် ။ အဲဒါ တခုက Earth Fortune ဆိုတာ ဖြစ်လာတယ် ။ အဲဒီ Earth Fortune ကို ကျွန်တော်ဟာ App Store မှာ တင်ဖို့ အသင့်ရှိလာလို့ ကျွန်တော့ အက်ပ်ကို App Store မှာ တင်ပေးဖို့ ပေးရမယ့် အခ ၉၉ ဒေါ်လာကို ပေးဖို့ မိဘတွေကို စည်းရုံးခဲ့ရပါတယ် ။ သူတို့က သဘောတူလိုက်ကြလို့ အခုဆိုရင် ကျွန်တော့ အက်ပ်တွေ App Store မှာ ရှိနေပြီ ။ ကျွန်တော့ကို ကျွန်တော့ မိသာစု ၊ မိတ်ဆွေများ ၊ ဆရာများ ၊ ပြီးတော့ Apple Store မှ လူတွေမှအစ အားလုံးတို့က အကြီးအကျယ်ကို အားပေးခဲ့ကြတာဟာ ကျွန်တော့အတွက် တကယ့်ကို အားတက်စရာကြီးပါ ။
(trg)="19"> Pre svega , programirao sam u raznim drugim programskim jezicima da bih savladao osnove , poput Pajtona , C , Jave itd .
(trg)="20"> A onda je Apple izbacio iPhone , a sa njim i razvojni paket , a taj razvojni paket se sastoji od niza alata za kreiranje i programiranje aplikacija za iPhone .
(trg)="21"> Ovo mi je otvorilo put ka novim mogućnostima , pošto sam se malo poigrao ovim razvojnim paketom napravio sam par aplikacija , neke probne aplikacije .