ক) ইন্টারপ্রেটার কী?
ইন্টারপ্রেটার হলো এমন এক ধরনের অনুবাদক প্রোগ্রাম যা উচ্চস্তরের ভাষায় লিখিত সোর্স প্রোগ্রামকে এক লাইন করে যান্ত্রিক ভাষায় রূপান্তর করে এবং সাথে সাথে ফলাফল প্রদর্শন করে।
খ) সি-প্রোগ্রামে ধ্রুবক (Constant) ঘোষণার দুটি নিয়ম লিখ।
সি-প্রোগ্রামে ধ্রুবক ঘোষণার প্রধান দুটি নিয়ম হলো:
১. const কিওয়ার্ড ব্যবহার করে: ভেরিয়েবল টাইপের আগে const কিওয়ার্ড যোগ করে ধ্রুবক ঘোষণা করা যায়। যেমন: const float PI = 3.1416;।
২. #define প্রি-প্রসেসর ব্যবহার করে: মেইন ফাংশনের বাইরে হ্যাশ (#) চিহ্নের মাধ্যমে ধ্রুবক নির্ধারণ করা যায়। যেমন: #define MAX 100।
গ) চিত্রে ব্যবহৃত প্রতীকগুলোর কাজ বর্ণনা কর।
উদ্দীপকের ফ্লোচার্টটিতে ব্যবহৃত লজিক্যাল প্রতীকগুলোর বর্ণনা নিচে দেওয়া হলো:
চিহ্ন
কাজ
এটি একটি প্রক্রিয়ার শুরু (Start) বা শেষ (End) নির্দেশ করে।
এটি কোনো নির্দিষ্ট কাজ বা অপারেশন নির্দেশ করে (যেমন: যোগ, বিয়োগ, গুন, ভাগ নির্ণয়)।
এটি তথ্যের ইনপুট (Input) নেওয়া বা ফলাফল আউটপুট (Output) হিসেবে দেখানো নির্দেশ করে।
এটি একটি সিদ্ধান্ত বা শর্তমূলক শাখা নির্দেশ করে (যেমন: হ্যাঁ অথবা না)।
১. ডিম্বাকৃতি (Oval): এটি 'শুরু' (Start) এবং 'শেষ' (End) নির্দেশ করতে ব্যবহৃত হয়েছে।
২. সামান্তরিক (Parallelogram): এটি ডেটা ইনপুট (Input Year) এবং আউটপুট (Print Leap Year/Not Leap Year) দেখানোর জন্য ব্যবহৃত হয়েছে।
৩. রম্বস বা হীরাকৃতি (Diamond): এটি 'সিদ্ধান্ত' (Decision) প্রতীক। এখানে বছরের লিপ ইয়ার হওয়ার শর্ত ($Y \pmod{400} == 0$ এবং অন্যান্য লজিক) যাচাই করার জন্য এটি ব্যবহৃত হয়েছে।
৪. ছোট বৃত্ত (Connector): এটি ফ্লোচার্টের বিভিন্ন শাখার সংযোগ বিন্দু হিসেবে কাজ করে।
৫. তীর চিহ্ন (Flow Lines): এগুলো প্রোগ্রামের প্রবাহের দিক বা ধাপগুলোর ধারাবাহিকতা নির্দেশ করে।
ঘ) উল্লিখিত Flowchart অনুসরণ করে C প্রোগ্রাম
নিচে লিপ ইয়ার (Leap Year) নির্ণয়ের জন্য উদ্দীপকের লজিক অনুযায়ী প্রোগ্রামটি দেওয়া হলো:
#include <stdio.h>
int main() {
int Y;
printf("Enter a year: ");
scanf("%d", &Y);
// ফ্লোচার্টের লজিক অনুযায়ী শর্ত
if (Y % 400 == 0) {
printf("%d is a Leap Year.\n", Y);
}
else if (Y % 4 == 0 && Y % 100 != 0) {
printf("%d is a Leap Year.\n", Y);
}
else {
printf("%d is not a Leap Year.\n", Y);
}
return 0;
}
বিশ্লেষণ:
প্রোগ্রামটি ফ্লোচার্টের ধাপগুলো হুবহু অনুসরণ করে। প্রথমে ব্যবহারকারীর কাছ থেকে বছর ($Y$) ইনপুট নেওয়া হয়। এরপর দুটি প্রধান শর্ত পরীক্ষা করা হয়: প্রথমত, বছরটি ৪০০ দ্বারা বিভাজ্য কি না; দ্বিতীয়ত, বছরটি ৪ দ্বারা বিভাজ্য কিন্তু ১০০ দ্বারা বিভাজ্য নয় কি না। এই শর্তগুলোর যেকোনো একটি সত্য হলে সেটি লিপ ইয়ার, অন্যথায় তা লিপ ইয়ার নয়।