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

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

রহিম সাহেবের মুদি দোকানে ক্রেতার বিল ১০০০ টাকা বা তার বেশি হলে ১০% ছাড় দেওয়া হয়। তাঁর ছেলে সাকিব, দশম শ্রেণির শিক্ষার্থী, ছাড় নির্ণয়ের জন্য নিচের পাইথন প্রোগ্রামটি লিখেছে।

bill = int(input('Enter bill: '))
if bill >= 1000:
    print('You get 10% discount')
else:
    print('No discount')

রহিম সাহেব এখন চান, বিল ২০০০ টাকা বা তার বেশি হলে ২০% ছাড়, ১০০০ থেকে ১৯৯৯ টাকা হলে ১০% ছাড় এবং ১০০০ টাকার কম হলে কোনো ছাড় নয়।

  1. ক)

    if স্টেটমেন্ট কী?

    (1)
  2. খ)

    if স্টেটমেন্টের সাথে else ব্যবহার করা হয় কেন? ব্যাখ্যা করো।

    (2)
  3. গ)

    উদ্দীপকের প্রোগ্রামে বিল ১০০০ এবং ৭৫০ ইনপুট দিলে আউটপুট কী হবে? ব্যাখ্যা করো।

    (3)
  4. ঘ)

    রহিম সাহেবের নতুন চাহিদা অনুযায়ী প্রোগ্রামটি elif ব্যবহার করে লেখো। এখানে একাধিক if এর পরিবর্তে elif ব্যবহার করা কেন উপযোগী, ২৫০০ টাকার বিলের উদাহরণসহ বিশ্লেষণ করো।

    (4)

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

  1. ক)

    AI-তৈরি নমুনা উত্তর পাইথন প্রোগ্রামে শর্ত সাপেক্ষে কোনো স্টেটমেন্ট বা কার্য সম্পাদনের জন্য যে স্টেটমেন্ট ব্যবহৃত হয়, তাকে if স্টেটমেন্ট বলে। শর্তের মান সত্য হলে তবেই if এর বডির কাজগুলো সম্পাদিত হয়।

  2. খ)

    AI-তৈরি নমুনা উত্তর কেবল if ব্যবহার করলে শর্ত সত্য হলেই কাজ সম্পাদিত হয়, শর্ত মিথ্যা হলে কিছুই করা হয় না। কিন্তু অনেক সময় শর্ত মিথ্যা হলেও বিকল্প কাজ করাতে হয়। এই বিকল্প কাজের জন্য else ব্যবহার করা হয়। শর্ত মিথ্যা হলে else এর বডির কাজ সম্পাদিত হয়। ফলে একই শর্তের সত্য ও মিথ্যা দুই অবস্থার জন্যই প্রোগ্রাম সিদ্ধান্ত নিতে পারে এবং আলাদা করে বিপরীত শর্ত লিখতে হয় না।

  3. গ)

    AI-তৈরি নমুনা উত্তর প্রোগ্রামে শর্ত হলো bill >= 1000। বিল ১০০০ হলে: 1000 >= 1000 শর্তটি সত্য (কারণ >= অপারেটর সমান বা বড় বোঝায়)। তাই if এর বডি সম্পাদিত হবে এবং আউটপুট হবে: You get 10% discount। বিল ৭৫০ হলে: 750 >= 1000 শর্তটি মিথ্যা। তাই if এর বডি বাদ যাবে এবং else এর বডি সম্পাদিত হবে। আউটপুট হবে: No discount। সুতরাং ১০০০ টাকার বিলে ছাড় পাওয়া যাবে এবং ৭৫০ টাকার বিলে ছাড় পাওয়া যাবে না।

  4. ঘ)

    AI-তৈরি নমুনা উত্তর নতুন চাহিদায় তিনটি অবস্থা আছে, তাই একাধিক শর্ত যাচাই করতে elif ব্যবহার করতে হবে। প্রোগ্রামটি হলো:

    bill = int(input('Enter bill: '))
    if bill >= 2000:
        print('You get 20% discount')
    elif bill >= 1000:
        print('You get 10% discount')
    else:
        print('No discount')
    

    elif উপযোগী হওয়ার কারণ: ১. elif ব্যবহার করলে প্রথম যে শর্তটি সত্য হয়, কেবল তার বডিই সম্পাদিত হয়; বাকি শর্তগুলো আর যাচাই করা হয় না। ২. যদি elif এর বদলে আলাদা আলাদা if লেখা হতো, তবে প্রতিটি শর্ত স্বাধীনভাবে যাচাই হতো। ২৫০০ টাকার বিলের ক্ষেত্রে: আলাদা দুটি if (bill >= 2000 এবং bill >= 1000) থাকলে দুটি শর্তই সত্য হতো এবং ২০% ও ১০% উভয় ছাড়ের বার্তা প্রদর্শিত হতো, যা ভুল। elif থাকলে 2500 >= 2000 সত্য হওয়ায় কেবল ২০% ছাড় দেখাবে এবং পরের শর্ত যাচাই হবে না। ৩. এতে অপ্রয়োজনীয় শর্ত যাচাই কমে এবং প্রোগ্রাম সংক্ষিপ্ত ও স্পষ্ট হয়। সুতরাং একাধিক শর্তের মধ্যে একটিমাত্র সঠিক কাজ নির্বাচনের জন্য elif ব্যবহারই উপযোগী।

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