Pseudocode:সিউডোকোড ডেভেলপমেন্ট হল অনাড়ম্বর ভাবে প্রোগ্রামিং এর syntax অনুসরণ না করে একটি বিষয়/সমস্যাকে program আকারে প্রকাশ করা । আর তারপর syntax মেনে program টা লেখা। অনেকের ক্ষেত্রে Pseudocode development নিজের ভেতরেই হয়ে যায়,আবার অনেকে কাগজে-কলমে pseudocode develop/refine করতে করতে চূড়ান্ত program/final refinement এ পৌঁছে যান। শুরুর দিকে কাগজে-কলমে pseudocode develop করা উচিত। কিছুটা অভিজ্ঞ হলে নিজের ভেতরেই তা করা যাবে। আমরা যদি 5,10,15,20 এই চারটি সংখ্যার গড় বের করতে চাই,তবে কিভাবে pseudocode develop করব তাই এখানে দেখানো হয়েছে।
Statement:
5,10,15,20 এর গড় বের করতে হবে।
First refinement:
সংখ্যাগুলোকে একটি Arrayতে নিতে হবে।
তারপর এদের যোগ করে গড় বের করতে হবে। গড় বের করতে হলে আমাদের দরকার সংখ্যাগুলোর যোগফল আর মোট সংখ্যা।
Second refinement:
Array a-তে সংখ্যাগুলোকে রাখি।
Arrayএর length হচ্ছে মোট কয়টি সংখ্যা নিয়ে আমরা কাজ করছি।
Arrayএর element গুলো যোগ করব।
যোগফলকে মোট সংখ্যা দিয়ে ভাগ করব।
গড়/ফলাফলকে screen এ দেখাব।
Third refinement:
a নামের একটি Array declare করি তারপর এটিকে initialize করি 5,10,15,20 সংখ্যাগুলো দিয়ে।
যোগফলের জন্য sum নামে একটি variable declare করি আর একে initialize করি 0 দিয়ে। aএর প্রথম element দিয়ে শুরু করে একে একে শেষ elementটিও sum এর সাথে যোগ করি।যোগ করবার কাজটি একেবারে শেষ element পর্যন্ত চলবে(Looping হচ্ছে)।
যোগফলকে(sum) aএর length দিয়ে ভাগ করলে গড় পাওয়া যাবে। res নামের একটি variable declare করে এই গড়কে ধারণ করি।
resকে screen এ দেখাই।
Final refinement:
var a=5,10,15,20
var sum=0
for var h=0 to a.length:
sum +=a[h]
h++
var res=sum/a.length
document. write(res)
উদাহরণ:
var a=[5,10,15,20];
var sum=0;
for(var h=0;h< a.length;h++){
sum +=a[h];
}
var res=sum/a.length;
document. write(res);
সময় বেশি বা একঘেয়ে লাগলেও একটু কষ্ট করে শুরুর দিকে এভাবেই pseudocode development এর মাধ্যমে programming সমস্যা গুলো সমাধান করা উচিত। ধীরে ধীরে অভ্যস্ত হয়ে গেলে আর কাগজ-কলম লাগবে না মাথার ভেতরে দ্রুতই এটি হয়ে যাবে আর জটিল সমস্যাগুলো সহজে সমাধান করা যাবে।
কৃতজ্ঞতাঃ এই লেখা তৈরি করতে দরকারি তথ্য নেয়া হয়েছে Wikipedia, internet ও আমার তৈরি করা নানা program থেকে।
মন্তব্য ও যোগাযোগঃ mrh4478@gmail.com
No comments:
Post a Comment