HSC ICT Chapter 5 জ্ঞানমূলক প্রশ্ন ও উত্তর

1. প্রোগ্রামিং ভাষার ধারণা

প্রোগ্রামিং ভাষা কী?
➤ প্রোগ্রামিং ভাষা হলো কম্পিউটারকে নির্দেশনা দেওয়ার জন্য ব্যবহৃত কৃত্রিম ভাষা।

উচ্চ স্তরের ও নিম্ন স্তরের ভাষা:
➤ উচ্চ স্তরের ভাষা সহজবোধ্য ও মানুষের পড়ার উপযোগী, নিম্ন স্তরের ভাষা সরাসরি মেশিনের সাথে সম্পর্কিত।

প্রোগ্রামিং ভাষার প্রকারভেদ:
➤ প্রোগ্রামিং ভাষা সাধারণত মেশিন ভাষা, অ্যাসেম্বলি ভাষা, ও উচ্চ স্তরের ভাষায় বিভক্ত।

কম্পাইলার ও ইন্টারপ্রেটার:
➤ কম্পাইলার সম্পূর্ণ কোড একবারে অনুবাদ করে, ইন্টারপ্রেটার লাইন বাই লাইন অনুবাদ করে।

2. অ্যালগরিদম ও ফ্লোচার্ট

অ্যালগরিদমের সংজ্ঞা ও বৈশিষ্ট্য:
➤ অ্যালগরিদম হলো নির্দিষ্ট সমস্যার সমাধানের ধাপে ধাপে নির্দেশনার একটি সেট, যা সুনির্দিষ্ট, কার্যকরী ও সমাপ্তিযোগ্য হতে হয়।

অ্যালগরিদম লেখার নিয়ম:
➤ অ্যালগরিদম সাধারণত শুরু, ইনপুট গ্রহণ, প্রক্রিয়াকরণ, আউটপুট প্রদর্শন এবং শেষ ধাপে বিভক্ত হয়ে লেখা হয়।

ফ্লোচার্টের সংজ্ঞা ও উপাদান:
➤ ফ্লোচার্ট হলো চিত্রের মাধ্যমে অ্যালগরিদম উপস্থাপনের পদ্ধতি, যেখানে টার্মিনাল, ইনপুট/আউটপুট, প্রসেস, সিদ্ধান্ত, ও সংযোগ প্রতীক ব্যবহৃত হয়।

ফ্লোচার্ট আঁকার নিয়ম:
➤ ফ্লোচার্ট আঁকতে প্রতীকগুলোর যথাযথ ব্যবহার, প্রবাহনির্দেশক চিহ্ন ও ধারাবাহিকতার নিয়ম অনুসরণ করতে হয়।

3. সি (C) প্রোগ্রামিং ভাষার প্রাথমিক ধারণা

  • C ভাষার বৈশিষ্ট্য
  • C প্রোগ্রামের গঠন
  • #include, main(), {} ইত্যাদি কীওয়ার্ড

4. ডাটা টাইপ ও ভেরিয়েবল

প্রাথমিক ডাটা টাইপ (int, float, char, double):
int পূর্ণসংখ্যা, float দশমিক সংখ্যা, char একটি অক্ষর, এবং double বৃহৎ দশমিক সংখ্যার জন্য ব্যবহৃত হয়।

কনস্ট্যান্ট, ভেরিয়েবল ও তাদের ব্যবহার:
➤ কনস্ট্যান্ট পরিবর্তনশীল নয়, ভেরিয়েবল মান ধারণ করে এবং গণনা, ডাটা সংরক্ষণ ও প্রসেসিংয়ের জন্য ব্যবহৃত হয়।

printf()scanf() ফাংশনের ব্যবহার:
printf() আউটপুট প্রদর্শনের জন্য, আর scanf() ব্যবহারকারীর ইনপুট নেওয়ার জন্য ব্যবহৃত হয়।

5. অপারেটর ও এক্সপ্রেশন

  • অ্যারিথমেটিক অপারেটর (+, -, *, /, %)
  • রিলেশনাল অপারেটর (==, !=, <, >, <=, >=)
  • লজিক্যাল অপারেটর (&&, ||, !)
  • এসাইনমেন্ট অপারেটর (=, +=, -=, *=, /=)
  • ইনক্রিমেন্ট ও ডিক্রিমেন্ট অপারেটর (++, --)

6. শর্তাধীন স্টেটমেন্ট (Conditional Statements)

  • if, if-else, nested if
  • switch-case স্টেটমেন্ট

if স্টেটমেন্ট:

if (শর্ত) {
// শর্ত সত্য হলে কার্যক্রম
}

if-else স্টেটমেন্ট:

if (শর্ত) {
// শর্ত সত্য হলে কার্যক্রম
} else {
// শর্ত মিথ্যা হলে কার্যক্রম
}

nested if স্টেটমেন্ট:

if (শর্ত1) {
if (শর্ত2) {
// উভয় শর্ত সত্য হলে কার্যক্রম
}
}

switch-case স্টেটমেন্ট:

switch (ভেরিয়েবল) {
case মান1:
// কার্যক্রম;
break;
case মান2:
// কার্যক্রম;
break;
default:
// অন্যসব ক্ষেত্রে কার্যক্রম;
}

7. লুপ ও ইটারেশন (Looping & Iteration)

  • for লুপ
  • while লুপ
  • do-while লুপ
  • ব্রেক (break) ও কন্টিনিউ (continue)

উত্তর

for লুপ:

for (প্রারম্ভিকতা; শর্ত; বৃদ্ধি/হ্রাস) {
// কার্যক্রম;
}

while লুপ:

while (শর্ত) {
// কার্যক্রম;
}

do-while লুপ:

do {
// কার্যক্রম;
} while (শর্ত);

breakcontinue:

for (প্রারম্ভিকতা; শর্ত; বৃদ্ধি/হ্রাস) {
if (শর্ত) {
break; // লুপ থেকে বের হয়ে যাবে
}
if (শর্ত) {
continue; // বর্তমান চক্র বাদ দিয়ে পরবর্তী চক্র চালাবে
}
}

8. ফাংশন (Function)

ফাংশনের ধারণা ও প্রয়োজনীয়তা:
➤ ফাংশন হলো নির্দিষ্ট কাজ সম্পাদনের জন্য কোডের একটি পুনঃব্যবহারযোগ্য ব্লক, যা প্রোগ্রামিংকে সহজ ও সংগঠিত করে।

বিল্ট-ইন ও ইউজার ডিফাইনড ফাংশন:
➤ বিল্ট-ইন ফাংশন প্রোগ্রামিং ভাষায় পূর্বনির্ধারিত (printf(), sqrt()), আর ইউজার ডিফাইনড ফাংশন ব্যবহারকারী দ্বারা তৈরি করা হয়।

ফাংশনের আর্গুমেন্ট ও রিটার্ন টাইপ:
➤ আর্গুমেন্ট ফাংশনে পাঠানো ইনপুট, আর রিটার্ন টাইপ ফাংশনের আউটপুট ডেটার ধরন নির্ধারণ করে।

9. অ্যারে (Array)

একমাত্রিক ও দ্বিমাত্রিক অ্যারে:
➤ একমাত্রিক অ্যারে এক সারিতে সংরক্ষিত উপাদানসমূহ (int arr[5]), আর দ্বিমাত্রিক অ্যারে সারি-কলামের বিন্যাসে (int arr[3][3]) উপাদান সংরক্ষণ করে।

অ্যারেতে ইনপুট ও আউটপুট:
scanf() দিয়ে ইনপুট নেওয়া হয় এবং printf() দিয়ে অ্যারের মান প্রিন্ট করা হয়, যেমন:

scanf(“%d”, &arr[i]);
printf(“%d”, arr[i]);

অ্যারে ব্যবহার করে গাণিতিক অপারেশন:
➤ অ্যারেতে সংরক্ষিত সংখ্যাগুলোর উপর লুপ চালিয়ে যোগ, গুণ, গড় ইত্যাদি গণনা করা যায়, যেমন:

sum += arr[i];
product *= arr[i];

10. স্ট্রিং প্রক্রিয়াকরণ (String Handling)

  • স্ট্রিং ডাটা টাইপ
  • স্ট্রিং ইনপুট ও আউটপুট
  • স্ট্রিং ফাংশন (strlen(), strcpy(), strcmp())

11. ফাইল হ্যান্ডলিং (File Handling) [Basic Concept]

  • ফাইল ওপেন, রিড ও রাইট
  • fopen(), fclose(), fprintf(), fscanf()

অতিরিক্ত বিষয় (Extra Topics)

ডিবাগিং (Debugging) ও এর গুরুত্ব:
➤ ডিবাগিং হলো প্রোগ্রামের ভুল (বাগ) শনাক্ত ও সংশোধন করার প্রক্রিয়া, যা নির্ভুল ও কার্যকর সফটওয়্যার তৈরিতে গুরুত্বপূর্ণ।

প্রোগ্রামিং সমস্যা সমাধানের কৌশল:
➤ সমস্যা বিশ্লেষণ, অ্যালগরিদম ও ফ্লোচার্ট তৈরি, কোড লেখা, টেস্টিং ও ডিবাগিং-এর মাধ্যমে সমস্যা সমাধান করা হয়।

সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়ার ভূমিকা:
➤ পরিকল্পনা, ডিজাইন, কোডিং, টেস্টিং ও মেইনটেন্যান্সের মাধ্যমে উন্নত, নির্ভরযোগ্য ও ব্যবহারকারীবান্ধব সফটওয়্যার তৈরি করা হয়।

Leave a Comment