Skip to main content

Programming Basic - Part 02

Prigramming Badic - Part 02

ඇල්ගොරිතම පාලන ව්‍යුහ ( Control Structure )

ඇල්ගොරිතමයක් ක්‍රියාත්මක වෙද්දී එය අවසානය දක්වාම පියවරෙන් පියවර ගමන් කිරීම හෝ යම් කිසි කොන්දේසි වලට අනුව පියවරයන් තීරනය කිරීම සිදු කරන්නට පුලුවන්. මේ විදිහට ඇල්ගොරිතමයක ගැලීම පාලනය කීරීමට ප්‍රධාන පාලන ව්‍යුහ 3ක් භාවිතා කරනව.

1. අනුක්‍රමය ( Sequence )
2. වරණය ( Selection )
3. පුනර්කරණය ( Iteration )


අනුක්‍රමය :-
                   ඇල්ගොරිතමයක ආරම්භයේ සිට අවසානය දක්වාම එක් එක් පියවරින් පියවර පිළිවලින් ක්‍රියාත්මක වන ඇල්ගොරිතමයක ඇත්තේ අනුක්‍රමයකි.

Ex :- දෙන ලද සංඛ්‍යාවක දෙගුණයට 5ක් එකතු කර පෙන්වීම.

*සංඛ්‍යාවක් ඇතුලත් කිරීම (x)
*එගි දෙගුණය ලබා ගැනීම (2x)
*දෙගුණයට 5ක් එකතු කිරීම (2x+5)
*පිලිතුර Output කිරීම


වරණය :-
               කිසියම් Condition එකකට අනුව හෝ Condition එක true හෝ fales වීම මත අදාල පියවර තෝරා ක්‍රියාත්මක කිරීම වරණ පාලන ව්‍යුහයෙන් සිදු වේ.

Ex :- භාණ්ඩයක මිළ රු. 500 ට වැඩි නම් 10% වට්ටමක් හිමි වේ. නැත්නම් වට්ටමක් හිමි නොවේ.

*භාණ්ඩයේ මිළ (p) ඇතුළත් කිරීම.
*p>500 නම්,
                    10%ක වට්ටමක් හිමි වේ.
නොමැති නම්,
                     වට්ටමක් හිමි නොවේ.


*** වරණය :- p>500
*** වරණය සත්‍ය නම් :- 10%ක වට්ටමක් හිමි වේ.
*** වරණය අසත්‍ය නම් :- වට්ටමක් හිමි නොවේ.


පුනර්කරණය :-
                        ඇල්ගොරිතමයක පියවරක් හෝ පියවර කීපයක් කිසියම් කොන්දේසියක් සපුරාලන තුරු නැවත නැවත ක්‍රියාත්මක කරවීමට පුනර්කරණ පාලන ව්‍යුහය භාවිතා වේ.

Ex :- ගමක ගෙවල් 20 කට ජන්ද නාම ලේඛන බෙදීම.
               *ගෘහ මූලික අත්සන ලබා ගැනීම.
               *ජන්ද නාම ලේඛනය ලබා දීම.
               *ඊලග නිවසට යෑම.

මෙම පියවර 3 නිවෙස් 20 අවසන් වන තුරු, එනම් 20 වතාවක් නැවත නැවත සිදු විය යුතුය. එනම් යම් Condition එකක් යටතේ පුනර්කරණයක් සිදු වේ.

*කොන්දේසිය :- නිවෙස් 20 සම්පූර්ණ වීම.

*පුනර්කරණ පියවර :-
                                      *ගෘහ මූලික අත්සන ලබා ගැනීම.
                                      *ජන්ද නාම ලේඛනය ලබා දීම.
                                      *ඊලග නිවසට යෑම.

*පුනර්කරණය වන වාර ගණන :- 20



විශාල ප්‍රමාණයේ පරිගණක වැඩසටහන් නිර්මාණය කිරීමේදී මුලින් ඒවා සැලසුම්කරණය කල යුතුය. එමෙන්ම වැඩසටහන් නිර්මාණය හා නඩත්තු කිරීමේ පහසුව සදහාද එම වැඩසටහන වඩා සැලසුම් සහගතව නිර්මාණය කරගත යුතුය.


මොඩියුලකරණය සහ සංකලනය (Modularization & Mashup)

ඉතා සංකීර්ණ ගැටලු විසදීම සදහා පරිගණක ක්‍රමලේඛයක් ලියන එක ගොඩක් සංකීර්ණ දෙයක්.

ඒ නිසා එම සංකීර්ණ ගැටලුව පහසුවෙන් තේරුම් ගැනීමට හැකි කුඩා කොටස් වලට බෙදා ගනු ලැබේ. මෙය මොඩියුලකරණයයි.

මේ විදිහට බෙදා ගන්න එක කොටසකට අපි කියනව මොඩියුලයක් කියල. වැඩසටහනේ එක සමාන ක්‍රියකාරකම් මෙලෙස එක් මොඩියුලයක් ලෙස නිර්මාණය කරයි.

මේ විදිහට වැඩසටහනක් මොඩියුලගත කිරීමෙන් එම මොඩියුල කොටස් වෙනත් වැඩසටහන් සදහාද භාවිතා කිරීමේ හැකියාවක් තිබෙනවා.

ඒ කියන්නෙ,
                   ඔයා Supper Market එකකට Billing System එකක් හැදුවොත්, ඒකෙදි ලියන වැඩසටහනේ Printer එකට සම්බන්ධ කොටස, Barcode Reader එකට අදාල වැඩසටහන් කොටස වෙනම, User Interface එකේ Background Image එක , නම ආදී කොටස් සදහා වෙන වෙනම මොඩියුල් හැදුව කියල හිතන්න. එහෙම උනොත් ඔයාට පුලුවන් ආයෙ දවසක වෙනත් Shop එකක් සදහා හදන Billing System එකකදි Background Image එක, නම වගේ මොඩියුල් කීපයක් විතරක් වෙනස් කරල පහසුවෙන්ම ඒ Billing System එක හදාගන්න පුලුවන්.

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

විවිධ වූ පහසුකම් ඇතුළත් කරල දැනට පවතින මොඩියුල කීපයකින් අවශ්‍ය දත්ත ලබා ගනිමින් නව පහසුකම් සහිත කොටසක් නිර්මාණය කිරීම සංකලනය ( Mashup ) ලෙස හදුන්වයි.


ඇල්ගොරිතමයක් නිර්මාණය කිරීමේ ප්‍රදාන පියවර.

*ගැලීම් සටහන් ( Flow Charts )
*ව්‍යාජ කේත ( Pseudo Code )
*ආකෘති සටහන් ( Structure Charts )
*හස්ථානුරේඛන ( Hand Traces )


ගැලීම් සටහන් :-
                           ඇල්ගොරිතමයක Input, Sequence, Selection, Iteration, Output යන අවස්ථාවන් සම්මත සංකේත රූප සටහන් මගින් දැක්වීම ගැලීම් සටහන් වලදී සිදුවේ.

ව්‍යාජ කේත :-
                       ඇල්ගොරිතමයක් ඕනෑම අයෙකුට තේරුම් ගත හැකි සරල ඉංග්‍රීසි වචනයන් භාවිතයෙන් ලියා දැක්වීම මෙහිදී සිදු වේ. මේ Pseudo Code එකක් Computer එකේ Run කරන්න නම් බෑ. Pseudo Code එකක් කියන්නෙ Computer Language එකකින් ලිව්ව Code එකකුත් නෙවෙයි.

*ගැලීම් සටහනක් තුළ එක් එක් ක්‍රියාවලීන් නිරූපණය සදහා භාවිතා වන සම්මත සංකේතයන් සහ ඒවාට අදාල ව්‍යාජ කේත තුල බහුලව භාවිතා වෙන වචන පහල රූපවල තියනව.


Comments

Popular posts from this blog

Arduino පිළිබද දැණුම බෙදාගන්න එකතු වෙන්න අපි සමග. Arduino Advance කොටස් සමගම Arduino Basic ඉගෙනගන්න. ඒ වගේම Programing , Network වගේ දේවල් ඉගෙන ගන්න... විශිෂ්ඨයෙක් වෙන්න එකතු වෙන්න අපිත් එක්ක Popular Article :-  OV7670 with Arduino Arduino Time Symbols & Operators HC-12