Dhaka Board ICT 2024 | Chapter 5 Programing Language & C Programing Questions and Solutions
মারুফ PHP ভাষা ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরির কাজ করে, যার অনুবাদক প্রোগ্রাম এক লাইন করে পড়ে অনুবাদের কাজ করে। অন্যদিকে মিজান C++ ভাষা ব্যবহার করে, সফটওয়্যার তৈরির কাজ করে, যার অনুবাদক প্রোগ্রাম সম্পূর্ণ প্রোগ্রামটি একসাথে অনুবাদ করে।
খ. অ্যারে ও চলক এক নয়- ব্যাখ্যা করো।
গ. উদ্দীপকে মিজানের ব্যবহৃত ভাষাটি কোন ধরনের অনুবাদক ব্যবহার করে? ব্যাখ্যা করো।
ঘ. মারুফ ও মিজানের ব্যবহৃত ভাষা দুইটির অনুবাদক প্রোগ্রামের মধ্যে কোনটিতে প্রোগ্রাম ডিবাগ করা তুলনামূলক সহজ? বিশ্লেষণপূর্বক মতামত দাও।
কি-ওয়ার্ড হলো প্রোগ্রামে ব্যবহৃত কতগুলো সংরক্ষিত বিশেষ শব্দ যার নির্দিষ্ট অর্থ আছে এবং প্রোগ্রামে একটি নির্দিষ্ট কার্য সম্পাদন করে।
ভ্যারিয়েবল বা চলক হলো মেমোরি লোকেশনের নাম বাঁ ঠিকানা। একটি চলকে একই সময়ে কেবল একটি মান রাখা যায়। অপরদিকে, অ্যারে হচ্ছে একই ধরনের ডেটার জন্য ব্যবহূত চলকের একটি' সিরিজ। এটি C প্রোগ্রামিং ভাষার একটি ডেটা স্ট্রাকচার। তাই বলা যায়, অ্যারে ও চলক এক নয়।
যেহেতু উদ্দীপকে মিজানের ব্যবহৃত ভাষার অনুবাদক প্রোগ্রামটি সম্পূর্ণ প্রোগ্রামকে একসাথে অনুবাদ করে। সুতরাং মিজানের ব্যবহৃত ভাষার অনুবাদক প্রোগ্রামটি হলো কম্পাইলার।
কম্পাইলার হলো এক ধরনের অনুবাদক সফটওয়্যার যা উচ্চতর ভাষায় লিখিত সম্পূর্ণ প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করার প্রোগ্রামকে কম্পাইলার বলে। কম্পাইলার দুই ধাপে অনুবাদকের কাজ সম্পন্ন করে।
প্রথম ধাপ: কম্পাইলার উৎস প্রোগ্রামের প্রত্যেকটি লাইন পড়ে এবং অবজেক্ট প্রোগ্রামে রূপান্তর করে। এই ধাপে কম্পাইলার সোর্স প্রোগ্রামে যদি ভুল থাকে, তবে তা সংশোধন করার জন্য ব্যবহারকারীকে Error Message দেয়। এই Error Message কে. কম্পাইলড টাইম' ডায়াগনোস্টিক Error Message বলে। একবার প্রোগ্রাম কম্প গেলে পরবর্তীতে আর কম্পাইল করার প্রয়োজন হয় না।
দ্বিতীয় ধাপঃ এই ধাপে ফলাফল প্রদর্শনের জন্য উপাত্ত ভিত্তিতে অবজেক্ট প্রোগ্রামকে নির্বাহ করানো হয়।
কম্পাইলার দিয়ে অনুবাদক প্রক্রিয়া চিত্রের মাধ্যমে দেখানো হলো-

উদ্দীপকে মারুফের ব্যবহৃত অনুবাদক প্রোগ্রাম এক অনুবাদ করে। সুতরাং মারুফ এর অনুবাদক প্রোগ্রাম ইন্টারপ্রেটার। অন্যদিকে মিজানের অনুবাদক প্রোগ্রাম সম্পূর্ণ একসাথে অনুবাদ করে। অর্থাৎ মিজানের ব্যবহৃত ভাষাটি কম্পাইলার অনুবাদক প্রোগ্রাম ব্যবহার করে।
প্রোগ্রাম থেকে ভুল-ত্রুটি খুঁজে বের করে তা সমাধান করাকে ডিবাগ বলা হয়। কম্পাইলারে সবগুলো ভুল একসাথে, প্রদর্শন করে এবং ভুল-ত্রুটি দূর করার ক্ষেত্রে সময় বেশি লাগে। অন্যদিকে ইন্টারপ্রেটারে প্রতিটি লাইনের ভুল প্রদর্শন করে এবং ভুল পাওয়া মাত্রই কাজ বন্ধ করে দেয়। ভুল-ত্রুটি দূর করার ক্ষেত্রে ইন্টারপ্রেটার দ্রুত কাজ করে।
উপরোক্ত আলোচনার প্রেক্ষিতে বলা যায়, মারুফ ও মিজানের ব্যবহৃত ভাষা দুইটির 'অনুবাদক প্রোগ্রামের মধ্যে মারুফ এর ব্যবহৃত অনুবাদ প্রোগ্রাম ইন্টারপ্রেটার দ্বারা ডিবাগ করা তুলনামূলক সহজ।
Dhaka Board ICT 2024 | Chapter 5 Programing Language & C Programing Questions and Solutions
খ. সি একটি কেস সেনসিটিভ ভাষা-ব্যাখ্যা করো।
গ. উদ্দীপকের ধারাটির যোগফল নির্ণয়ের জন্য অ্যালগরিদগম তৈরি করো।
ঘ. উদ্দীপকের ধারাটির যোগফল প্রদর্শনের জন্য সি ভাষায় একটি প্রোগ্রাম লেখো।
শুধুমাত্র ০ ও ১ ব্যবহার করে লেখা প্রোগ্রামই মেশিন ভাষা যা কম্পিউটার সরাসরি বুঝতে পারে।
যা ইংরেজি ছোট হাতের অক্ষরকে Lower case এবং বড় হাতের অক্ষরকে Upper case বলে।
সি ভাষায় ছোট হাতের অক্ষর এবং বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। কেননা, প্রোগ্রাম রচনার সময় একই কি-ওয়ার্ড বা ভেরিয়েবলকে একবার ছোট হাতের ও আরেকবার বড় হাতের উল্লেখ করলে প্রোগ্রাম ভিন্ন হয়। এ কারণেই সি ভাষাকে কেস সেনসিটিভ ভাষা বলা হয়।
উদ্দীপকের ধারাটির যোগফল নির্ণয়ের অ্যালগরিদম নিম্নে দেওয়া হলো-
ধাপ-১: শুরু করি।
ধাপ-২: s = 0, a = 9 ধরি।
ধাপ-৩: s = s + (a * a), a = a + 3 নির্ণয় করি।
ধাপ-৪: যদি a<=90 হয় তবে ৩ নং ধাপে যাই।
ধাপ-৫: s এর মান ছাপাই।
ধাপ-৬: শেষ করি।
উদ্দীপকের ধারাটির যোগফল প্রদর্শনের সি প্রোগ্রামটি নিম্নে দেওয়া হলো-
#include<stdio.h>
int main() {
int a,s;
int a,s;
for a = 9 a <= 90 a = a + 3 )
s=s+(a*a);
printf("%d ",s);
}