তথ্য ও যোগাযোগ প্রযুক্তি • প্রোগ্রামিং ভাষা

তথ্য ও যোগাযোগ প্রযুক্তি প্রশ্ন

মিতু একটি প্রোগ্রাম লিখেছে যাতে ১০টি স্টেটমেন্ট আছে এবং ৭ নম্বর স্টেটমেন্টে সিনট্যাক্সের ভুল রয়েছে। সে প্রোগ্রামটি দুটি অনুবাদক প্রোগ্রামে চালাল। অনুবাদক A প্রথমে পুরো প্রোগ্রাম পরীক্ষা করে ভুলের তালিকা দেখাল এবং কোনো আউটপুট দিল না। অনুবাদক B একটি একটি করে স্টেটমেন্ট অনুবাদ করে চালাল, প্রথম ৬টির ফলাফল দেখাল এবং ৭ নম্বর স্টেটমেন্টে এসে ভুল দেখিয়ে থেমে গেল। মিতু ভুল শুধরে নিয়ে আবার চালাল।

  1. ক)

    অ্যাসেম্বলার কী?

    (1)
  2. খ)

    কম্পাইলারে লেখা প্রোগ্রামের ভুল শুদ্ধ করা তুলনামূলক জটিল কেন?

    (2)
  3. গ)

    উদ্দীপকের অনুবাদক B কী ধরনের অনুবাদক? প্রথম ৬টি স্টেটমেন্টের ফলাফল দেখানো গেল কেন- ব্যাখ্যা করো।

    (3)
  4. ঘ)

    মিতুর প্রোগ্রামটি ডিবাগ করা এবং চূড়ান্ত সফটওয়্যার হিসেবে ব্যবহারের ক্ষেত্রে A ও B-এর মধ্যে কোনটি অধিক উপযোগী? তোমার মতামত বিশ্লেষণ করো।

    (4)

উত্তর ও ব্যাখ্যা

  1. ক)

    AI-তৈরি নমুনা উত্তর অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে অনুবাদ করে যে অনুবাদক প্রোগ্রাম, তাকে অ্যাসেম্বলার বলে।

  2. খ)

    AI-তৈরি নমুনা উত্তর কম্পাইলার প্রথমে পুরো প্রোগ্রাম পরীক্ষা করে এবং একবারে সম্পূর্ণ প্রোগ্রাম কম্পাইল করে। তাই প্রোগ্রামে একাধিক ভুল থাকলে সবগুলো ভুল একসাথে দেখানো হয়। একসাথে অনেক ভুলের তালিকা থেকে প্রতিটি ভুল খুঁজে বের করে ঠিক করা তুলনামূলক জটিল হয়ে পড়ে। এ কারণে কম্পাইলারে ভুল শুদ্ধ করা জটিল।

  3. গ)

    AI-তৈরি নমুনা উত্তর উদ্দীপকের অনুবাদক B হলো ইন্টারপ্রেটার (Interpreter)।

    ইন্টারপ্রেটার পুরো প্রোগ্রাম আগে পরীক্ষা করে না। এটি প্রোগ্রামের প্রতিটি স্টেটমেন্ট একটি একটি করে মেশিন কোডে রূপান্তর করে সাথে সাথে এক্সিকিউট করে। অর্থাৎ প্রথম স্টেটমেন্ট অনুবাদ হয়ে চলবে, তারপর দ্বিতীয়টি, এভাবে ক্রমান্বয়ে সব স্টেটমেন্ট চলবে।

    উদ্দীপকে ভুলটি ৭ নম্বর স্টেটমেন্টে। B ক্রমানুসারে স্টেটমেন্ট অনুবাদ ও এক্সিকিউট করায় ১ থেকে ৬ নম্বর স্টেটমেন্ট ঠিকমতো অনুবাদ হয়ে চলেছে এবং তাদের ফলাফল দেখানো গেছে। ৭ নম্বর স্টেটমেন্টে পৌঁছে ভুল ধরা পড়ায় সেখানে থেমে গেছে।

  4. ঘ)

    AI-তৈরি নমুনা উত্তর উদ্দীপকের A হলো কম্পাইলার এবং B হলো ইন্টারপ্রেটার।

    ডিবাগ করার ক্ষেত্রে: ইন্টারপ্রেটার একটি একটি করে স্টেটমেন্ট এক্সিকিউট করে এবং ভুল পাওয়ামাত্র থেমে যায়। ফলে মিতু সহজেই বুঝতে পারে ভুলটি কোন স্টেটমেন্টে (৭ নম্বর) আছে, তাই ভুল শুদ্ধ করা অনেক সহজ। অন্যদিকে কম্পাইলার সব ভুলের তালিকা একসাথে দেখায়, ফলে ভুল শোধরানো কিছুটা জটিল। তবে ভুল সংখ্যায় কম হলে সবগুলো একসাথে জেনে একবারে ঠিক করার সুবিধাও পাওয়া যায়।

    গতি ও চূড়ান্ত ব্যবহারের ক্ষেত্রে: কম্পাইলার একবারে পুরো প্রোগ্রাম মেশিন কোডে রূপান্তর করে নেয়, ফলে কম্পাইল করার পর প্রোগ্রাম অনেক দ্রুতগতিতে কাজ করে। ইন্টারপ্রেটার প্রতিটি স্টেটমেন্ট একটি একটি করে রূপান্তর করে বলে তুলনামূলকভাবে বেশি সময় লাগে।

    অতএব, প্রোগ্রাম লেখার সময় ভুল খোঁজা ও শোধরানোর জন্য B (ইন্টারপ্রেটার) বেশি সুবিধাজনক। আর ভুলমুক্ত হওয়ার পর চূড়ান্তভাবে দ্রুত চালানোর জন্য A (কম্পাইলার) অধিক উপযোগী।

আরও প্রশ্ন অনুশীলন করতে অ্যাপে যাও