ক) ইন্টারপ্রিটার কী?
ইন্টারপ্রিটার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা উচ্চস্তরের ভাষায় লিখিত সোর্স কোডকে এক লাইন করে পড়ে এবং সাথে সাথে সেটিকে যান্ত্রিক ভাষায় রূপান্তর করে কার্যকারিতা শুরু করে।
খ) C প্রোগ্রাম "/" ও "%" অপারেটর দুটির গাণিতিক প্রক্রিয়া অভিন্ন— ব্যাখ্যা কর।
C প্রোগ্রামে
/ (ডিভিশন) এবং
% (মডুলাস) উভয়ই ভাগের কাজ করে, কিন্তু তাদের ফলাফল প্রদানের ধরণ ভিন্ন। "/" অপারেটর দুটি সংখ্যার ভাগফল (Quotient) প্রদান করে। অন্যদিকে, "%" অপারেটর ভাগের পর অবশিষ্ট বা ভাগশেষ (Remainder) প্রদান করে। যেমন: ৫ কে ২ দিয়ে ভাগ করলে 5/2 এর ফলাফল হবে 2, কিন্তু 5%2 এর ফলাফল হবে 1।
গ) উদ্দীপকে উল্লিখিত আউটপুট পাওয়ার প্রোগ্রামের ফ্লোচার্ট
উদ্দীপকের শর্তানুসারে সময় (Time) ইনপুট নিয়ে সঠিক মেসেজ প্রিন্ট করার ফ্লোচার্ট নিচে বর্ণনা করা হলো:
*
ধাপ ১: শুরু (Start)।
*
ধাপ ২: সময় (hour) ইনপুট নিই (এখানে ২৪ ঘণ্টার ফরম্যাট ব্যবহার করা সুবিধাজনক)।
*
ধাপ ৩: যদি $5 \le hour < 12$ হয়, তবে "Morning" প্রদর্শন করি।
*
ধাপ ৪: যদি $12 \le hour < 17$ হয়, তবে "Afternoon" প্রদর্শন করি।
*
ধাপ ৫: যদি $17 \le hour < 21$ হয়, তবে "Evening" প্রদর্শন করি।
*
ধাপ ৬: অন্যথায় (রাত ৯টা থেকে ভোর ৪:৫৯) "Night" প্রদর্শন করি।
*
ধাপ ৭: শেষ (End)।
ঘ) else if statement ব্যবহার করে C ভাষার কোড
নিচে উদ্দীপকের সময় অনুযায়ী আউটপুট পাওয়ার জন্য C প্রোগ্রাম দেওয়া হলো (সহজভাবে হিসাবের জন্য ২৪ ঘণ্টার ফরম্যাট ব্যবহার করা হয়েছে):
#include <stdio.h>
int main() {
int hour;
printf("Enter time in 24-hour format (0-23): ");
scanf("%d", &hour);
if (hour >= 5 && hour < 12) {
printf("Morning\n");
}
else if (hour >= 12 && hour < 17) {
printf("Afternoon\n");
}
else if (hour >= 17 && hour < 21) {
printf("Evening\n");
}
else if ((hour >= 21 && hour <= 23) || (hour >= 0 && hour < 5)) {
printf("Night\n");
}
else {
printf("Invalid Input!\n");
}
return 0;
}ব্যাখ্যা:
১. প্রোগ্রামটিতে ইনপুট হিসেবে ২৪ ঘণ্টার ফরম্যাট নেওয়া হয়েছে (যেমন: ৫ টা বিকাল মানে ১৭)।
২.
else if ল্যাডার ব্যবহার করে প্রতিটি নির্দিষ্ট সময়ের সীমার জন্য পৃথক শর্ত দেওয়া হয়েছে।
৩. লজিক্যাল অ্যান্ড (
&&) এবং অর (
||) অপারেটর ব্যবহার করে সময়কে নিখুঁতভাবে যাচাই করা হয়েছে।