HOME C প্রোগ্রামিং লুপ ও অ্যালগরিদম
$$100^2 + 90^2 + 80^2 + \dots + n^2$$
Sylhet • 2025
ক) ফাংশন কী?
খ) C প্রোগ্রামে কখন "return 0;" লিখতে হয়? ব্যাখ্যা কর।
গ) উদ্দীপকের ধারাটির সমষ্টি নির্ণয়ের জন্য অ্যালগরিদম তৈরি কর।
ঘ) do...while লুপ দ্বারা উদ্দীপকের ধারাটির সমষ্টি নির্ণয়ের জন্য C ভাষায় প্রোগ্রাম লেখ।

সমাধান (Solution)

ক) ফাংশন কী?
ফাংশন হলো একগুচ্ছ স্টেটমেন্টের সমষ্টি যা একটি নির্দিষ্ট কাজ সম্পন্ন করার জন্য ব্যবহৃত হয়। এটি কোডকে পুনরায় ব্যবহারযোগ্য করে এবং প্রোগ্রামের জটিলতা কমায়।

খ) C প্রোগ্রামে কখন "return 0;" লিখতে হয়?
C প্রোগ্রামে যখন main() ফাংশনকে int main() হিসেবে ঘোষণা করা হয়, তখন প্রোগ্রামের শেষে return 0; লিখতে হয়। এটি মূলত অপারেটিং সিস্টেমকে নির্দেশ করে যে প্রোগ্রামটি কোনো ত্রুটি ছাড়াই সফলভাবে সম্পন্ন হয়েছে। যদি main ফাংশনের রিটার্ন টাইপ void হয়, তবে এই স্টেটমেন্টের প্রয়োজন পড়ে না।

গ) উদ্দীপকের ধারাটির সমষ্টি নির্ণয়ের অ্যালগরিদম
উদ্দীপকের ধারাটি হলো: $100^{2} + 90^{2} + 80^{2} + \dots + n^{2}$। এখানে প্রথম পদ $100$, ব্যবধান $-10$ এবং শেষ পদ $n$।

* ধাপ ১: শুরু করি।
* ধাপ ২: শেষ পদ $n$-এর মান ইনপুট নিই।
* ধাপ ৩: সমষ্টির প্রারম্ভিক মান $S = 0$ এবং চলক $i = 100$ ধরি।
* ধাপ ৪: যদি $i \ge n$ হয়, তবে ধাপ ৫ ও ৬-এ যাই; অন্যথায় ধাপ ৭-এ যাই।
* ধাপ ৫: $S = S + (i \times i)$ হিসাব করি।
* ধাপ ৬: $i = i - 10$ হিসাব করি এবং ধাপ ৪-এ ফিরে যাই।
* ধাপ ৭: সমষ্টি $S$ প্রদর্শন করি।
* ধাপ ৮: শেষ করি।

ঘ) do...while লুপ ব্যবহার করে C ভাষায় প্রোগ্রাম
নিচে উদ্দীপকের ধারাটির সমষ্টি নির্ণয়ের জন্য C প্রোগ্রাম দেওয়া হলো:
#include <stdio.h>

int main() {
    int n, i = 100;
    long int sum = 0;

    printf("Enter the value of n: ");
    scanf("%d", &n);

    if (n > 100) {
        printf("The series cannot be calculated.");
    } else {
        do {
            sum = sum + (i * i);
            i = i - 10;
        } while (i >= n);

        printf("Sum of the series: %ld", sum);
    }

    return 0;
}
ব্যাখ্যা:
১. এখানে চলক i এর প্রারম্ভিক মান $100$ এবং এটি প্রতিবার $10$ করে হ্রাস পাচ্ছে।
২. do...while লুপ ব্যবহারের কারণে প্রথমে কাজ (sum calculation) সম্পন্ন হয় এবং পরে শর্ত যাচাই করা হয়।
৩. বড় মান সংরক্ষণের জন্য long int এবং ফরম্যাট স্পেসিফায়ার %ld ব্যবহার করা হয়েছে।