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

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

রাকিব একটি ডিজিটাল ঘড়ির প্রোগ্রাম কেবল 0 ও 1 ব্যবহার করে লিখতে গিয়ে দেখল, কোড পড়া ও বড় প্রোগ্রাম তৈরি করা প্রায় অসম্ভব। তার বন্ধু সুমি একই কাজ ADD, MOV-এর মতো সংক্ষিপ্ত সংকেত ব্যবহার করে সহজে লিখে ফেলল। কিন্তু প্রসেসর সুমির কোড সরাসরি চালাতে পারল না। পরে তারা কম্পিউটারের কি-বোর্ড চালানোর ড্রাইভার সফটওয়্যার এবং একটি ক্যালকুলেটর অ্যাপ্লিকেশন একই ভাষায় লিখল।

  1. ক)

    মেশিন কোড কী?

    (1)
  2. খ)

    মেশিন ল্যাঙ্গুয়েজে বড় প্রোগ্রাম লেখা প্রায় অসম্ভব- ব্যাখ্যা করো।

    (2)
  3. গ)

    সুমি কোন ভাষায় প্রোগ্রাম লিখেছিল? তার প্রোগ্রামটি প্রসেসরে চালাতে হলে কী করতে হবে? ব্যাখ্যা করো।

    (3)
  4. ঘ)

    উদ্দীপকের শেষ অংশে ব্যবহৃত ভাষাটি মধ্যম স্তরের ভাষার উদাহরণ হলে এর কারণ বিশ্লেষণ করো।

    (4)

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

  1. ক)

    AI-তৈরি নমুনা উত্তর 0 ও 1 দিয়ে তৈরি যে প্রোগ্রাম সরাসরি কম্পিউটারের প্রসেসর বুঝতে পারে এবং এক্সিকিউট করতে পারে, তাকে মেশিন কোড বলে।

  2. খ)

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

  3. গ)

    AI-তৈরি নমুনা উত্তর সুমি ADD, MOV-এর মতো সংক্ষিপ্ত সংকেত ব্যবহার করে প্রোগ্রাম লিখেছিল। এটি অ্যাসেম্বলি ভাষা (Assembly Language)। মেশিন ল্যাঙ্গুয়েজের চেয়ে এই ভাষায় প্রোগ্রাম লেখা ও পড়া সহজ।

    কিন্তু কম্পিউটারের প্রসেসর সরাসরি অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রাম চালাতে পারে না। প্রসেসর কেবল মেশিন কোড (0 ও 1) বোঝে। তাই সুমির কোডকে আগে মেশিন কোডে রূপান্তর করতে হবে। এই রূপান্তরের কাজটি করে অ্যাসেম্বলার (Assembler) নামক অনুবাদক প্রোগ্রাম। অ্যাসেম্বলার কোডটি মেশিন কোডে অনুবাদ করার পরই প্রসেসর সেটি এক্সিকিউট করতে পারবে।

  4. ঘ)

    AI-তৈরি নমুনা উত্তর উদ্দীপকের শেষ অংশে ড্রাইভার সফটওয়্যার ও ক্যালকুলেটর অ্যাপ্লিকেশন উভয়ই একই ভাষায় লেখা হয়েছে। এ বৈশিষ্ট্য C ভাষার, যা মধ্যম স্তরের ভাষার চমৎকার উদাহরণ।

    মধ্যম স্তরের ভাষা হলো অ্যাসেম্বলি ল্যাঙ্গুয়েজ এবং উচ্চস্তরের ভাষার মধ্যবর্তী ভাষা। এটি কম্পিউটারের হার্ডওয়্যার ও প্রোগ্রামিংয়ের মাঝে সেতুবন্ধ তৈরি করে।

    উদ্দীপকে কি-বোর্ড চালানোর ড্রাইভার সফটওয়্যার লেখা হয়েছে। এটি হার্ডওয়্যার নিয়ন্ত্রণকারী সিস্টেম প্রোগ্রামিং, যা লো-লেভেল ভাষার বৈশিষ্ট্য। আবার ক্যালকুলেটর অ্যাপ্লিকেশন হলো দৈনন্দিন ব্যবহারের অ্যাপ্লিকেশন সফটওয়্যার, যা উচ্চস্তরের ভাষার মতো সহজে লেখা যায়। অর্থাৎ একই ভাষায় একদিকে হার্ডওয়্যার-ঘনিষ্ঠ সিস্টেম প্রোগ্রাম, অন্যদিকে অ্যাপ্লিকেশন প্রোগ্রাম লেখা সম্ভব হয়েছে।

    C ভাষা দিয়ে অপারেটিং সিস্টেমের মতো সিস্টেম প্রোগ্রামিং এবং অ্যাপ্লিকেশন সফটওয়্যার উভয়ই তৈরি করা যায় বলে একে মধ্যম স্তরের ভাষা বলা হয়। সুতরাং উদ্দীপকের ভাষাটিকে মধ্যম স্তরের ভাষা বলা যথার্থ।

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