ක්රමලේඛනය යනු පරිගණකය ඇසුරින් ගැටලු විසදීමේ ක්රාමවේදයයි. එනම් පරිඝනක ක්රම ලේඛනයක් යනු යම් කිසි අරමුනක් ඉටු කරගැනීමට පරිගණකය වෙත ලබා දෙනු ලබන අනුපිලිවෙලක් සහිත විධාන සමූහයකි.
ගැටලු විසදීමේ තාක්ෂණික ක්රමවේදය.1. ගැටලුව හරි හැටි තේරුම්ගැනීම.
a. ගැටලුව මනා ලෙස කියවා අවබෝධ කර ගැනීම.
b. ගැටලුව සංකීර්ණ නම් එය තවත් කුඩාසංකීර්ණ නොවන ගැටලු බවට පත් කිරිම.
2. ගැටලුව විසදීමට අවශ්ය දේ හඳුනා ගැනීම (input)
3. ගැටලුව විසඳීමෙන් ලැබෙන ප්රතිඵල හඳුනා ගැනීම (output)
4. ගැටලුව විසදීම සඳහා ක්රකමවේදයක් සකස් කිරිම.(algorithm)
ගැලීම් සටහනක් යනු යම්කිසි ක්රිදයාවලියක ට හෝ ගැටලු විසඳීමකට අදල සමස්ත ක්රියාවලිය නිරූපනය කිරීමට භාවිතා කරන රූපසටහනකි. එය නිර්මාණය කිරීමට ලාක්ෂනික වූ සම්මත සංකේත ක්රමවෙදයක් පවතී පහත වගුවෙහි ගැලීම් සටහන් ඇදීමට භාවිතා කරන එම සම්මත සංකේත විස්තර කර ඇත.

මෙම රූපීය නිරූපනය මගින් දෙන ලද ගැටලුවක් සදහා ක්රරමානුකූලව උත්තරය ලබගත හැක. ගෑලීම් සටහනක පවතින්නා වූ ප්රයෝජන වන්නේ තේරුම් ගෙනීමේ පහසුව හා පැහැදිල ව සරල ව ගැටලුව චිත්රනය කල හැකි වීමයි.
නීති.සෑම ගැලීම් සටහනක්ම Terminator ලකුණින් ආරම්භ කර Terminator ලකුණින් අවසන් විය යුතුයි.
ක්රියාවලීන් සඳ එකම ආරම්භක ස්ථානයක් සහ එකම අවසාන ස්ථානයක් තිබිය යුතුයි.
තීරණ සඳහා එකම ඇතුල් වීමේ ස්ථානයකුත් එහි නිවැරදි අවස්ථාව සඳහා එක් පිටවීමකුත් වැරදි අවස්ථව සඳහා වෙනත් පිටවීමකුත් තිබිය යුතුයි.
Algorithm is any well defined computational procedure that takes some value or set of values as input and produces some value or set of values as output.
ඇල්ගොරිතමයක් යනු කිසියම් අගයක් හෝ අගයන් කිහිපයක් අදාල ලෙස භාවිතා කරමින් කියම් අගයක් හෝ අගයන් කිහිපයක් ප්රතිදාන ලෙස ලබා දෙන මනා ලෙස විග්රහ කරනු ලබු ගණනය කිරීමේ ක්රම වේදයකි. වෙනත් අයුරකින් පැවසුවහොත් ගැලීම් සටහනක ලිඛිත ස්වරූපය ඇල්ගොරිතමයක් වේ.
ඇල්ගොරිතමයක ගුණාංග1.නිවැරදි බව.
2. සැක සහිත නොවිය යුතුයි.
3. සෑම අවස්ථාවක් සඳහාම ලබදෙන පිලිතුර නිවරදි විය යුතුයි.
4. සරල විය යුතුයි.
5. අවසානයක් තිබිය යුතුයි.
Q. කූඩාරමක් තනාගැනීමේ ක්රමවේදයසඳහාAlgorithmයක් ලියන්න.
- මොකක්ද මේ programming language?
පරිගණකයට තේරුම් කර ගත හැකි ආකාරයට යම් අරමුණක් ඉටු කරගැනීමට විවිධ වූ විධාන පරිඝනක වෙත ලබා දීමට භාවිතා කරනු ලබන කිසියම් ලාක්ෂනික ව්යාකරන සහිත භාෂාවන් ක්රම ලේඛන භාෂා හෝ programming language ලෙස හඳුන්වයි.
high-level programming languagesපරිගණකයත් සමග ඉතාම සවිමත් ලෙස සහසම්බන්ධතා පැවත්වියහැකි lanuages වේ.එය ව්ය වහරික භාශාවේ වචන වලට සමන වූ වචන යතුරු වචන (key word) වලින් සමන්විත නිසා පහසුවෙන් මතක තබා ගත හැකිය.
උ.දා: C#, VB, C++, Java, C, Pascal, python
low level programming languageදෘඩාංග සමග බොහෝ සෙයින් සමීපව කටයුතු කරන languages,low level languages ලෙස හඳුන්වනු ලබයි.
Machine language.
Assembly languages