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

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

নবম শ্রেণির শিক্ষক ১ থেকে ১০ নম্বর রোলের শিক্ষার্থীদের তালিকা থেকে কয়েকজনকে ডাকার জন্য নিচের প্রোগ্রামটি ব্যবহার করেন।

for roll in range(1, 11):
    if roll == 4:
        continue
    if roll == 8:
        break
    print(roll, end=' ')

প্রোগ্রামটির আউটপুট হলো: 1 2 3 5 6 7

  1. ক)

    break স্টেটমেন্ট কাকে বলে?

    (1)
  2. খ)

    continue স্টেটমেন্ট লুপ বন্ধ করে না কেন? ব্যাখ্যা করো।

    (2)
  3. গ)

    উদ্দীপকের প্রোগ্রামে roll == 4 এবং roll == 8 এর জন্য ভিন্ন ভিন্ন স্টেটমেন্ট ব্যবহারের ফলে কী ঘটে, ব্যাখ্যা করো।

    (3)
  4. ঘ)

    উদ্দীপকের কোডে continue ও break স্টেটমেন্ট দুটির স্থান বিনিময় করা হলে (roll == 4 এর জন্য break এবং roll == 8 এর জন্য continue) আউটপুট কী হবে? বিশ্লেষণ করে ফলাফল ব্যাখ্যা করো।

    (4)

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

  1. ক)

    AI-তৈরি নমুনা উত্তর লুপের মধ্যে যে স্টেটমেন্ট ব্যবহার করে লুপের নির্বাহ বন্ধ করে লুপ থেকে বের হয়ে আসা যায়, তাকে break স্টেটমেন্ট বলে।

  2. খ)

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

  3. গ)

    AI-তৈরি নমুনা উত্তর রোল ১, ২, ৩ এর জন্য কোনো শর্তই সত্য নয়, তাই print সম্পাদিত হয় এবং ১ ২ ৩ প্রদর্শিত হয়। রোল ৪ এর ক্ষেত্রে roll == 4 সত্য হওয়ায় continue কার্যকর হয়। ফলে print(roll) বাদ যায় এবং নিয়ন্ত্রণ লুপের শুরুতে ফিরে যায়, তাই ৪ প্রদর্শিত হয় না। কিন্তু লুপ চলতে থাকে, তাই ৫, ৬, ৭ প্রদর্শিত হয়। রোল ৮ এর ক্ষেত্রে roll == 8 সত্য হওয়ায় break কার্যকর হয় এবং লুপ সম্পূর্ণ বন্ধ হয়ে যায়। তাই ৮ প্রদর্শিত হয় না এবং ৯ ও ১০ এর জন্য লুপ আর চলে না। এভাবে continue একটি মান বাদ দেয় এবং break পুরো লুপ থামিয়ে দেয়, ফলে আউটপুট হয় 1 2 3 5 6 7।

  4. ঘ)

    AI-তৈরি নমুনা উত্তর স্থান বিনিময়ের পর কোডটি হবে:

    for roll in range(1, 11):
        if roll == 4:
            break
        if roll == 8:
            continue
        print(roll, end=' ')
    

    বিশ্লেষণ: roll = 1, 2, 3 এর জন্য কোনো শর্তই সত্য নয়, তাই print সম্পাদিত হয় এবং 1 2 3 প্রদর্শিত হয়। roll = 4 হলে প্রথম শর্ত সত্য হয় এবং break কার্যকর হয়। এর ফলে লুপ সম্পূর্ণ বন্ধ হয়ে যায় এবং print(roll) সম্পাদিত হয় না। লুপ বন্ধ হওয়ায় ৫, ৬, ৭, ৮, ৯, ১০ এর কোনোটির জন্যই আর আবর্তন হয় না। ফলে roll == 8 এর শর্ত কখনো যাচাই-ই হয় না, তাই continue কখনো কার্যকর হয় না। আউটপুট: 1 2 3। তুলনা: মূল কোডে আউটপুট ছিল 1 2 3 5 6 7 (৬টি সংখ্যা); স্থান বিনিময়ে হলো মাত্র ৩টি সংখ্যা। এ থেকে বোঝা যায়, কোন মানের জন্য কোন স্টেটমেন্ট বসানো হচ্ছে তার ওপর আউটপুট নির্ভর করে। break লুপ থামিয়ে দেয় বলে এর পরের সব মান বাদ পড়ে, আর continue কেবল সেই মানটি বাদ দেয়।

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