Monday , December 11 2017
Home / সব ল্যাঙ্গুয়েজ / সি টিউটোরিয়াল, পর্ব ৫– (প্রোগ্রামিংপরিকল্পনার ধাপ, অ্যালগরিদম ও ফ্লো-চার্ট )

সি টিউটোরিয়াল, পর্ব ৫– (প্রোগ্রামিংপরিকল্পনার ধাপ, অ্যালগরিদম ও ফ্লো-চার্ট )

আপনাকে সমস্যা দেয়া হবে সমস্যা সমাধানের জন্য অথবা আপনি নিজে তৈরি করবেন  এবং সমস্যা সমাধানে আপনাকে কিছু ধাপ/পরিকল্পনা অনুসরণ/গ্রহন করতে হবে যা আপনাকে আপনার কাজ সহজ করে দিবে। সাধারণত নিম্মের ৯ টি ধাপ অনুসরণ করে করে আপনি সমস্যা সমাধান করতে পারবেন,এগুলোই আপনার পরিকল্পনার ধাপ বলে বিবেচিত  –

১) সমস্যা বিশ্লেষণঃ এ ধাপে আপনাকে বুঝতে হবে সমস্যাটি আসলে কি রকম এবং কি ভাবে সমাধান করতে হবে।

২) ইনপুট/আউটপুট বিশ্লেষনঃ আপনাকে বুঝে নিতে হবে , সমস্যা সমধাঙ্কল্পে ইনপুট কি রকম হওয়া উচিৎ এবং সম্ভাব্য আউটপুট কি হতে পারে।

৩) অ্যালগরিদম উন্নয়নঃ সমস্যা সমাধানে গৃহীত যৌক্তিক এবং অনুক্রমিক সিদ্ধান্তই হল অ্যালগরিদম উন্নয়ন।এটি যেকোন ভাষায় লিখতে পারেন।

৪) ফ্লো- চার্ট তৈরিঃ অ্যালগরিদম এর চিত্র ভিত্তিক প্রকাশকেই বলা হয় ফ্লো- চার্ট।

৫) ভাষা নির্ধারণঃ ২ ও ২ যোগ কর। এটি সমাধানে পাইথন অবশ্যই সহজ ভাষা। কিন্তু আপনি যেহেতু নতুন এবং সি লার্নার সেহেতু এটি করতেও আপনি সি ব্যবহার করবেন।

৬) প্রোগ্রাম লেখাঃ ৩ ও ৪ নং ধাপের ভিত্তিতে প্রোগ্রাম লিখে ফেলা।

৭) কম্পাইল করাঃ ইহা ভুল নির্ণয়ের জন্য আপনাকে করতেই হবে, এবং প্রত্যেকের করা উচিৎ। বর্তমানের উন্নতমানের আইডিই গুলোতে সহজেই কম্পাইল করা যায় আবং কোডব্লোক্স এও পাবেন সুবিধাটি।

৮) টেষ্টিংঃ আপনার আউটপুট কতটুকু নির্ভুল তা চেক করার জন্য আপনাকে তা করতে হবে।

৯) ডকুমেন্টেশনঃ কোড সমন্ধে সারসংক্ষেপ লিখে রেখে দিতে পারেন অথবা কমেন্ট ব্যবহার করতে পারেন।

অ্যালগরিদমঃ সমস্যা সমাধানে গৃহীত সম্ভাব্য উপায়কে গ্রহণযোগ্যতা এবং যৌক্তিকতার ভিত্তিতে অনুক্রমিকভাবে সাজানোকেই অ্যালগরিদম বলে। “ একজন ভাল প্রোগ্রামার সর্বদা ও সবার আগে আল্গরিদম উন্নয়ন নিয়ে ভাবেন”। আগেও বলেছি এটি যেকোন ভাষায় লেখা যায় এবং একে সুডো কোড বলে।

#ত্রিভুজ এর ক্ষেত্রফল বের করার অ্যালগরিদম দেয়া হল-

(বুঝতে অসুবিধা হলে প্রশ্ন করুণ)

 

Step 1: start

Step 2: get a,b,c

Step 3: if a+b>c, b+c>a, c+a>b then s = (a+b+c)/2.

And area= sqrt(s(s-a)(s-b)(s-c))

Show “the area”

Else

Show “triangle is not possible”

Step 4: End.

 

ছোট ছোট সমস্যা সমধানে ব্যবহার না করলেও পারবেন কিন্তু এটি অনেক সুবিধা দান করে ভাল কোডিং এর জন্য। উল্লেখ্য যে, ভাল প্রোগ্রামার ভাবতে সময় নেয় ৯০% সময়, ১০% সময় ব্যয় করে কোড লিখতে। আপনি যদি ভাল করতে চান অবশ্যই অ্যালগরিদমে ভাল করতে হবে না হলে টাইপিস্ট ছাড়া কিছু না হতেও পারেন! ভাল একটি বই হল ডাটা স্ট্রাকচার এন্ড অ্যালগরিদম বাই স্যার কোরম্যান।

 

ফ্লো- চারটঃ অ্যালগরিদমের চিত্রভিত্তিক বর্ণনা যা কোড লেখার সময় স্টেটমেন্ট গুলো ব্যবহার করা সহজ করে দেয়। নিম্মে প্রোগ্রাম ফ্লো- চার্টের বর্ণনা দেয়া হল।

আরম্ভ/শেষঃ উপবৃত্তকে শেষ /শুরুর প্রতীক হিসেবে ধরা হয়।

startend

চিত্রঃ শুরু/ শেষ নির্ণায়ক চিহ্ন

আই/ওঃ এটা আওকটি সামন্তরিক আকারের চিহ্ন , যা কোন কিছু (ডাটা) ইনপুট/ আউটপুট নির্ণয় করে।

io

চিত্রঃ ইনপুট/ আউটপুট চিহ্ন

প্রক্রিয়াকরণ চিহ্নঃ লজিক্যাল অপারেশন সম্পন্ন করা বোঝাতে এই চিহ্ন ব্যবহৃত হয়। এই চিহ্ন টি একটি আয়তাকার।

process

চিত্রঃ প্রসেস চিহ্ন

সিদ্ধান্ত গ্রহণ চিহ্নঃ শর্ত সাপেক্ষে যখন কাজ করানো হয় তখন এই প্রতীক ব্যবহৃত হয়। এটি রম্বসের অনুরূপ দেখতে।

decision maker

চিত্রঃ সিদ্ধান্ত গ্রহণ প্রতীক

সংযোগ চিহ্নঃ দুটি সিদ্ধান্তমূলক চিহ্নকে সংযোগ করতেই এটি ব্যবহৃত হয়। এটা মূলত একটি গোলাকার বৃত্ত ।

connector

চিত্রঃ কানেক্টর / সংযোগ চিহ্ন

প্রবাহ লাইন চিহ্নঃ একটি চিহ্নের সাথে অন্য চিহ্নের সম্পর্ক স্থাপনে এটি ব্যবহার করা হয়।

flowline

চিত্রঃ ফ্লো লাইন চিহ্ন

সাব প্রোগ্রাম প্রতীকঃ প্রোগ্রামে অনেক সময় ক্ষুদ্র ক্ষুদ্র / একাধিক প্রোগ্রাম/সাব প্রোগ্রাম থাকে সেগুলোকে নির্দেশ করতে এই চিহ্ন ব্যবহার করতে হয়।

 

subroutine
চিত্রঃ সাব প্রোগ্রাম চিহ্ন

লুপ চিহ্নঃ যদি কোন অংশ একাধিক বার ব্যবহার করা লাগে সেক্ষেত্রে লুপ ব্যবহৃত হয়, এর চিহ্ন ডায়মন্ডের মত।loop

চিত্রঃ লুপ প্রতীক

আশা করি প্রোগাম করার ক্ষেত্রে এই নিয়ম গুলো মেনেই প্রোগ্রামিং করবেন, এতে আপনার প্রোগ্রামিং ক্যারিয়ার টেকসই হবে।

নিচে ত্রিভুজের অ্যালগরিদমের ভিত্তিতে একটি ফ্লো চার্ট অংকন করা হল।

 

raj

চিত্রঃ ত্রিভুজের ক্ষেত্রফল নির্ণয়ের ফ্লো- চার্ট ।

ত্রিভুজের ক্ষেত্রফল নির্ণয়ের প্রোগ্রাম টি কি করে ফেলতে পারবেন না এখন??

এগুলো খুব সহজ ব্যাপার , আপনি না ঘাবড়ে গেলেই সফলতা পাবেন । প্রশ্ন থেকে গেলে করতে পারেন। পরবর্তী  ট্রপিকস আসা পর্যন্ত সাথেই থাকুন।

Comments

comments

About msazadcsekpik

Check Also

Protected: Cairo Install on ubuntu (LAMPP)

There is no excerpt because this is a protected post.