Monday, May 28, 2012

පයිතන් Document එකක් Save කිරීම




start-> all programs->Python IDLE එක open කර ගන්න.


file->New window ලබා ගන්න. එහි පයිතන් program එක සටහන් කරන්න


file->Save As ගොස් .py extension එකෙන් පහත පරිදි save කරන්න.


program ‍එක ලියූ window එකට ගොස් Run->Run Module හෝ Key Board එකේ F5 බොත්තම ඔබන්න
පහත පරිදි program එක Run  වන අයුරු දැක ගත හැකිය.
වැඩසටහන නැවත ක්‍රියාත්මක කිරීමට අවශ්‍ය වූ විටෙක IDLE එක Open කර File->Open මගින් අදාල save කළ තැන දක්වා F5 බොත්තම ඔබන්න

Monday, May 14, 2012

Main Memory(ප්‍රධාන මතකය)



Main Memory කියන එකෙන් අදහස් කරන්නේ RAM (Randam Access Memory-සසම්භාවී ප්‍රවේශ මතකය)  එකයි.  ඕනෑම program එකක්(වැඩසටහනක්)  Hard එකේ CD-ROM එකේ  හෝ External Device එකක තිබුණත් එය execute(ක්‍රියාත්මක) කිරීමට පෙර RAM එකට load කළ යුතුයි.  Ram  එකේ  හා Hard එකේ කාර්යය පහසුවෙන් තේරුම් ගැනීමට පහත උදාහරණය සලකන්න.
අපි දෙපසින් ලාච්චු ගොඩක් තියෙන  ලියන මේසයක් ගැන හිතමු.  ලාච්චු වල ඕන තරම් files තැන්පත් කරල තියන්න පුළුවන්. නමුත් ඒවා ලාච්චුව ඇතුළෙ තියෙද්දි ප්‍රයොජනයට ගන්න බෑ. ප්‍රයෝජනයට ගන්නනම් මේසය මතුපිටට ගන්න ඕන. 
මේස ලාච්චු හරියට Hard එක වගේ.Hard  එකේ file එකක් තියෙනකොට ප්‍රයෝජනයට ගන්න බෑ. ප්‍රයෝජනයට ගන්නනම් එය Ram එකට load කළ යුතුයි. ඒ කියන්නෙ Ram එක හරියට මේසය මතුපිට වගේ. තව දෙයක් තියෙනවා, මේස ලාච්චු වල ධාරිතාවය(තැන්පත් කළ හැකි ගොනු ප්‍රමාණය)ට ව‍ඩා  මේසය මතුපිට ධාරිතාවයට වඩා අඩුයි. හරියට Hard එකෙයි Ram එකෙයි ධාරිතාවයන් ‍‍වගේ. 320GB, 500 GB ආදී වශයෙන් Hard Drives වල ධාරිතාවයන් තිබුණත්  Ram වල ධාරිතාවයන් වන්නේ  1GB, 3GB ආදී වශයෙනුයි.

SRAM(Static Random Access Memory) හා  DRAM(Dynamic Random Access Memory) ‍වශයෙන් Ram වර්ග දෙකක් තිබෙනවා. අපි සාමාන්‍යයෙන් Ram එක ලෙස හඳුන්වන්නේ DRAM එක. DRAM, SRAM වලට වඩා  වේගයෙන් හා මිලෙන් අඩුයි.  ඒ වගේම DRAM තත්පරයකට දහස් වතාවක් refresh කළ යුතු වෙනවා. SRAM  බොහෝවිට cache memory(නිහිත මතකය) සඳහා භාවිතා වනවා. cache  memory හා Memory Hierarchy පිළිබඳව පසුව හදාරමු.

Friday, May 11, 2012

Python Dictionaries


list එකක‍ හෝ tuple එකක තබා ගත හැක්කේ එක් වර්ගයක දත්ත පමණි. ඇතැම් අවස්ථාවලදී එය ප්‍රමාණවත් නොවේ. 
පහත උදාහරණය සලකන්න.
‍අපට ක්‍රීඩකයෙක් සහ ඔහු නියොජනය කරන රට එකට නිරූපණය කිරීමට අවශ්‍යනම් ඒ සඳහා list හෝ tuple සුදුසු නොවේ.
මේ සඳහා dictionary යොදාගත යුතුය. dictionary එකක් {} වරහන් මගින් නිරූපණය කරනු ලැබේ.
AL ICT HELP PYTHON DICTIONARIES










dictionary එකක පොදු නිරූපණය වන්නේ {key:value} ආකාරයයි.ඉහත උදාහරණයේ ක්‍රීඩකයාගේ නම k‍ey එක ලෙසත් රටේ නම value එක ලෙසත් ගනු ලබයි. සාමාන්‍යයෙන් key එක ලෙස අප දන්නා අගයත් value එක ලෙස අපට දැනගත යුතු, අදාල key එකට සම්බන්ධ අගයකුත් යොදා ගනී.



අනෙකුත් පයිතන් පාඩම්

Thursday, May 3, 2012

Python Tuples

මීට පෙර පාඩමකින් අපි list පිළිබඳ හැදෑරීමක් කළා. tuple  එකක් කියන්නේ  immutable list එකක්. ඒ කියන්නේ අගයන් වෙනස් කළ නොහැකි ස්ථිර list එකක්. tuple  එකක් declare ‍කරන්නේ () වරහන් දෙකක් දාලා. list එකක් declare කරන එකෙයි tuple  එකක් declare කරන එකෙයි තියෙන එකම වෙනස තමයි ඒ. list  එකක් declare කරන්නේ [] වරහන් දෙකක් යොදාගෙන.
පහත උදාහරණය සලකන්න.

මුලින්ම tuple එකක්  declare කර තිබෙනවා. ඉන්පසු type() function එක මගින් එහි type එක ලබාගෙන තිබෙන‍වා. පසුව tuple එකේ මුල්ම අවයවය සඳහා වෙනත් අගයක් ආදේශ කිරීමට උත්සාහ ගෙන තිබෙන‍වා list එකකදී මෙන්. නමුත් එසේ කළ නොහැකි බව දන්වමින් error එකක් ලබා දී තිබෙන‍වා.  මේ හේතුව නිසා අගයන් වෙනස් කළ නොහැකි list එකක් ලෙස tuple එකක් හඳුන්‍වනවා.
AL ICT HELP PYTHON TUPLES
අනෙකුත් පයිතන් පාඩම්
පයිතන් ඉගෙන ගනිමු
විචල්‍යයන්(Variables)
සංඛ්‍යා(Numeric Operations)
මොඩියුලො බෙදීම (Modulo Division)
සුළු කිරීමේ  ප්‍රමුඛතාව(Order Of Numeric Operations)
බූලියන් ගණිත කර්ම(Boolean Operations)
if elif else හි යෙදීම්
පරිශීලක ආදාන(User Inputs)
range function
Continue Statement
Break Statement
Python Lists
Python Tuples
Python Dictionaries

Monday, April 23, 2012

Python Lists


මෙම පාඩමෙන් පයිතන් Lists ගැන මූලික අදහසක් ලබා ගන්න පුළුවන්.
නමේ තේරුමෙන් කියවෙනව වගේම List එකක් කියන්නේ ලැයිස්තුවක් කියන එකට.List එකක් දක්ව‍නකොට මතක තබාගත යුතු කරුණු කිහිපයක් තිබෙන‍වා.
ප්‍රධානම දේ  List එකක් කොටු වරහනකින් සංවෘත කළ යුතුයි. එක් එක් අවයවය(element) කොමා(,) එකකින් වෙන් කර දැක්විය යුතුයි.
පහත පරිදි List එකක් හඳුන්වා දිය හැකියි.
python listl AL ICT Help
තවත් වැදගත් කරුණක් වන්නේ List වල පළමු අවයවය 0 න් දැක්වීමයි.  Arrays වලද මෙම අංකනය දක්නට ලැබෙනවා.
උදා
List Indexes Al ICT Help









list එකක -1 index එකෙන් අදහස් කරන්නේ අවසාන අවයවයි.  පහත දක්වා ඇති පරිදි list එකක මැද ඇති අවයවයන් ද ලබා ගත හැකියි.
List operations python AL ICT HELP













අනෙකුත් පයිතන් පාඩම්

Saturday, April 7, 2012

Break Statement

Break Statement
කිසියම් loop එකකින් ඉවත් වීම Break Statement එකෙන් සිදු වෙනවා
පහත උදාහරණය බලන්න
range  function එකෙන් 0 සිට 7 දක්වා print කළ යුතුයි. නමුත් i හි අගය 5 ට වඩා වැඩි වූ විට loop එක අවසන් කර තිබෙනවා.

















අනෙකුත් පයිතන් පාඩම්

Tuesday, April 3, 2012

Continue Statement


මෙහිදී සිදුවන්නේ දී ඇති කොන්දේසියක් සැපිරෙන අවස්ථාවක් මගහැර ඊලඟ අවස්ථාවේ සි‍‍ට වැඩසටහන ක්‍රියාත්මක වීමයි.
පහත උදාහරණය සලකා බලන්න.




























range function එක පිළිබඳව ඔබ මීට පෙර හදාරා තිබෙනවා.  මෙහිදී  continue statement  එකෙන් i වල අගය 4 වන විට එම අගය print නොකර 5 සිට  වැඩසටහන ක්‍රියාත්මක වෙන‍වා.



අනෙකුත් පයිතන් පාඩම්

Thursday, March 29, 2012

පරිශීලක ආදාන(User Inputs)

පරිශීලකයාගෙන් ආදාන(User Inputs) ලබාගන්නා අයුරු මෙහිදී සලකා බලමු. මින් ඉහත පාඩම් වල සාකච්ඡා කර ඇති උදාහරණයම marks, user input එකක් ලෙස ලබාගෙන විසඳමු.
































raw_input()  inbuilt function එක මගින් string එකක් return කරන නිසා එයට පිටතින් int යැයි යොදා එය integer value එකක් බවට පත් කර ඇත.

marks variable එකේ Type එක පළමුව string ලෙසද දෙවනුව  integer ලෙසද දක්වයි.



අනෙකුත් පයිතන් පාඩම්




Monday, March 26, 2012

if elif else හි යෙදීම්

පහත උදාහරණය සලකා බලන්න
අපට කිසියම් විෂයකට ලකුණු(marks)  50ට වඩා වැඩිනම් pass යනුවෙන්ද  එසේ නොවේනම් fail  යනුවෙන්ද දක්වන පයිතන් වැඩසටහනක් පහත පරිදි ලිවිය හැකියි.
AL ICT PYTHON IF ELSE EXAMPLE

සැලකිය යුතුයි.
උදාහරණයේ දක්වා ඇති පරිදිම "Tab Spaces" දැක්විය යුතුයි. නැතහොත් 'Syntax Error' යනුවෙන් දක්වයි.
  
පහත පරිදි ඔබට ලිවිය නොහැක.
 if(marks)>50:
              print 'pass'
              else:
              print 'fail'
මෙහි else statement එක සඳහා අන‍වශ්‍ය   Tab එකක් ඇත.


අදාල ප්‍රතිදානය(Output)  ලබා ගැනීම සඳහා   "Enter" Key එක දෙවරක් press කළ යුතුය

දී ඇති ලකුණ සඳහා වඩා විශ්ලේෂණාත්මකව ශ්‍රේණිය වෙන් කරන පහත උදාහරණය සලකා බලන්න.
AL ICT PYTHON  IF ELSE
marks විචල්‍යයේ අගය 62 නිසා, එනම්50 ට වැඩි හා 65 ට අඩු නිසා ප්‍රතිදානය C ලෙස  ලැබේ.

























අනෙකුත් පයිතන් පාඩම්

Wednesday, March 21, 2012

බූලියන් ගණිත කර්ම(Boolean Operations)




True හා  False යනුවෙන් අගයන් දෙකක් පමණක් ඇති විචල්‍යයන් ‍වල‍ට බූලියන් සංඛ්‍යා යැයි කි‍ව හැකියි. ඔබ තාරකික වගු  (Logic Gates) හදාරා ඇත්නම් ඒ දැනුම ඒ ආකාරයෙන් ම මෙහිදී භාවිතා කළ හැකියි.


a යනුවෙන් බූලියන් විචල්‍යයක් හඳුන්වා දී එහි Type එක බැලූවිට ' bool'  ලෙස ලැබේ.







a,b,c,d යනුවෙන් බූලියන් විචල්‍යයන්  4ක් හඳුන්වා දී  ඒවා තාර්කික AND හා   OR ගණිත කර්ම වලට භාජනය කරමු.
 ‍True හා False වල T හා F අකුරු කැපිටල්
විය යුතුයි.
* and හා or  සිම්පල් අකුරින් දැක්විය යුතුයි.






















and හා or දෙකම අඩංගු උදාහරණයක් සලකා බලමු.
මෙහිදී වරහන් තුළ ඇති කොටස පළමු‍ව සුළු කරයි








*සියලු අංක සහ අකුරු True වේ.
නමුත් 0 හා '' හි අගය False වේ.
*and  ගණිත කර්මයේදී පළමු අගය True නම් දෙ‍වන අගය ප්‍රතිදානය කරයි.
'a' and 'b'  ගත් විට 'a' හි අගය True නිසා 'b' (ප්‍රතිදානය) return කරයි.














*and  ගණිත කර්මයේදී පළමු අගය False නම් පළමු අගයම ප්‍රතිදානය කරයි. 


*or ගණිත කර්මයේදී පළමු අගය True නම් පළමු අගය ප්‍රතිදානය කරයි.
*or ගණිත කර්මයේදී පළමු අගය False නම් දෙවන අගය ප්‍රතිදානය කරයි.
.
.
.
.
.
.
.
0 හා ''  False අගයන් ලෙස සැලකෙන නිසා පහත ප්‍රතිපල ලැබේ.































අනෙකුත් පයිතන් පාඩම්

Monday, March 19, 2012

සුළු කිරීමේ ප්‍රමුඛතාව(Order Of Numeric Operations)

වීජ ගණිතයේදී මෙන්ම පයිතන් වලදීද ගණිත කර්ම වල ප්‍රමුඛතාව පහත පරිදි වේ.
1)වරහන්()

2)දර්ශක
3)ගුණ කිරීම,බෙදීම
4)එකතු කිරීම,අඩු කිරීම
5)ඍණ ලකුණ

*එක හා සමාන ප්‍රමුඛතාව හිමි ගණිත කර්ම තිබුනහොත් වමේ සි‍ට පිළිවෙලින් සුළු කරයි.

උදා.


















පහත උදාහරණය සලකා බලන්න.
3+10/4*4 සුළු කරන්න
පිළිතුර 13 නම් ඔබ වැරදිය.
මෙහිදී 10 හා 4 පූර්ණ සංඛ්‍යා නිසා 10/4 හි අගය 2 වේ. දශමස්ථානය නොසලකයි.
එවිට සුළු කිරීම පහත පරිදි වේ.
3+2*4
=3+8
=11

අනෙකුත් පයිතන් පාඩම්


මොඩියුලො බෙදීම (Modulo Division)


'%' සලකුණෙන් දක්වන මෙම ගණිත කර්මයෙන් සිදු වන්නේ පළමු අගය දෙවන අගයෙන් බෙදූවිට ඉතිරිය ලබා දීමයි.










මොඩියුලො ‍‍‍බෙදීම ප්‍රායෝගිකව යෙදෙන අවස්ථාවක් සලකා බලමු
දී ඇති සංඛ්‍යාවක් ඔත්තේ ‍හෝ ඉරට්ටේ බව නිර්ණය කරන්නේ කෙසේද?














if number %2==0: නවය දෙකෙන් බෙදූවිට ඉතිරිය බිංදුවට සමානදැයි බලයි
print 'Even number' බිංදුවට සමානනම් ඉරට්ටේ සංඛ්‍යාවක්(Even number)  ලෙස ප්‍රදර්ශනය කරයි
elif number%2==1: නවය දෙකෙන් බෙදූවිට ඉතිරිය එකට සමානදැයි බලයි
print 'Odd number' එකට සමානනම් ඔත්තේ සංඛ්‍යාවක්(Odd number) ලෙස ප්‍රදර්ශනය කරයි


නවය දෙකෙන් බෙදූවිට ඉතිරිය එකට සමාන නිසා ප්‍රතිදානය
Odd number ලෙස ලැබේ


if,elif  යෙදෙන අයුරු මෙතනින් ඉගෙන ගන්න.


අනෙකුත් පයිතන් පාඩම්

Friday, March 16, 2012

සංඛ්‍යා(Numeric Operations)









සංඛ්‍යාත්මක අගයන් සමග ගනුදෙනු කරන ආකාරය පිළිබඳව විමසා බලමු.


x/y හි අගය 1.666 වුවද පයිතන් IDLE එක මගින් පිළිතුර 1 ලෙස ලබා දෙන්නේ x හා y පූර්ණ සංඛ්‍යා ලෙස සලකන බැවිනි.


නිවැරදි පිළිතුර ලබා ගැනීමටනම් x හා yදශම සංඛ්‍යා ලෙස හඳුන්වා දිය යුතුය​..
..

අනෙකුත් පයිතන් පාඩම්










Sunday, March 11, 2012

විචල්‍යයන් (Variables)


පයිතන් install කරගත්තට පස්සෙ all programs-> IDLE(Python GUI) එක open කරගන්න​.

පහත දක්වා ඇති පරිදි ටයිප් කරන්න​

පයිතන් වලට හැකියාව තියෙනවා අපි ඇතුළත් කරන variable එකක data type  එක දැක්වීමට​. 
a යනු integer අගයක්(පූර්ණ සංඛ්‍යාවක්) බවත්
b යනු string  අගයක්(වචනයක්) බවත්
c යනු  boolean අගයක් බවත්
type function එක​ මගින් ලබා ගත හැකියි.

Strings
String එකක් declare කරන්න පුලුවන් ආකාර තුනක් තියෙනවා. 

නමුත් ඇයි මේ ආකාර තුනක්... ඒකට හේතුව ඇතැම් අවස්ථා වලදී වාක්‍යය තුළ ' හා '' ලකුණු යොදා ගැනීමට සිදුවීම.
උදා:- 


මීළඟට අපි string operations කිහිපයක් සලකා බලමු.


x='Hello' කියන්නෙ 'Hello' කියන string එක x කියන variable එකේ රඳවා ගන්න කියන එක(assign)
x=='Hello' යනුවෙන් අදහස් කරන්නෙ x හි අගය 'Hello' වලට් සමානදැයි බැලීම.
එය සමාන වන නිසා True යනුවෙන් ප්‍රතිඵලයක් දක්නට ලැබෙන්වා.
x==y යනුවෙන් අදහස් කරන්නේ x හි අගය y හි අගයට සමානදැයි බැලීම​...
x, yට අසමාන නිසා False ලෙස ප්‍රතිඵලය දක්වනවා.


upper function එකෙන් කෙරෙන්නේ දෙන ලද string එකක් සම්පූර්ණයෙන්ම ඉංග්‍රීසි කැපිටල් අකුරු බවට පරිවර්තනය කිරීම​..
lower function එකෙන් කෙරෙන්නේ දෙන ලද string එකක් ඉංග්‍රීසි සිම්පල් අකුරු බවට පරිවර්තනය කිරීම​.



අනෙකුත් පයිතන් පාඩම්

Thursday, March 8, 2012

පයිතන් ඉගෙන ගනිමු(Introduction)

උසස් පෙළ තොරතුරු හා සන්නිවේදන තාක්‍ෂණය(AL ICT) විෂයක් විදියට හදාරන හැමෝටම උදව්වක් වෙන අරමුණෙන්  මේ බ්ලොග් එක ලියන්න පටන් ගත්තේ. විශේෂයෙන්ම විෂය නිර්දේශයට අයත් ප්‍රායෝගික කොටස් වලට අත් වැලක් වෙන්න  බලාපොරොත්තු වනවා. බොහෝ දෙනාට පයිතන් ඉගෙනුමට මනා ප්‍රවේශයක් ලබා ගැනීමට අපහසුයි.  අදාල සම්පත් නොමැතිවීම හා විශේෂයෙන් ප්‍රායෝගික ගැටලු නිරාකරණය කර ගැනීමට විධිමත් මාර්ගයක් නොමැතිවීම එයට ප්‍රධාන හේතුවක්. ඒ වගේම සිංහල බසෙන් පළ වන පොත් පත් සොයා ගැනීමට නොමැති තරම්. ඒ සියල්ලටම විසඳුමක් ලෙස උසස් පෙළ තොරතුරු හා සන්නිවේදන තාක්‍ෂණ විෂය හදාරන අයට මේ blog එක යොදා ගැනීමේ හැකියාව තිබෙනවා.  සිංහල හා ඉංග්‍රීසි මාධ්‍ය දෙකෙන්ම හදාරන සිසුන්ට උපකාරී වන අයුරින් සාමාන්‍ය ව්‍යවහාරයේ යෙදෙන වචන යොදාගෙන මෙහි පැහැදිලි කිරීම් සිදුකර තිබෙනවා. සිංහල බසින් විෂය හදාරන අයෙකුට කිසියම් ඉංග්‍රීසි වචනයකට අදාල සිංහල වචනය දැනගත යුතුනම් එය පහත link එක මගින් සිදුකළ හැකියි.
sinhala ICT glossary

ඔබේ ගැටළු මේ විද්‍යුත් ලිපිනයට යොමු කරන්න​.(dumindaukk@gmail.com)


ඔයාල දන්නවා පරිගණක භාෂාවකින් කරන්නේ පරිගණක සඳහා වැඩසටහන් නිර්මාණය කිරීම​, එහෙම නැතිනම් පරිගණකයට ක්‍රියා කරන්න ඕනෙ කොහොමද කියල  උපදෙස් ලබා දෙන එක​. පයිතන් කියල කියන්නේ ජාවා වලට පස්සෙ බිහිවුණ හොඳ​ පරිගණක භාෂාවක්. පයිතන් වල සුවිශේෂී ලක්ෂණ ගණනාවක්ම තියෙනවා.
*Program එකක් ලියන්න පාවිච්චි කල යුතු code lines ගණන අඩු වීම​.
* පහසුවෙන් හා වේගයෙන් code කළ හැකි වීම​
*ඉතා හොඳ inbuilt functions හා data structures තිබීම ආදී වශයෙන්...

*ඔයාල දන්නවද youtube, bittorrent වගේම​ හුඟක් GIS applications  හදල තියෙන්නෙ පයිතන් වලින් කියලා.

පයිතන් ඉගෙන ගන්න යනකොට ඇතිවන මූලික ගැටලුවක් තමයි internet එකේ තියෙන code එකක් සමහර විට අපට ඒ විදියටම run කරන්න බැරි වීම​. මේකට ප්‍රධාන හේතුවක් තමයි පයිතන් වල එක එක version එකෙන් version එකට commands වෙනස් වීම​. ඒ නිසා  syllabus එකට අනුව version එක 2.6 හෝ ඊට වඩා කලින් ආව එකක් පාවිච්චි කරනවනම් හොඳයි. මම උදාහරණ දක්වලා තියෙන්නෙ 2.5.4 version එකෙන්. ඔයාලට ඒක මේ link එකෙන් download කරගන්න පුලුවන්.
http://www.python.org/getit/releases/2.5.4/

අනෙකුත් පයිතන් පාඩම්
පයිතන් ඉගෙන ගනිමු
විචල්‍යයන්(Variables)
සංඛ්‍යා(Numeric Operations)
මොඩියුලො බෙදීම (Modulo Division)
සුළු කිරීමේ  ප්‍රමුඛතාව(Order Of Numeric Operations)
බූලියන් ගණිත කර්ම(Boolean Operations)
if elif else හි යෙදීම්
පරිශීලක ආදාන(User Inputs)
range function
Continue Statement
Break Statement
Python Lists
Python Tuples
Python Dictionaries
Python Functions