ক) মেশিন ভাষা কী?
মেশিন ভাষা হলো কম্পিউটারের নিজস্ব ভাষা, যা কেবল ০ এবং ১ ব্যবহার করে লেখা হয়। এটি কম্পিউটার সরাসরি বুঝতে পারে এবং এতে কোনো অনুবাদক প্রোগ্রামের প্রয়োজন হয় না।
খ) ডিবাগিং একটি অত্যাবশ্যকীয় কাজ— ব্যাখ্যা কর।
প্রোগ্রামের ভুল খুঁজে বের করে তা সংশোধন করার প্রক্রিয়াকে ডিবাগিং বলা হয়। একটি প্রোগ্রাম সঠিকভাবে লিখে রান করলেও এতে লজিক্যাল বা সিনট্যাক্স ভুল থাকতে পারে, যার ফলে ভুল ফলাফল আসার সম্ভাবনা থাকে। তাই প্রোগ্রামের নির্ভুলতা নিশ্চিত করতে এবং কাঙ্ক্ষিত ফলাফল পাওয়ার জন্য ডিবাগিং করা একটি অত্যাবশ্যকীয় কাজ।
গ) উদ্দীপকের চিত্রটির (ত্রিভুজ) পরিসীমা নির্ণয়ের অ্যালগরিদম
উদ্দীপকের চিত্রটি একটি ত্রিভুজ যার বাহুত্রয় যথাক্রমে X, Y এবং Z। এর পরিসীমা $P = X + Y + Z$।
ধাপ ১: শুরু করি।
ধাপ ২: ত্রিভুজের তিনটি বাহুর মান X, Y এবং Z ইনপুট নিই।
ধাপ ৩: পরিসীমা $P = X + Y + Z$ হিসাব করি।
ধাপ ৪: পরিসীমা P এর মান প্রদর্শন করি।
ধাপ ৫: শেষ করি।
ঘ) ত্রিভুজটির ক্ষেত্রফল নির্ণয়ের জন্য C ভাষার প্রোগ্রাম
ত্রিভুজের তিনটি বাহু দেওয়া থাকলে ক্ষেত্রফল নির্ণয়ের জন্য প্রথমে অর্ধ-পরিসীমা $s = \frac{X+Y+Z}{2}$ এবং তারপর ক্ষেত্রফল $Area = \sqrt{s(s-X)(s-Y)(s-Z)}$ সূত্রটি ব্যবহার করতে হয়।
#include <stdio.h>
#include <math.h>
int main() {
float X, Y, Z, s, area;
printf("Enter the three sides of the triangle: ");
scanf("%f %f %f", &X, &Y, &Z);
// অর্ধ-পরিসীমা নির্ণয়
s = (X + Y + Z) / 2;
// হিরনের সূত্র ব্যবহার করে ক্ষেত্রফল নির্ণয়
area = sqrt(s * (s - X) * (s - Y) * (s - Z));
if (X + Y > Z && X + Z > Y && Y + Z > X) {
printf("Area of the triangle is: %.2f", area);
} else {
printf("Triangle formation is not possible.");
}
return 0;
}ব্যাখ্যা:
১. গাণিতিক ফাংশন
sqrt() ব্যবহারের জন্য
math.h হেডার ফাইল ব্যবহার করা হয়েছে।
২. তিনটি বাহুর দৈর্ঘ্য ইনপুট নেওয়ার পর প্রথমে ত্রিভুজ গঠন সম্ভব কি না তা যাচাই করা হয়েছে।
৩. আউটপুট হিসেবে দশমিকের পর দুই ঘর পর্যন্ত প্রদর্শনের জন্য
%.2f ব্যবহার করা হয়েছে।