ক) স্ট্রিং (string) কী?
এক বা একাধিক ক্যারেক্টার বা বর্ণের সমষ্টিকে স্ট্রিং বলা হয়। সি-প্রোগ্রামিংয়ে ক্যারেক্টার টাইপ অ্যারে ব্যবহার করে স্ট্রিং তৈরি করা হয় যা নাল ক্যারেক্টার (\0) দিয়ে শেষ হয়।
খ) Variable ++i ও i++ ব্যাখ্যা কর।
উভয়ই ইনক্রিমেন্ট অপারেটর হলেও এদের কাজের ধরনে পার্থক্য রয়েছে:
১.
++i (Pre-increment): এটি প্রথমে ভেরিয়েবলের মান ১ বৃদ্ধি করে এবং তারপর সেই বর্ধিত মানটি এক্সপ্রেশনে ব্যবহার করে।
২.
i++ (Post-increment): এটি প্রথমে ভেরিয়েবলের বর্তমান মানটি এক্সপ্রেশনে ব্যবহার করে এবং কাজ শেষে মান ১ বৃদ্ধি করে।
গ) উল্লিখিত সিরিজটির যোগফল নির্ণয়ের ফ্লোচার্ট:
ধারাটি হলো: $2^2 + 5^2 + 8^2 + \dots + n^2$। এখানে প্রথম পদ $a = 2$ এবং সাধারণ অন্তর $d = 3$।
১.
Start: প্রোগ্রাম শুরু।
২.
Input: $n$ এর মান গ্রহণ।
৩.
Initialize: $\sum = 0, i = 2$।
৪.
Calculation: $\sum = \sum + (i \times i)$।
৫.
Increment: $i = i + 3$।
৬.
Condition: যদি $i \le n$ হয়, তবে ধাপ ৪-এ ফিরে যাই। না হলে $\sum$ প্রিন্ট করি।
৭.
End: প্রোগ্রাম শেষ।
ঘ) if স্টেটমেন্ট ব্যবহার করে সিরিজটির প্রথম 40টি পদের যোগফল নির্ণয়ের C Program:
লুপের পরিবর্তে
if এবং
goto ব্যবহার করে প্রথম ৪০টি পদের যোগফল নিচে দেওয়া হলো:
#include <stdio.h>
int main() {
int i = 2; // প্রথম পদ
int count = 1; // পদ সংখ্যা গণক
long long sum = 0; // যোগফল সংরক্ষণের ভেরিয়েবল
loop_label:
if (count <= 40) {
sum = sum + (long long)i * i; // বর্গের যোগফল
i = i + 3; // পরবর্তী পদ (ব্যবধান ৩)
count++; // পদ সংখ্যা ১ বৃদ্ধি
goto loop_label; // পুনরায় শর্ত যাচাইয়ের জন্য ফিরে যাওয়া
}
printf("The sum of the first 40 terms is: %lld\n", sum);
return 0;
}গাণিতিক সারসংক্ষেপ:
১. ধারাটির সাধারণ পদ (n-th term): $a + (n-1)d = 2 + (n-1)3 = 3n - 1$।
২. ৪০তম পদ হবে: $3(40) - 1 = 119$।
৩. প্রোগ্রামটি ২ থেকে ১১৯ পর্যন্ত পদগুলোর বর্গের সমষ্টি নির্ণয় করবে।