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

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

শিক্ষক রুবেল একটি প্রোগ্রামে ডেটা টাইপ পরিবর্তনের নিচের উদাহরণ দিলেন:
x = int(7.9)
y = float('5')
z = str(12)
পরে তিনি দুই বিষয়ের নম্বর যোগ করার জন্য রুমানাকে প্রোগ্রাম লিখতে বললেন। রুমানা লিখল:
a = input('Enter marks of Bangla: ')
b = input('Enter marks of English: ')
total = a + b
print(total)
সে ইনপুট হিসেবে ৪৫ ও ৩৮ দিয়ে প্রোগ্রামটি রান করল, কিন্তু প্রত্যাশিত ফলাফল পেল না।

  1. ক)

    টাইপ কাস্টিং কী?

    (1)
  2. খ)

    bool ডেটা টাইপে কোন কোন মান রাখা যায়? ব্যাখ্যা করো।

    (2)
  3. গ)

    উদ্দীপকের প্রথম তিনটি লাইন রান করলে x, y ও z এর মান কত হবে এবং প্রতিটির ডেটা টাইপ কী হবে? ব্যাখ্যা করো।

    (3)
  4. ঘ)

    রুমানার প্রোগ্রামটি কেন প্রত্যাশিত ফলাফল দেয়নি তা বিশ্লেষণ করো। প্রোগ্রামটি সংশোধন করে লেখো এবং একই ইনপুটের জন্য সঠিক আউটপুট দেখাও। ভগ্নাংশযুক্ত নম্বর ৪৫.৫ ও ৩৮.৫ ইনপুট নিতে চাইলে কী পরিবর্তন করতে হবে?

    (4)

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

  1. ক)

    AI-তৈরি নমুনা উত্তর কোনো ভ্যারিয়েবলের ডেটা টাইপ পরিবর্তন করে অন্য ডেটা টাইপে রূপান্তর করা বা সুনির্দিষ্ট করাকে টাইপ কাস্টিং বলে।

  2. খ)

    AI-তৈরি নমুনা উত্তর bool হলো boolean এর সংক্ষিপ্ত রূপ। কোনো ভ্যারিয়েবলে সত্য বা মিথ্যা ডেটা হিসেবে জমা রাখতে হলে এই ডেটা টাইপ ব্যবহার করা হয়। এই ডেটা টাইপে মাত্র দুটি মান রাখা যায়: True ও False। যেমন: a = True।

  3. গ)

    AI-তৈরি নমুনা উত্তর ১. x = int(7.9): int() ফাংশন ভগ্নাংশযুক্ত সংখ্যা থেকে পূর্ণসংখ্যা তৈরি করে, দশমিকের পরের অংশ বাদ যায়। তাই x এর মান হবে 7 এবং ডেটা টাইপ int। ২. y = float('5'): float() ফাংশন স্ট্রিং থেকে ভগ্নাংশযুক্ত সংখ্যা তৈরি করে। তাই y এর মান হবে 5.0 এবং ডেটা টাইপ float। ৩. z = str(12): str() ফাংশন পূর্ণসংখ্যা থেকে স্ট্রিং তৈরি করে। তাই z এর মান হবে '12' এবং ডেটা টাইপ str।

  4. ঘ)

    AI-তৈরি নমুনা উত্তর ভুলের কারণ: input() ফাংশন ইনপুট হিসেবে সংখ্যা, অক্ষর যা-ই গ্রহণ করুক না কেন, তা স্ট্রিং (str) ডেটা টাইপে গ্রহণ করে। তাই a এর মান '45' এবং b এর মান '38', দুটিই স্ট্রিং। স্ট্রিংয়ের ক্ষেত্রে + চিহ্ন যোগ না করে দুটি লেখাকে পাশাপাশি জুড়ে দেয়। ফলে total এর মান হয় '4538', যা প্রত্যাশিত যোগফল ৮৩ নয়। সংশোধিত প্রোগ্রাম:
    a = int(input('Enter marks of Bangla: '))
    b = int(input('Enter marks of English: '))
    total = a + b
    print(total)
    এখানে int(input()) লেখায় ইনপুট পূর্ণসংখ্যা হিসেবে জমা হয়। তাই a = 45 ও b = 38 হলে total = 45 + 38 = 83 এবং আউটপুট হবে 83। ভগ্নাংশযুক্ত নম্বরের জন্য: int() এর পরিবর্তে float() ব্যবহার করতে হবে, অর্থাৎ a = float(input('Enter marks of Bangla: ')) ও b = float(input('Enter marks of English: ')) লিখতে হবে। তখন ৪৫.৫ ও ৩৮.৫ ইনপুটে যোগফল হবে ৮৪.০।

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