উদ্দীপকটি পড় এবং প্রশ্নের উত্তর দাও #include int main() int C, S = 1; for (C = 2; C <= 10; C += 3) S = S + C; printf("%d", S); return 0; প্রোগ্রামটির আউটপুট 127 পেতে হলে কী পরিবর্তন করতে হবে?
ক. C = 1 , S = S+ C * C;
খ. C = 2, S = S+ C * C;
গ. C = 3, S = S+ C * C;
ঘ. C = 4, S = S+ C * C;
উত্তর: C = 3, S = S+ C * C;
ব্যাখ্যা: প্রোগ্রামটিতে লুপটি C = 2 থেকে শুরু হয়ে 10 পর্যন্ত চলে এবং প্রতি ধাপে C এর মান 3 করে বৃদ্ধি পায়। লুপের ভিতরের অংশ S = S + C; এর পরিবর্তে S = S + C * C; করলে আউটপুট 127 পাওয়া যাবে। এখানে পরিবর্তনগুলি ধাপে ধাপে দেখানো হল: প্রাথমিক মান: S = 1, C = 2 (ধরা যাক, প্রশ্ন অনুযায়ী C=2 ধরে শুরু হবে) লুপ ১: C = 2 S = S + C * C = 1 + 2 * 2 = 1 + 4 = 5 লুপ ২: C = 2 + 3 = 5 S = S + C * C = 5 + 5 * 5 = 5 + 25 = 30 লুপ ৩: C = 5 + 3 = 8 S = S + C * C = 30 + 8 * 8 = 30 + 64 = 94 লুপ ৪: C = 8 + 3 = 11 (এই মান 10 এর চেয়ে বেশি, তাই লুপ বন্ধ হয়ে যাবে) এখানে একটি সমস্যা আছে, কারণ 94 আউটপুট আসবে। প্রশ্ন অনুযায়ী 127 আউটপুট পেতে হলে, লুপের প্রথম মান এবং টার্গেট মান ভিন্ন হতে হবে। আসুন, যদি C = 1 থেকে শুরু হয় এবং S = S + C*C হয়, তাহলে আউটপুট 127 আসে কিনা দেখি। প্রাথমিক মান: S = 1, C = 1 (ধরা যাক, Option A অনুযায়ী C=1 ধরে শুরু হবে) লুপ ১: C = 1 S = S + C * C = 1 + 1 * 1 = 1 + 1 = 2 লুপ ২: C = 1 + 3 = 4 S = S + C * C = 2 + 4 * 4 = 2 + 16 = 18 লুপ ৩: C = 4 + 3 = 7 S = S + C * C = 18 + 7 * 7 = 18 + 49 = 67 লুপ ৪: C = 7 + 3 = 10 S = S + C * C = 67 + 10 * 10 = 67 + 100 = 167 এক্ষেত্রেও 127 আসছে না। আবার, যদি C = 2 থেকে শুরু হয় এবং S = S + C*C হয়, তবে: C=2, S = 1 + 2*2 = 5 C=5, S = 5 + 5*5 = 30 C=8, S = 30 + 8*8 = 94 যদি C = 3 থেকে শুরু হয় এবং S = S + C*C হয়, তবে: C=3, S = 1 + 3*3 = 10 C=6, S = 10 + 6*6 = 46 C=9, S = 46 + 9*9 = 127 সুতরাং, C = 3 থেকে শুরু করে এবং S = S + C*C করলে 127 আউটপুট পাওয়া যাবে। প্রশ্ন অনুযায়ী, প্রোগ্রামটির আউটপুট 127 পেতে হলে মূল প্রোগ্রামে কিছু পরিবর্তন করতে হবে। মূল প্রোগ্রামে, লুপটি C=2 থেকে শুরু হয় এবং S = S + C; এই স্টেটমেন্ট ব্যবহার করে। সঠিক উত্তর পেতে হলে, লুপের শুরুর মান C=3 এবং S = S + C * C; এই পরিবর্তনগুলো করতে হবে। সুতরাং, C = 3, S = S + C * C; এই পরিবর্তনটি করলে প্রোগ্রামটির আউটপুট 127 হবে। এই ধরনের প্রশ্নে, লুপের ইনিশিয়ালাইজেশন, কন্ডিশন এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট ধ্যানের সাথে দেখতে হয়। এছাড়াও, লুপের বডির ভেতরের অপারেশনটিও গুরুত্বপূর্ণ।
HSC ICT Chapter 5 : প্রোগ্রামিং ভাষা MCQ — Prosthuti প্রশ্নব্যাংক
HSC · ICT · Chapter 5 : প্রোগ্রামিং ভাষা · MCQ
উদ্দীপকটি পড় এবং প্রশ্নের উত্তর দাও #include int main() { int C, S = 1; for (C = 2; C <= 10; C += 3) { S = S + C; } printf("%d", S); return 0; } প্রোগ্রামটির আউটপুট 127 পেতে হলে কী পরিবর্তন করতে হবে?
- ক.C = 1 , S = S+ C * C;
- খ.C = 2, S = S+ C * C;
- গ.C = 3, S = S+ C * C;
- ঘ.C = 4, S = S+ C * C;
উত্তর