সি++ এ সেটপ্রেসিশন কীভাবে ব্যবহার করবেন

Si E Setapresisana Kibhabe Byabahara Karabena



আপনি হয়তো শিখেছেন এবং অধ্যয়ন করেছেন ভাসমান-বিন্দু মান এবং গণিত এবং পদার্থবিজ্ঞানের বৈজ্ঞানিক স্বরলিপি। আপনি ফ্লোটিং-পয়েন্ট নম্বরগুলিতে রাউন্ড-অফ সম্পাদন করতেও শিখে থাকতে পারেন। C++-এ সেটপ্রিসিশন ইউটিলিটি প্রায়ই ফ্লোটিং-পয়েন্ট পূর্ণসংখ্যা আউটপুট সিকোয়েন্সের ভিতরে প্রদর্শিত সংখ্যার ক্রম পরিবর্তন করতে ব্যবহৃত হয়। এটি রাউন্ড-অফ কার্যকারিতার মতোই কাজ করে। এই পদ্ধতিটি স্ট্যান্ডার্ড লাইব্রেরিতে সংজ্ঞায়িত করা হয়েছে। এই টিউটোরিয়ালে, আমরা আপনাকে দেখাব কিভাবে C++ এর 'সেটপ্রিসিশন' ফাংশন ব্যবহার করতে হয়। চল শুরু করা যাক. এটিতে কাজ করার জন্য আমাদের অবশ্যই 'Ctrl+Alt+T' এর মাধ্যমে উবুন্টু শেল অ্যাপ্লিকেশন শুরু করতে হবে। আমাদের C++ কম্পাইলার ইন্সটল শুরু করতে হবে, যা আমাদের ক্ষেত্রে g++। সুতরাং, উপযুক্ত প্যাকেজটি এখন পর্যন্ত এই উদ্দেশ্যে ব্যবহার করা হবে। সিস্টেমটি মাত্র কয়েক সেকেন্ডের মধ্যে g++ ইনস্টল করবে: $ sudo উপযুক্ত ইনস্টল g++

উদাহরণ 01:

সুতরাং, আমরা 'nano' নির্দেশ সহ 'new.cc' ফাইলটি খুলেছি। এই ফাইলটি শেলের 'টাচ' ক্যোয়ারী ব্যবহার করে তৈরি করা হয়েছে। ফাইলটি এখন ন্যানো এডিটরে একটি খালি ফাইল হিসাবে চালু করা হয়েছে। আমরা শীর্ষে ইনপুট-আউটপুট 'iostream' হেডার ফাইল যোগ করেছি। আমাদের কোডের সেটপ্রেসিশন() পদ্ধতি ব্যবহার করার জন্য 'iomanip' লাইব্রেরি যোগ করা হয়েছে। এর পরে, আমরা কোড এবং সিনট্যাক্সের স্ট্যান্ডার্ড পদ্ধতি ব্যবহার করছি তা নিশ্চিত করতে আমরা স্ট্যান্ডার্ড নেমস্পেস 'std' ব্যবহার করেছি। সামগ্রিক কোড C++ কোডের প্রধান() ফাংশনের মধ্যে সম্পাদিত হয়েছে। এই উদ্দেশ্যে অন্য কোন ব্যবহারকারী-সংজ্ঞায়িত ফাংশন ব্যবহার করা হয় না।







main() ফাংশনের মধ্যে, আমরা ডাবল ভ্যালু সহ একটি ডাবল টাইপ ভেরিয়েবল 'v' শুরু করেছি। প্রথম 'cout' স্ট্যান্ডার্ড স্টেটমেন্ট কোনো আপডেট ছাড়াই শেলের প্রকৃত ডবল ভেরিয়েবল মান 'v' প্রদর্শন করে। এর পরে, প্রতিটিতে setprecision() পদ্ধতি ব্যবহার করার জন্য আমরা 8টি cout স্টেটমেন্ট ব্যবহার করেছি। এটি প্রতিবার 'v' ভেরিয়েবলের প্রতিটি ফ্লোটিং-পয়েন্টে সেটপ্রেসিশন() প্রয়োগ করা। আপনাকে অবশ্যই বুঝতে হবে যে সেটপ্রিসিশন শুধুমাত্র 5-এর চেয়ে বেশি বা সমান মানের উপর কাজ করে। যদি ফ্লোটিং-পয়েন্ট মান 5-এর থেকে বড় হয়, তাহলে এটি তার আগে মান বৃদ্ধি করবে।



উদাহরণস্বরূপ, 1ম ফ্লোটিং-পয়েন্টে সেটপ্রেসিশন() পয়েন্টের পরে “5” কে রাউন্ড অফ করবে এবং “4” মান 5 এ রূপান্তরিত হবে। একইভাবে, 2য় ফ্লোটিং-পয়েন্ট মান “2” কে রাউন্ড অফ করা যাবে না, 3য় ফ্লোটিং-পয়েন্ট মান “7” মান “2” কে “3” এ রূপান্তর করবে, 4র্থ ফ্লোটিং-পয়েন্ট মান “4” কে রাউন্ড অফ করা যাবে না এবং 5ম ফ্লোটিং-পয়েন্ট মান “9” মান “4” কে রূপান্তর করবে ” এর আগে ৫টা। '0' পয়েন্টে '4' মানটিকে 5 এ রূপান্তর করবে। নেতিবাচক সেটপ্রেসিশন() পুরো প্রকৃত মান প্রদর্শন ছাড়া কিছুই করে না। ফ্লোটিং পয়েন্ট 0 থেকে 5 এবং -1, -2 এর সমস্ত মান সেটপ্রেসিশন() প্রয়োগ করার পরে প্রদর্শিত হবে:







G++ কম্পাইলেশন ক্যোয়ারী এবং './a.out' এক্সিকিউশন ক্যোয়ারী সহ সেটপ্রিসিশন C++ কোড কম্পাইল এবং চালানোর সময় এসেছে। আউটপুট দেখায় যে প্রথম সেটপ্রিসিশন(1) 4 থেকে 5 রূপান্তর করে। সেটপ্রিসিসন(2) কিছুই করেনি এবং '4.5' প্রদর্শন করে। সেটপ্রিসিশন(3) মানটিকে “4.52” থেকে “4.53” এ বৃদ্ধি করেছে। সেটপ্রিসিশন(4) “4.527” মানকে কিছুই করে না। সেটপ্রিসিশন(5) মানটিকে “4.5274” থেকে “4.5275” এ বৃদ্ধি করে। সেটপ্রেসিশন(0) মানটিকে 5 এ বৃদ্ধি করেছে। সেটপ্রিসিসন(-1) এবং সেটপ্রিসিসন(-2) নিচের মতো কিছুই করেনি:

$ g++ new.cc

$ / a.out



উদাহরণ 02:

আরেকটা দৃষ্টান্ত দেখে নেওয়া যাক। কোডটি উপরের উদাহরণের অনুরূপ, শুধুমাত্র এর cout বিবৃতিতে পরিবর্তন সহ। প্রথম cout মূল মান দেখায় যখন পরের দুটি ফ্লোটিং পয়েন্ট 1 এবং 5 এ setprecision() এর ফলাফল দেখায়। শেষ cout ফ্লোটিং-পয়েন্ট 9 এ setprecision() পদ্ধতির ফলাফল প্রদর্শন করে, যা শারীরিকভাবে উপলব্ধ নয়। 1 এবং 5 ফ্লোটিং-পয়েন্ট ফলাফলগুলি বেশ প্রত্যাশিত, তবে আমরা ফ্লোটিং-পয়েন্ট 9 সম্পর্কে কিছু বলতে পারি না। আসুন ফাইলটি এক্সিকিউট করি এবং এই কোডটির আউটপুট কী হবে তা পরীক্ষা করি:

# অন্তর্ভুক্ত করুন

# অন্তর্ভুক্ত করুন

ব্যবহার নামস্থান std ;

int প্রধান ( ) {

দ্বিগুণ ভিতরে = 4.52749 ;

cout << 'নির্ধারণের আগে মান: ' << ভিতরে << ' \n ' ;

cout << নির্ভুলতা ( 1 ) << 'ভাল 1 এ:' << ভিতরে << ' \n ' ;

cout << নির্ভুলতা ( 5 ) << 'Val at 5:' << ভিতরে << ' \n ' ;

cout << নির্ভুলতা ( 9 ) << '9 এ ভ্যাল:' << ভিতরে << ' \n ' ;

ফিরে 0 ;

}

এই কোডটি সংকলন এবং কার্যকর করার পরে, আমাদের কাছে ফ্লোটিং-পয়েন্ট মানের '4.52749' এর অবস্থান 1 এবং 3-এ নির্ভুলতার জন্য সুস্পষ্ট ফলাফল রয়েছে। সেটপ্রিসিশন 9 এর ফলাফল ডবল ভেরিয়েবল 'v' এর প্রকৃত মান দেখায়। অবস্থান 9-এর মান স্থির না হওয়ার কারণে এটি হতে পারে:

$ g++ new.cc

$ / a.out

চলুন একটি ভেরিয়েবল 'v' এর মান ঠিক করতে কোডটি আবার আপডেট করি। সুতরাং, ভেরিয়েবলের 1ম অবস্থানে প্রয়োগ করা প্রথম setprecision() cout স্টেটমেন্টের পরে, আমরা cout-এ স্থির ভেরিয়েবল ব্যবহার করেছি:

# অন্তর্ভুক্ত করুন

# অন্তর্ভুক্ত করুন

ব্যবহার নামস্থান std ;

int প্রধান ( ) {

দ্বিগুণ ভিতরে = 4.52749 ;

cout << 'নির্ধারণের আগে মান: ' << ভিতরে << ' \n ' ;

cout << নির্ভুলতা ( 1 ) << 'ভাল 1 এ:' << ভিতরে << ' \n ' ;

cout << স্থির ;

cout << নির্ভুলতা ( 5 ) << 'Val at 5:' << ভিতরে << ' \n ' ;

cout << নির্ভুলতা ( 9 ) << '9 এ ভ্যাল:' << ভিতরে << ' \n ' ;

ফিরে 0 ;

}

এই আপডেট করা কোডটি কম্পাইল এবং চালানোর পরে, আমরা একটি ভেরিয়েবল 'v' এর অবস্থান 9 এ সেট প্রিসিশনের স্থির ফলাফল পেয়েছি, অর্থাৎ, 4.527490000:

$ g++ new.cc

$ / a.out

উপসংহার:

অবশেষে, এটি একটি ডাবল ভেরিয়েবলের মান রাউন্ড অফ এবং প্রদর্শন করতে C++ কোডে setprecision() পদ্ধতি ব্যবহার করার বিষয়ে ছিল। আমরা কোডে স্থির ভেরিয়েবল এবং তাদের সুবিধাগুলিও ব্যাখ্যা করেছি। এছাড়াও, C++ এ সেট নির্ভুলতার ধারণা ব্যাখ্যা করার জন্য আমরা দুটি গুরুত্বপূর্ণ উদাহরণ প্রয়োগ করেছি। আমরা আশা করি আপনি এই নিবন্ধটি সহায়ক পেয়েছেন। আরও টিপস এবং টিউটোরিয়ালের জন্য অন্যান্য লিনাক্স ইঙ্গিত নিবন্ধগুলি দেখুন।