ගැටළුවක් විසඳීම සඳහා අනුගමනය කළ යුතු පියවර සියල්ල අනුපිළිවෙළින් දැක්වෙන ක්රමවේදය අල්ගොරිතමයක් ලෙස හැඳින්වෙන බව අප දනිමු. අල්ගොරිතමයක් ගොඩ නැංවීම සඳහා ගැලීම් සටහන් සහ ව්යාජ කේත යන ක්රම දෙකෙන් එකක් යොදා ගන්නට පුළුවන. මෙම පාඩමෙන් විස්තර කෙරෙන්නේ ව්යාජ කේත (pseudo code) හෙවත් කල්පිත ක්රමලේඛ පිළියෙළ කරන ආකාරය ගැනයි.
ව්යාජ කේත සටහන්
ව්යාජ කේත සටහනක් පිළියෙළ කරගත් පසු එය ඕනෑම පරිගණක භාෂාවකට ගැළපෙන සේ පරිවර්තනය කිරීමට පුළුවන. මෙම ව්යාජ කේත අනුක්රමික පාලක ආකෘතිය (Sequence Control Structure), වරණ පාලක ආකෘතිය (Selection Control Structure) සහ පුනරාවර්තක පාලක ආකෘතිය (Repetition Control Structure) යනුවෙන් තෙයාකාරය.
අනුක්රමික පාලක ආකෘතිය
එකකින් පසුව තවත් එකක් යම්කිසි පිළිවෙළකට අනුව ක්රියාත්මක වෙන සේ වැඩසටහන් ලිවිම අනුක්රමික පාලක ආකෘතියට අයත් වෙයි. මෙහි පොදු ආකෘතිය මෙසේය.
Start
වැඩසටහනට අදාළ කේත සටහන
End
මෙහිදී වැඩසටහනේ ආරම්භය දක්වා එයට පහළින් වැඩසටහන තුළින් ක්රියාත්මක කරවන ව්යාජ කේත යොදනු ලබයි. වැඩසටහන අවසන් කරන්නේ End යන්නෙනි. මෙය තේරුම් ගනු පිණිස පහත දක්වා ඇති සරල සංඛ්යා දෙකක් එකතු කිරීමට අදාළ ව්යාජ කේත සටහන සලකා බලන්න.
Start
A1,B1,Total = 0
Input A1 = 5
Input B1 = 10
Total = A1 + B1
Output = Total
End
මෙහි Start යන්න යටතේ ඇති කේත තරමක් ඇතුළට වෙන්නට ලියා ඇත්තේ පැහැදිළිව අවබෝධ කර ගැනීම සඳහාය. කේත සටහන ලියන විට ඒවා වඩාත් පැහැදිළිව හඳුනා ගැනීම සඳහා මේ ආකාරයෙන් ලිවිය යුතුය. මෙම කේතවල පළමු පේළියෙන් වැඩසටහන ආරම්භ කර ඇත. 2 වැනි පේළියේ සිට 6 වැනි පේළිය දක්වා තිබෙන්නී වැඩසටහනට අදාළ ව්යාජ කේතයි.
මෙම 2 වැනි පේළියේ දී විචල්ය තුනක් සකස් කර තිබේ. එහිදී A1,B1 සහ Total ලෙස දක්වා තිබෙන්නේ විචල්යවල නම්ය. විචල්ය සඳහා නම් යොදන විට ඒ සඳහා කැමති නමක් යෙදිය හැකි වුවත් ඒ සඳහා අංක පමණක් භාවිතා කරන්නේ නැත. එමෙන්ම විචල්යක නමක් සඳහා වචන දෙකක් හෝ කීපයක් හෝ යොදා ගන්නේ නම් වචන අතර හිස් තැන් තබන්නේද නැත. මී ආකාරයෙන් විචල්ය යොදා ගන්නේ ඒවා තුළ සංඛ්යා හෝ වෙනත් දත්ත හෝ ගබඩා කිරීමටය.
මෙහි ලබා ගෙන ඇති විචල්යවලදී Total විචල්ය සඳහා 0 යන අගය ඇතුළු කර ඇත. එහෙත් A1 සහ B1 යන විචල්ය සඳහා දෙවැනි පේළියේදී කිසිඳු දත්තයක් ඇතුළත් කර නැත මෙම කේත තුළ 3 වැනි පේළියේ දී A1 විචල්ය සඳහා 5 යන සංඛ්යාව ඇතුළු කර තිබේ. 4 වැනි පේළියේ දී B1 යන විචල්යට ඇතුළු කර තිබෙන්නේ 10 යන සංඛ්යාවය. A1 සහ B1 යන විචල්ය දෙක එකතු වී ලැබෙන පිළිතුර Total විචල්ය තුළ ගබඩා කරන්නේ මෙහි 5 වැනි පේළියෙනි. Total විචල්ය තුළ තිබෙන අගය ප්රතිදානය කරන්නේ 6 වැනි පේළියෙනි. එහිදී Output යන වචනය ලියා තිබෙන්නේ ප්රතිදානය කරන බව දැන්වීමට ය. මේ ආකාරයෙන් සංඛ්යා ගණනය කිරීම, සෘජුකෝණාස්රයක දිග සහ පළල ලබාදී වර්ග ඵලය සෙවීම වනු සරල ක්රමලේඛ සඳහා අනුක්රමික පාලක ආකෘතිය භාවිතා කිරීමට පුළුවන.
වරණ පාලක ආකෘතිය
ලබා දෙන කොන්දේසියේ ක්රියාවලි දෙකක් හඳුනා ගෙන ඒවා මාර්ග දෙකකට බෙදා දැක්වීම මෙහිදී කරයි. එනම් ලබා දෙන කොන්දේසියේ සත්යසත්යතාව මත වැඩ සටහනේ ඉතිරි කේතවල ක්රියාකාරීත්වය වෙනස් වේ.වරණපාලක ආකෘතියට අනුව ව්යාජ කේත ගොඩ නංවන විට If, Else සහ End If යන පද භාවිතා කරයි. මෙහි පොදු ආකෘතිය මෙසේය.
If (කොන්දේසිය)
කොන්දේසිය සත්ය නම් විය යුතු කාර්ය
Else
කොන්දේසිය අසත්ය නම් විය යුතු කාර්ය
End If
මෙය තේරුම් ගැනීම සඳහා පහත දැක්වෙන ව්යාජ කේත වෙත අවධානය යොමු කරන්න. මෙහිදී යම් කිසි විෂයකට ලබාගත් ලකුණු වලට නුව සමත්බව හෝ අසමත් බව හෝ පෙන්වීමට කේත ලියා තිබේ.
Start
Marks
Input Marks = 60
If (Marks >= 50)
Output "Pass"
Else
Output "Fail"
End If
End
මෙම කේත තුළ 2 වැනි පේළියේ දී Marks යන නමින් විචල්යක් ලබා ගෙන තිබේ. තුන් වැනි පේළියේ දී එම Marks යන විචල්ය සඳහා 60 යන අගය ආදේශ කර ඇත. මෙය එක් විෂයක් සඳහා ලබා ගත ලකුණුය. මෙහි 4 වැනි පේළියේ දී එම Marks නම් විචල්යයේ අගය 50 ට විශාල හෝ සමාන දැයි විමසයි. එය එසේ නම් 5 වැනි පේළිය ක්රියාත්මක වී Pass යන්න ප්රතිදානය ආකාරයි. ඒ අනුව මෙහිදී Marks විචල්ය සඳහා 60 යන අගය ආදේශ කර ඇති බැවින් පිළිතුර ලෙස ලැබෙන්නේ Pass යන්නය. එහෙත් 3 වැනි පේළියේ දී ලැබෙන්නේ Marks විචල්ය සඳහා 50 ට අඩු අගයක් යෙදුවේ නම් ක්රියාත්මක වෙන්නේ මෙහි Else කොටසින් පසුව තිබෙන කේත කොටසය. ඒ අනුව ප්රතිදානය කරන්නේ Fail යන වචනයයි. මෙම කේත තුළ 8 වැනි පේළියෙන් if වරණ පාලකයේ අවසානය දක්වා තිබේ. ව්යාජ කේත මඟින් දිගින් දිගටම කොන්දේසි පරික්ෂා කිරීමට අවශ්ය නම් if වරණය සමඟ යොදන Else යන්න වෙනුවට Elseif යන්න භාවිතා කරයි. මෙහි ආකෘතිය සැකසෙන්නේ පහත දක්වා ඇති විදියටය.
If (කොන්දේසිය)
කොන්දේසිය සත්ය නම් විය යුතු කාර්ය
Elseif (දෙවැනි කොන්දේසිය)
දෙවැනි කොන්දේසිය සත්ය නම් විය යුතු කාර්ය
Elseif (තෙවැනි කොන්දේසිය)
තෙවැනි කොන්දේසිය සත්ය නම් විය යුතු කාර්ය
Else
කොන්දේසිය අසත්ය නම් විය යුතු කාර්ය
Else
කොන්දේසි සියල්ල අසත්ය නම් විය යුතු කාර්ය
End If
මේ ආකාරයෙන් Elseif යොදමින් අවශ්ය තරම් කොන්දේසි ලබාදිය හැක. පහත දක්වා ඇත්තේ ලකුණු වලට අදාළව A, B, C, S සහ W ආකාරයට සාමාර්ථ ලබා දීම සඳහා ලියා ඇති ව්යාජ කේත සටහනකි.
Start
Marks
Input Marks = 60
If (Marks >= 75)
Output "A"
ElseIf (Marks >= 65)
Output "B"
ElseIf (Marks >= 55)
Output "C"
ElseIf (Marks >= 35)
Output "S"
Else
Output "W"
End If
End
මෙහිදී කොන්දේසි පරික්ෂා කිරීම දිගින් දිගටම කරනු ලබයි. ඒ අනුව 4 වැනි පේළියෙන් Marks විචල්යයේ අගය 75 ට වැඩි නම්, 5 වැනි පේළියෙන් A අකුර ප්රතිදානය කරයි. මේ ආකාරයෙන් 6 වැනි පේළියේ දී Marks විචල්යයේ අගය 65 ට වැඩි දැයි බලයි. එසේ නම් 7 වැනි පේළියෙන් B යන්න ප්රතිදානය කරයි. මී ආකාරයෙන් නැවත නැවත කොන්දේසි පරික්ෂා කර පිළිතුරු දීම 11 වැනි පේළිය දක්වා කරුණු ලබයි. මෙහි 12 වැනි පේළියේ ලියා තිබෙන්නේ else විධානයයි. ඒ අනුව 13 වැනි පේළියේ ඇති කේතය ක්රියාත්මක වෙන්නේ සියලු කොන්දේසි අසත්ය නම් පමණි.
තවත් කොටසක් ඉදිරියට..