অনুবাদক প্রোগ্রাম (Translator Program)
-
কম্পিউটার শুধুমাত্র 0 এবং 1 বোঝে।
-
উচ্চস্তরের ভাষায় লেখা প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করতে অনুবাদক প্রোগ্রাম ব্যবহৃত হয়।
-
এটি এক ধরনের সিস্টেম সফটওয়্যার বা Language Processor।
-
উৎস প্রোগ্রাম (Source Program) → ইনপুট → অনুবাদক → বস্তু প্রোগ্রাম (Object Program) → আউটপুট।
-
কাজ: সিনট্যাক্স চেক, Error Message দেখানো, প্রোগ্রাম অনুবাদ।
প্রকারভেদ:
-
কম্পাইলার (Compiler)
-
ইন্টারপ্রেটার (Interpreter)
-
অ্যাসেম্বলার (Assembler)
কম্পাইলার (Compiler)
-
উচ্চস্তরের প্রোগ্রাম একসাথে পড়ে এবং একসাথে মেশিন ভাষায় রূপান্তর করে।
-
কাজ:
-
উৎস প্রোগ্রামের স্টেটমেন্টকে মেশিন ভাষায় রূপান্তর করা।
-
সাব-রুটিনের সংযোগ স্থাপন।
-
সিনট্যাক্স ভুলের তালিকা তৈরি করা।
-
মেমোরি অ্যাড্রেস চিহ্নিতকরণ।
-
-
সুবিধা:
-
সম্পূর্ণ প্রোগ্রাম একসাথে অনুবাদ → দ্রুত নির্বাহ।
-
আউটপুট স্বাধীনভাবে চালানো যায়।
-
একবার অনুবাদ করা হলে পুনরায় দরকার হয় না।
-
-
অসুবিধা:
-
সমস্ত ভুল একসাথে দেখায় → সংশোধনে সময় লাগে।
-
ডিবাগিং ও টেস্টিং ধীর।
-
মেমোরি বেশি প্রয়োজন।
-
-
উদাহরণ: C, C++
ইন্টারপ্রেটার (Interpreter)
-
লাইন বাই লাইন অনুবাদ করে এবং তাৎক্ষণিক ফলাফল দেখায়।
-
কাজ:
-
লাইন অনুসারে উৎস প্রোগ্রামকে মেশিন ভাষায় রূপান্তর।
-
সংশ্লিষ্ট সাব-রুটিন সংযোগ।
-
সিনট্যাক্স ভুল দেখানো।
-
মেমোরি অ্যাড্রেস চিহ্নিতকরণ।
-
-
সুবিধা:
-
ইউজার ফ্রেন্ডলি।
-
ছোট প্রোগ্রামে দ্রুত সংশোধন ও পরিবর্তন।
-
মেমোরি কম লাগে।
-
ছোট বা মাইক্রোকম্পিউটারে ব্যবহার সহজ।
-
-
অসুবিধা:
-
লাইন বাই লাইন → ধীর গতিতে রূপান্তর।
-
সম্পূর্ণ মেশিন কোড তৈরি হয় না।
-
প্রতিবার প্রোগ্রাম চালাতে অনুবাদ করতে হয়।
-
-
উদাহরণ: Python, Ruby
অ্যাসেম্বলার (Assembler)
-
অ্যাসেম্বলি ভাষার নেমোনিক কোড → মেশিন ভাষা।
-
কাজ:
-
নেমোনিক কোড অনুবাদ।
-
সাংকেতিক ঠিকানা → মেশিন ঠিকানা।
-
ডেটা ও নির্দেশ প্রধান মেমোরিতে রাখা।
-
Error Message দেখানো।
-
প্রোগ্রাম কন্ট্রোল জানানো।
-
কম্পাইলার vs ইন্টারপ্রেটার
| বৈশিষ্ট্য | কম্পাইলার | ইন্টারপ্রেটার |
|---|---|---|
| অনুবাদ পদ্ধতি | সম্পূর্ণ প্রোগ্রাম একসাথে | লাইন বাই লাইন |
| প্রোগ্রাম নির্বাহের গতি | দ্রুত | ধীর |
| পুনরায় অনুবাদের প্রয়োজন | না | প্রতি বার প্রয়োজন |
| পূর্ণাঙ্গ মেশিন কোড | হ্যাঁ | না |
| ডিবাগিং ও টেস্টিং | ধীর | দ্রুত |
মৌলিক সংজ্ঞা
-
উৎস প্রোগ্রাম (Source Program): উচ্চস্তরের ভাষায় লেখা প্রোগ্রাম।
-
বস্তু প্রোগ্রাম (Object Program): মেশিন ভাষায় অনুবাদিত প্রোগ্রাম।
-
অনুবাদক প্রোগ্রাম: উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে রূপান্তর করে।
১। অনুবাদক প্রোগ্রাম কী?
ক) একটি হার্ডওয়্যার যন্ত্র
খ) সফটওয়্যার যা উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে রূপান্তর করে
গ) কম্পিউটারের ইনপুট ডিভাইস
ঘ) একটি ডেটাবেস ম্যানেজার
উত্তর: খ) সফটওয়্যার যা উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে রূপান্তর করে২। অনুবাদক প্রোগ্রামের প্রধান তিনটি ধরন কী?
ক) কম্পাইলার, ইন্টারপ্রেটার, অ্যাসেম্বলার
খ) পাইথন, সি, জাভা
গ) হাডওয়্যার, সফটওয়্যার, ফার্মওয়্যার
ঘ) সোর্স, অবজেক্ট, নেমোনিক
উত্তর: ক) কম্পাইলার, ইন্টারপ্রেটার, অ্যাসেম্বলার৩। কম্পাইলার কীভাবে কাজ করে?
ক) লাইন বাই লাইন অনুবাদ করে
খ) সম্পূর্ণ প্রোগ্রাম একসাথে অনুবাদ করে
গ) শুধুমাত্র মেশিন ভাষা চেক করে
ঘ) শুধুমাত্র ডিবাগিং করে
উত্তর: খ) সম্পূর্ণ প্রোগ্রাম একসাথে অনুবাদ করে৪। ইন্টারপ্রেটারের প্রধান সুবিধা কী?
ক) একবার অনুবাদ করলে পুনরায় করতে হয় না
খ) লাইন বাই লাইন অনুবাদ ও তাৎক্ষণিক ফলাফল প্রদান
গ) মেমোরি বেশি ব্যবহার করে
ঘ) বড় প্রোগ্রাম দ্রুত চালায়
উত্তর: খ) লাইন বাই লাইন অনুবাদ ও তাৎক্ষণিক ফলাফল প্রদান৫। অ্যাসেম্বলার কী করে?
ক) উচ্চস্তরের ভাষাকে মেশিন ভাষায় রূপান্তর করে
খ) অ্যাসেম্বলি ভাষার নেমোনিক কোডকে মেশিন ভাষায় রূপান্তর করে
গ) কম্পাইলারের কাজ সহজ করে
ঘ) প্রোগ্রাম ডিবাগ করে
উত্তর: খ) অ্যাসেম্বলি ভাষার নেমোনিক কোডকে মেশিন ভাষায় রূপান্তর করে৬। কম্পাইলারের অসুবিধা কোনটি?
ক) একবার অনুবাদ করলে আর পুনরায় করতে হয় না
খ) সমস্ত ভুল একসাথে দেখায় ফলে সংশোধনে সময় লাগে
গ) প্রোগ্রাম দ্রুত চালায়
ঘ) আউটপুট স্বাধীনভাবে চলে
উত্তর: খ) সমস্ত ভুল একসাথে দেখায় ফলে সংশোধনে সময় লাগে৭। কোন প্রোগ্রামার লাইন-বাই-লাইন অনুবাদ ব্যবহার করে?
ক) আরাফাত (নিমোনিক কোড ব্যবহার করে)
খ) নিলা (উচ্চস্তরের ভাষা ব্যবহার করে)
গ) দুজনেই
ঘ) কেউ না
উত্তর: খ) নিলা (উচ্চস্তরের ভাষা ব্যবহার করে)৮। উৎস প্রোগ্রাম (Source Program) কী?
ক) মেশিন ভাষায় লেখা প্রোগ্রাম
খ) উচ্চস্তরের ভাষায় লেখা প্রোগ্রাম
গ) সম্পূর্ণ কম্পাইল করা প্রোগ্রাম
ঘ) প্রোগ্রামের আউটপুট
উত্তর: খ) উচ্চস্তরের ভাষায় লেখা প্রোগ্রাম৯। বস্তু প্রোগ্রাম (Object Program) কী?
ক) মেশিন ভাষায় রূপান্তরিত প্রোগ্রাম
খ) উৎস প্রোগ্রাম
গ) প্রোগ্রাম লিখতে সাহায্যকারী সফটওয়্যার
ঘ) ডিবাগিং রিপোর্ট
উত্তর: ক) মেশিন ভাষায় রূপান্তরিত প্রোগ্রাম১০। কম্পাইলার ও ইন্টারপ্রেটারের পার্থক্য কোনটি?
ক) কম্পাইলার লাইন বাই লাইন কাজ করে
খ) ইন্টারপ্রেটার সম্পূর্ণ প্রোগ্রাম একসাথে অনুবাদ করে
গ) কম্পাইলার একবার অনুবাদ করলে পুনরায় দরকার হয় না, ইন্টারপ্রেটার পুনরায় করে
ঘ) ইন্টারপ্রেটার মেশিন ভাষা ব্যবহার করে না
উত্তর: গ) কম্পাইলার একবার অনুবাদ করলে পুনরায় দরকার হয় না, ইন্টারপ্রেটার পুনরায় করে১১। কোন প্রোগ্রামিং ভাষার জন্য সাধারণত কম্পাইলার ব্যবহার হয়?
ক) পাইথন
খ) রুবি
গ) সি, সি++
ঘ) HTML
উত্তর: গ) সি, সি++১২। কোন প্রোগ্রামিং ভাষা ইন্টারপ্রেটার ব্যবহার করে?
ক) সি
খ) সি++
গ) পাইথন
ঘ) অ্যাসেম্বলি
উত্তর: গ) পাইথন১৩। কম্পাইলার কোন সময় Error Message দেয়?
ক) শুধুমাত্র চলাকালীন
খ) কম্পাইল করার সময়, সব ভুল একসাথে
গ) লাইন-বাই-লাইন
ঘ) কখনো না
উত্তর: খ) কম্পাইল করার সময়, সব ভুল একসাথে১৪। ইন্টারপ্রেটারের জন্য Error Message কবে আসে?
ক) প্রতিটি লাইন অনুবাদ করার সময়
খ) প্রোগ্রামের শেষে
গ) একবার কম্পাইল করার পরে
ঘ) কখনো না
উত্তর: ক) প্রতিটি লাইন অনুবাদ করার সময়১৫। অনুবাদক প্রোগ্রামের কোনটি মেমোরিতে কম জায়গা নেয়?
ক) কম্পাইলার
খ) ইন্টারপ্রেটার
গ) অ্যাসেম্বলার
ঘ) সোর্স প্রোগ্রাম
উত্তর: খ) ইন্টারপ্রেটার১৬। কম্পাইলার ব্যবহার করলে প্রোগ্রামের নির্বাহের গতি কেমন হয়?
ক) ধীর
খ) দ্রুত
গ) নির্ভর করে লাইন সংখ্যা
ঘ) গতি অদৃশ্য
উত্তর: খ) দ্রুত১৭। ইন্টারপ্রেটারের সুবিধা কোনটি?
ক) বড় প্রোগ্রামের জন্য উপযুক্ত
খ) ইউজার ফ্রেন্ডলি এবং ছোট প্রোগ্রামে ভালো
গ) একবার অনুবাদ করলে যথেষ্ট
ঘ) কম্পাইলারকে প্রতিস্থাপন করে না
উত্তর: খ) ইউজার ফ্রেন্ডলি এবং ছোট প্রোগ্রামে ভালো১৮। অ্যাসেম্বলার কোন ধরনের প্রোগ্রামকে অনুবাদ করে?
ক) মেশিন ভাষা
খ) উচ্চস্তরের ভাষা
গ) অ্যাসেম্বলি ভাষার নেমোনিক কোড
ঘ) HTML
উত্তর: গ) অ্যাসেম্বলি ভাষার নেমোনিক কোড১৯। কম্পাইলারের সুবিধা কোনটি?
ক) প্রোগ্রাম দ্রুত চলে
খ) প্রতিবার অনুবাদ করতে হয়
গ) ছোট প্রোগ্রামে ভালো
ঘ) মেমোরি কম ব্যবহার করে
উত্তর: ক) প্রোগ্রাম দ্রুত চলে২০। কম্পাইলার বা ইন্টারপ্রেটার কোনটি ছোট প্রোগ্রামে ভালো?
ক) কম্পাইলার
খ) ইন্টারপ্রেটার
গ) উভয়ই
ঘ) কেউ না
উত্তর: খ) ইন্টারপ্রেটার