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 (শর্ত);
break
ও continue
:
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) ও এর গুরুত্ব:
➤ ডিবাগিং হলো প্রোগ্রামের ভুল (বাগ) শনাক্ত ও সংশোধন করার প্রক্রিয়া, যা নির্ভুল ও কার্যকর সফটওয়্যার তৈরিতে গুরুত্বপূর্ণ।
প্রোগ্রামিং সমস্যা সমাধানের কৌশল:
➤ সমস্যা বিশ্লেষণ, অ্যালগরিদম ও ফ্লোচার্ট তৈরি, কোড লেখা, টেস্টিং ও ডিবাগিং-এর মাধ্যমে সমস্যা সমাধান করা হয়।
সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়ার ভূমিকা:
➤ পরিকল্পনা, ডিজাইন, কোডিং, টেস্টিং ও মেইনটেন্যান্সের মাধ্যমে উন্নত, নির্ভরযোগ্য ও ব্যবহারকারীবান্ধব সফটওয়্যার তৈরি করা হয়।