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