তথ্য ও যোগাযোগ প্রযুক্তি • প্রোগ্রামিংয়ের মাধ্যমে সমস্যার সমাধান

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

নবম শ্রেণির শিক্ষার্থী সাদিয়া ৫০ লাইনের একটি প্রোগ্রাম লিখেছে। প্রোগ্রামটি মেশিন কোডে রূপান্তরের জন্য তার কম্পিউটারে দুই ধরনের অনুবাদক প্রোগ্রাম আছে। অনুবাদক 'ক' সবগুলো নির্দেশ একসাথে রূপান্তর করে এবং কোথাও ভুল পেলে কোনো রূপান্তরই করতে পারে না। অনুবাদক 'খ' একটি একটি করে নির্দেশ ধারাবাহিকভাবে রূপান্তর করে। সাদিয়ার প্রোগ্রামের ৩০ নম্বর লাইনে একটি ভুল আছে। অনুবাদক 'খ' দিয়ে চালানোর পর সে প্রথম ২৯ লাইনের ফলাফল পর্দায় দেখতে পেল।

  1. ক)

    প্রোগ্রামিং ভাষা কাকে বলে?

    (1)
  2. খ)

    কম্পিউটার প্রোগ্রামিং ভাষা সরাসরি বুঝতে পারে না কেন? ব্যাখ্যা করো।

    (2)
  3. গ)

    উদ্দীপকের অনুবাদক 'ক' কীভাবে সাদিয়ার প্রোগ্রামটিকে রূপান্তর করবে? ব্যাখ্যা করো।

    (3)
  4. ঘ)

    সাদিয়া প্রথম ২৯ লাইনের ফলাফল দেখতে পেলেও অনুবাদক 'ক' ব্যবহার করলে কোনো ফলাফল দেখতে পেত না। উদ্দীপকের আলোকে এর কারণ বিশ্লেষণ করো।

    (4)

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

  1. ক)

    AI-তৈরি নমুনা উত্তর যে ভাষার রীতিনীতি অনুসরণ করে নির্দেশ লিখলে কম্পিউটার তাকে নিজের বোঝার উপযোগী মেশিন কোডে রূপান্তর করে নির্দেশ বুঝতে পারে, তাকে প্রোগ্রামিং ভাষা বলে। যেমন: সি, সি++, পাইথন, জাভা।

  2. খ)

    AI-তৈরি নমুনা উত্তর কম্পিউটারসহ সব ইলেকট্রনিক ডিভাইস শুধু ০ ও ১ বুঝতে পারে। ০ ও ১ এর সমন্বয়ে তৈরি বাইনারি কোডই মেশিন কোড বা মেশিন ভাষা। প্রোগ্রামিং ভাষা মানুষের বোঝার উপযোগী করে ইংরেজি শব্দ ও চিহ্ন দিয়ে তৈরি, ০ ও ১ দিয়ে নয়। তাই অনুবাদকের মাধ্যমে মেশিন কোডে রূপান্তর না করলে কম্পিউটার তা সরাসরি বুঝতে পারে না।

  3. গ)

    AI-তৈরি নমুনা উত্তর উদ্দীপকের অনুবাদক 'ক' হলো কম্পাইলার। কম্পাইলারের রূপান্তর পদ্ধতি নিচে ব্যাখ্যা করা হলো। ১. কম্পাইলার সাদিয়ার ৫০ লাইনের পুরো প্রোগ্রামটি একসাথে পরীক্ষা করে। ২. সবগুলো নির্দেশ নির্ভুল হলে সবগুলো নির্দেশ একসাথে মেশিন কোডে রূপান্তরিত হয়। ৩. পুরো প্রোগ্রামের কোথাও ভুল পেলে কম্পাইলার রূপান্তর করতে পারে না। সাদিয়ার প্রোগ্রামের ৩০ নম্বর লাইনে ভুল থাকায় কম্পাইলার একটি লাইনও মেশিন কোডে রূপান্তর করবে না। ভুল সংশোধন করে আবার চালালে তখন পুরো প্রোগ্রাম রূপান্তরিত হবে।

  4. ঘ)

    AI-তৈরি নমুনা উত্তর উদ্দীপকের অনুবাদক 'ক' হলো কম্পাইলার এবং অনুবাদক 'খ' হলো ইন্টারপ্রেটার। ১. অনুবাদক 'খ' অর্থাৎ ইন্টারপ্রেটার একটি একটি করে নির্দেশ ধারাবাহিকভাবে রূপান্তর করে এবং রূপান্তরের পর সেই নির্দেশ কার্যকর হয়। তাই প্রথম ২৯ লাইনে ভুল না থাকায় সেগুলো একে একে রূপান্তরিত হয়ে ফলাফল দেখিয়েছে। ২. ৩০ নম্বর লাইনে ভুল পাওয়ার পর ইন্টারপ্রেটার সেই নির্দেশে এসে থেমে গেছে। ৩. অনুবাদক 'ক' অর্থাৎ কম্পাইলার সবগুলো নির্দেশ একসাথে রূপান্তর করে। পুরো প্রোগ্রামের কোথাও ভুল থাকলে সে রূপান্তরই করতে পারে না। সাদিয়ার প্রোগ্রামে ৩০ নম্বর লাইনে ভুল থাকায় কম্পাইলার ৫০ লাইনের কোনোটিই মেশিন কোডে রূপান্তর করত না, ফলে কোনো ফলাফলও পাওয়া যেত না। সুতরাং, রূপান্তরের পদ্ধতির এই পার্থক্যের কারণেই অনুবাদক 'ক' ব্যবহার করলে সাদিয়া কোনো ফলাফল দেখতে পেত না।

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