পঞ্চম অধ্যায় এর সকল জ্ঞানমূলক এবং অনুধাবনমূলক প্রশ্নের উত্তর ।। Raihans Academy
অধ্যায় ৫: প্রোগ্রামিং ভাষা - জ্ঞানমূলক প্রশ্ন ও উত্তর (১-৬৭)
১. মেশিন ভাষা কী?
উত্তর: যে প্রোগ্রামিং ভাষায় শুধুমাত্র ০ এবং ১ ব্যবহার করে প্রোগ্রাম লেখা হয় এবং যা কম্পিউটার সরাসরি বুঝতে পারে তাকে মেশিন ভাষা বলে।
উত্তর: যে প্রোগ্রামিং ভাষায় শুধুমাত্র ০ এবং ১ ব্যবহার করে প্রোগ্রাম লেখা হয় এবং যা কম্পিউটার সরাসরি বুঝতে পারে তাকে মেশিন ভাষা বলে।
২. অ্যাসেম্বলি ভাষা কী?
উত্তর: যে প্রোগ্রামিং ভাষায় ০ ও ১-এর পরিবর্তে বিভিন্ন নেমনিক কোড (যেমন- ADD, SUB) ব্যবহার করে প্রোগ্রাম লেখা হয় তাকে অ্যাসেম্বলি ভাষা বলে।
উত্তর: যে প্রোগ্রামিং ভাষায় ০ ও ১-এর পরিবর্তে বিভিন্ন নেমনিক কোড (যেমন- ADD, SUB) ব্যবহার করে প্রোগ্রাম লেখা হয় তাকে অ্যাসেম্বলি ভাষা বলে।
৩. প্রোগ্রাম কী?
উত্তর: কোনো সমস্যা সমাধানের জন্য কম্পিউটারকে দেওয়া নির্দেশাবলির সমষ্টিকে প্রোগ্রাম বলে।
উত্তর: কোনো সমস্যা সমাধানের জন্য কম্পিউটারকে দেওয়া নির্দেশাবলির সমষ্টিকে প্রোগ্রাম বলে।
৪. প্রোগ্রামের ভাষা কী?
উত্তর: কম্পিউটারের মাধ্যমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক ও নিয়মনীতির সমষ্টিকে প্রোগ্রামিং ভাষা বলে।
উত্তর: কম্পিউটারের মাধ্যমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক ও নিয়মনীতির সমষ্টিকে প্রোগ্রামিং ভাষা বলে।
৫. CPU কী?
উত্তর: CPU (Central Processing Unit) হলো কম্পিউটারের প্রধান অংশ যা সকল গাণিতিক ও যৌক্তিক কাজ নিয়ন্ত্রণ করে; একে কম্পিউটারের মস্তিষ্ক বলা হয়।
উত্তর: CPU (Central Processing Unit) হলো কম্পিউটারের প্রধান অংশ যা সকল গাণিতিক ও যৌক্তিক কাজ নিয়ন্ত্রণ করে; একে কম্পিউটারের মস্তিষ্ক বলা হয়।
৬. ইনপুট ডিভাইস কী?
উত্তর: যে সকল যন্ত্রের মাধ্যমে কম্পিউটারকে প্রয়োজনীয় তথ্য বা নির্দেশনা দেওয়া হয় তাকে ইনপুট ডিভাইস বলে। যেমন: কিবোর্ড, মাউস।
উত্তর: যে সকল যন্ত্রের মাধ্যমে কম্পিউটারকে প্রয়োজনীয় তথ্য বা নির্দেশনা দেওয়া হয় তাকে ইনপুট ডিভাইস বলে। যেমন: কিবোর্ড, মাউস।
৭. ভার্চুয়াল মেমরি কী?
উত্তর: হার্ডডিস্কের কিছু অংশ যখন অস্থায়ীভাবে র্যাম (RAM) হিসেবে ব্যবহৃত হয়, তখন সেই বিশেষ মেমরিকে ভার্চুয়াল মেমরি বলে।
উত্তর: হার্ডডিস্কের কিছু অংশ যখন অস্থায়ীভাবে র্যাম (RAM) হিসেবে ব্যবহৃত হয়, তখন সেই বিশেষ মেমরিকে ভার্চুয়াল মেমরি বলে।
৮. মধ্যম স্তরের ভাষা কী?
উত্তর: যে প্রোগ্রামিং ভাষায় নিম্নস্তরের (মেশিন ভাষার সুবিধা) এবং উচ্চস্তরের—উভয় ভাষার বৈশিষ্ট্য বিদ্যমান তাকে মধ্যম স্তরের ভাষা বলে। যেমন: C ভাষা।
উত্তর: যে প্রোগ্রামিং ভাষায় নিম্নস্তরের (মেশিন ভাষার সুবিধা) এবং উচ্চস্তরের—উভয় ভাষার বৈশিষ্ট্য বিদ্যমান তাকে মধ্যম স্তরের ভাষা বলে। যেমন: C ভাষা।
৯. ভোলাটাইল মেমোরি কী?
উত্তর: যে মেমরিতে বিদ্যুৎ চলে গেলে সংরক্ষিত সকল তথ্য মুছে যায় তাকে ভোলাটাইল বা অস্থায়ী মেমোরি বলে। যেমন: RAM।
উত্তর: যে মেমরিতে বিদ্যুৎ চলে গেলে সংরক্ষিত সকল তথ্য মুছে যায় তাকে ভোলাটাইল বা অস্থায়ী মেমোরি বলে। যেমন: RAM।
১০. অবজেক্ট প্রোগ্রাম কী?
উত্তর: অনুবাদক প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করার পর যে প্রোগ্রাম পাওয়া যায় তাকে অবজেক্ট বা বস্তু প্রোগ্রাম বলে।
উত্তর: অনুবাদক প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করার পর যে প্রোগ্রাম পাওয়া যায় তাকে অবজেক্ট বা বস্তু প্রোগ্রাম বলে।
১১. পঞ্চম প্রজন্য ভাষা কোনটি?
উত্তর: পঞ্চম প্রজন্মের ভাষা হলো ন্যাচারাল ল্যাঙ্গুয়েজ (যেমন: PROLOG, LISP), যা কৃত্রিম বুদ্ধিমত্তার কাজে ব্যবহৃত হয়।
উত্তর: পঞ্চম প্রজন্মের ভাষা হলো ন্যাচারাল ল্যাঙ্গুয়েজ (যেমন: PROLOG, LISP), যা কৃত্রিম বুদ্ধিমত্তার কাজে ব্যবহৃত হয়।
১২. 4GL কী?
উত্তর: 4GL বা Fourth Generation Language হলো চতুর্থ প্রজন্মের অত্যন্ত উচ্চস্তরের ভাষা (যেমন: SQL), যার মাধ্যমে সহজেই ডেটাবেজ ম্যানেজমেন্ট করা যায়।
উত্তর: 4GL বা Fourth Generation Language হলো চতুর্থ প্রজন্মের অত্যন্ত উচ্চস্তরের ভাষা (যেমন: SQL), যার মাধ্যমে সহজেই ডেটাবেজ ম্যানেজমেন্ট করা যায়।
১৩. উচ্চস্তরের ভাষা কী?
উত্তর: যে সকল ভাষা মানুষের ভাষার (ইংরেজি) কাছাকাছি এবং হার্ডওয়্যারের ওপর নির্ভরশীল নয় তাকে উচ্চস্তরের ভাষা বলে।
উত্তর: যে সকল ভাষা মানুষের ভাষার (ইংরেজি) কাছাকাছি এবং হার্ডওয়্যারের ওপর নির্ভরশীল নয় তাকে উচ্চস্তরের ভাষা বলে।
১৪. সি ভাষা কী?
উত্তর: সি (C) হলো বেল ল্যাবরেটরিতে ডেনিস রিচি কর্তৃক উদ্ভাবিত একটি জনপ্রিয় স্ট্রাকচার্ড ও মধ্যম স্তরের প্রোগ্রামিং ভাষা।
উত্তর: সি (C) হলো বেল ল্যাবরেটরিতে ডেনিস রিচি কর্তৃক উদ্ভাবিত একটি জনপ্রিয় স্ট্রাকচার্ড ও মধ্যম স্তরের প্রোগ্রামিং ভাষা।
১৫. সি++ ভাষা কী?
উত্তর: সি++ (C++) হলো সি ভাষার বর্ধিত রূপ এবং একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
উত্তর: সি++ (C++) হলো সি ভাষার বর্ধিত রূপ এবং একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
১৬. ভিজুয়্যাল বেসিক কী?
উত্তর: মাইক্রোসফট কর্পোরেশনের উদ্ভাবিত একটি ইভেন্ট ড্রাইভেন ও গ্রাফিক্যাল ইন্টারফেস সম্পন্ন প্রোগ্রামিং ভাষা।
উত্তর: মাইক্রোসফট কর্পোরেশনের উদ্ভাবিত একটি ইভেন্ট ড্রাইভেন ও গ্রাফিক্যাল ইন্টারফেস সম্পন্ন প্রোগ্রামিং ভাষা।
১৭. ওরাকল কী?
উত্তর: ওরাকল (Oracle) হলো একটি শক্তিশালী রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) সফটওয়্যার।
উত্তর: ওরাকল (Oracle) হলো একটি শক্তিশালী রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) সফটওয়্যার।
১৮. ফোরট্রান কী?
উত্তর: FORTRAN (Formula Translation) হলো বৈজ্ঞানিক ও প্রকৌশল সংক্রান্ত জটিল গাণিতিক সমস্যার জন্য প্রথম উচ্চস্তরের ভাষা।
উত্তর: FORTRAN (Formula Translation) হলো বৈজ্ঞানিক ও প্রকৌশল সংক্রান্ত জটিল গাণিতিক সমস্যার জন্য প্রথম উচ্চস্তরের ভাষা।
১৯. পাইথন কী?
উত্তর: পাইথন (Python) হলো একটি অত্যন্ত সহজবোধ্য ও শক্তিশালী অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা যা বর্তমানে সবক্ষেত্রে জনপ্রিয়।
উত্তর: পাইথন (Python) হলো একটি অত্যন্ত সহজবোধ্য ও শক্তিশালী অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা যা বর্তমানে সবক্ষেত্রে জনপ্রিয়।
২০. ন্যাচারাল ল্যাঙ্গুয়েজ কী?
উত্তর: মানুষ স্বাভাবিকভাবে যে ভাষায় কথা বলে সেই ভাষাকেই ন্যাচারাল ল্যাঙ্গুয়েজ বলে (যেমন- বাংলা, ইংরেজি); এটি প্রোগ্রামিংয়ের ৫ম প্রজন্মের ভাষা।
উত্তর: মানুষ স্বাভাবিকভাবে যে ভাষায় কথা বলে সেই ভাষাকেই ন্যাচারাল ল্যাঙ্গুয়েজ বলে (যেমন- বাংলা, ইংরেজি); এটি প্রোগ্রামিংয়ের ৫ম প্রজন্মের ভাষা।
২১. অনুবাদক প্রোগ্রাম কী?
উত্তর: যে প্রোগ্রামের মাধ্যমে উচ্চস্তরের ভাষায় লেখা প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করা হয় তাকে অনুবাদক প্রোগ্রাম বলে।
উত্তর: যে প্রোগ্রামের মাধ্যমে উচ্চস্তরের ভাষায় লেখা প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করা হয় তাকে অনুবাদক প্রোগ্রাম বলে।
২২. অবজেক্ট প্রোগ্রাম কী?
উত্তর: (পুনরাবৃত্তি) অনুবাদ করার পর প্রাপ্ত মেশিন ভাষার প্রোগ্রাম।
উত্তর: (পুনরাবৃত্তি) অনুবাদ করার পর প্রাপ্ত মেশিন ভাষার প্রোগ্রাম।
২৩. অ্যাসিম্বলার কী?
উত্তর: যে অনুবাদক প্রোগ্রাম অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে তাকে অ্যাসিম্বলার বলে।
উত্তর: যে অনুবাদক প্রোগ্রাম অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে তাকে অ্যাসিম্বলার বলে।
২৪. ইন্টারপ্রেটার কী?
উত্তর: যে অনুবাদক প্রোগ্রাম সোর্স কোডকে লাইন বাই লাইন বা এক এক লাইন করে মেশিন ভাষায় অনুবাদ করে তাকে ইন্টারপ্রেটার বলে।
উত্তর: যে অনুবাদক প্রোগ্রাম সোর্স কোডকে লাইন বাই লাইন বা এক এক লাইন করে মেশিন ভাষায় অনুবাদ করে তাকে ইন্টারপ্রেটার বলে।
২৫. কম্পাইলার কী?
উত্তর: যে অনুবাদক প্রোগ্রাম পুরো সোর্স প্রোগ্রামকে একসাথে মেশিন ভাষায় রূপান্তর করে তাকে কম্পাইলার বলে।
উত্তর: যে অনুবাদক প্রোগ্রাম পুরো সোর্স প্রোগ্রামকে একসাথে মেশিন ভাষায় রূপান্তর করে তাকে কম্পাইলার বলে।
২৬. ডিবাগ কী?
উত্তর: প্রোগ্রামের ভুল বা ত্রুটিসমূহ খুঁজে বের করা এবং তা সংশোধন করার প্রক্রিয়াকে ডিবাগিং বা ডিবাগ বলা হয়।
উত্তর: প্রোগ্রামের ভুল বা ত্রুটিসমূহ খুঁজে বের করা এবং তা সংশোধন করার প্রক্রিয়াকে ডিবাগিং বা ডিবাগ বলা হয়।
২৭. রান টাইম এরর কী?
উত্তর: প্রোগ্রাম চলাকালীন সময়ে যদি কোনো অবৈধ গাণিতিক অপারেশন (যেমন- শূন্য দিয়ে ভাগ) ঘটে তবে যে ভুলের সৃষ্টি হয় তাকে রান টাইম এরর বলে।
উত্তর: প্রোগ্রাম চলাকালীন সময়ে যদি কোনো অবৈধ গাণিতিক অপারেশন (যেমন- শূন্য দিয়ে ভাগ) ঘটে তবে যে ভুলের সৃষ্টি হয় তাকে রান টাইম এরর বলে।
২৮. Syntax Error কী?
উত্তর: প্রোগ্রামিং ভাষার ব্যাকরণগত বা লেখার নিয়মভঙ্গজনিত ভুলকে সিনট্যাক্স এরর বলে।
উত্তর: প্রোগ্রামিং ভাষার ব্যাকরণগত বা লেখার নিয়মভঙ্গজনিত ভুলকে সিনট্যাক্স এরর বলে।
২৯. প্রোগ্রাম তৈরির ধাপ সমূহ কী কী?
উত্তর: ১. সমস্যা বিশ্লেষণ ২. ডিজাইন (অ্যালগরিদম ও ফ্লোচার্ট) ৩. কোডিং ৪. টেস্টিং ও ডিবাগিং ৫. বাস্তবায়ন ও রক্ষণাবেক্ষণ।
উত্তর: ১. সমস্যা বিশ্লেষণ ২. ডিজাইন (অ্যালগরিদম ও ফ্লোচার্ট) ৩. কোডিং ৪. টেস্টিং ও ডিবাগিং ৫. বাস্তবায়ন ও রক্ষণাবেক্ষণ।
৩০. বাগ (Bug) কী?
উত্তর: কম্পিউটারের প্রোগ্রাম বা সফটওয়্যারের ভেতরকার যেকোনো ত্রুটি বা ভুলকে বাগ (Bug) বলা হয়।
উত্তর: কম্পিউটারের প্রোগ্রাম বা সফটওয়্যারের ভেতরকার যেকোনো ত্রুটি বা ভুলকে বাগ (Bug) বলা হয়।
৩১. যৌক্তিক ভুল কী?
উত্তর: প্রোগ্রামে ভুল লজিক ব্যবহারের ফলে ভুল ফলাফল আসার ঘটনাকে যৌক্তিক ভুল (Logical Error) বলে।
উত্তর: প্রোগ্রামে ভুল লজিক ব্যবহারের ফলে ভুল ফলাফল আসার ঘটনাকে যৌক্তিক ভুল (Logical Error) বলে।
৩২. সুডোকোড কী?
উত্তর: কোনো একটি প্রোগ্রামের অ্যালগরিদম যখন কোনো নির্দিষ্ট ভাষার নিয়মে না লিখে সহজ ইংরেজি ভাষায় লেখা হয় তাকে সুডোকোড বলে।
উত্তর: কোনো একটি প্রোগ্রামের অ্যালগরিদম যখন কোনো নির্দিষ্ট ভাষার নিয়মে না লিখে সহজ ইংরেজি ভাষায় লেখা হয় তাকে সুডোকোড বলে।
৩৩. অ্যালগরিদম কাকে বলে?
উত্তর: কোনো একটি সমস্যাকে ধাপে ধাপে সমাধানের লিখিত পরিকল্পনাকে অ্যালগরিদম বলে।
উত্তর: কোনো একটি সমস্যাকে ধাপে ধাপে সমাধানের লিখিত পরিকল্পনাকে অ্যালগরিদম বলে।
৩৪. ফ্লোচার্ট কী?
উত্তর: অ্যালগরিদমকে যখন বিভিন্ন জ্যামিতিক চিত্রের মাধ্যমে উপস্থাপন করা হয় তাকে ফ্লোচার্ট বা প্রবাহচিত্র বলে।
উত্তর: অ্যালগরিদমকে যখন বিভিন্ন জ্যামিতিক চিত্রের মাধ্যমে উপস্থাপন করা হয় তাকে ফ্লোচার্ট বা প্রবাহচিত্র বলে।
৩৫. অবজেক্ট প্রোগ্রাম কী?
উত্তর: (পুনরাবৃত্তি) অনুবাদক প্রোগ্রাম দ্বারা অনূদিত মেশিন ভাষার প্রোগ্রাম।
উত্তর: (পুনরাবৃত্তি) অনুবাদক প্রোগ্রাম দ্বারা অনূদিত মেশিন ভাষার প্রোগ্রাম।
৩৬. স্ট্রাকচার্ড প্রোগ্রামিং কাকে বলে?
উত্তর: যে প্রোগ্রামিং পদ্ধতিতে একটি বড় প্রোগ্রামকে ছোট ছোট অংশে বা ফাংশনে ভাগ করে সমাধান করা হয় তাকে স্ট্রাকচার্ড প্রোগ্রামিং বলে।
উত্তর: যে প্রোগ্রামিং পদ্ধতিতে একটি বড় প্রোগ্রামকে ছোট ছোট অংশে বা ফাংশনে ভাগ করে সমাধান করা হয় তাকে স্ট্রাকচার্ড প্রোগ্রামিং বলে।
৩৭. OOP মডেল কাকে বলে?
উত্তর: OOP (Object Oriented Programming) হলো এমন একটি মডেল যেখানে ডেটা এবং ফাংশনকে একটি 'অবজেক্ট' হিসেবে কল্পনা করে প্রোগ্রাম তৈরি করা হয়।
উত্তর: OOP (Object Oriented Programming) হলো এমন একটি মডেল যেখানে ডেটা এবং ফাংশনকে একটি 'অবজেক্ট' হিসেবে কল্পনা করে প্রোগ্রাম তৈরি করা হয়।
৩৮. ইভেন্ট ড্রাইভেন প্রোগ্রামিং মডেল কাকে বলে?
উত্তর: যে প্রোগ্রামিংয়ে কোনো বিশেষ ইভেন্ট বা ব্যবহারকারীর কাজের ওপর ভিত্তি করে (যেমন মাউস ক্লিক) প্রোগ্রাম পরিচালিত হয় তাকে ইভেন্ট ড্রাইভেন প্রোগ্রামিং বলে।
উত্তর: যে প্রোগ্রামিংয়ে কোনো বিশেষ ইভেন্ট বা ব্যবহারকারীর কাজের ওপর ভিত্তি করে (যেমন মাউস ক্লিক) প্রোগ্রাম পরিচালিত হয় তাকে ইভেন্ট ড্রাইভেন প্রোগ্রামিং বলে।
৩৯. পলিমরফিজম কী?
উত্তর: পলিমরফিজম হলো OOP-এর একটি বৈশিষ্ট্য যা একই নামের ফাংশন বা অপারেটরকে বিভিন্ন পরিস্থিতিতে ভিন্ন ভিন্ন কাজ করার ক্ষমতা দেয়।
উত্তর: পলিমরফিজম হলো OOP-এর একটি বৈশিষ্ট্য যা একই নামের ফাংশন বা অপারেটরকে বিভিন্ন পরিস্থিতিতে ভিন্ন ভিন্ন কাজ করার ক্ষমতা দেয়।
৪০. হেডার ফাইল কী?
উত্তর: সি প্রোগ্রামের শুরুতে বিভিন্ন লাইব্রেরি ফাংশন ব্যবহারের জন্য যে ফাইলগুলো যুক্ত করা হয় তাদের হেডার ফাইল বলে (যেমন: stdio.h)।
উত্তর: সি প্রোগ্রামের শুরুতে বিভিন্ন লাইব্রেরি ফাংশন ব্যবহারের জন্য যে ফাইলগুলো যুক্ত করা হয় তাদের হেডার ফাইল বলে (যেমন: stdio.h)।
৪১. লিংকার কী?
উত্তর: লিংকার হলো একটি সিস্টেম সফটওয়্যার যা অবজেক্ট ফাইলের সাথে লাইব্রেরি ফাইলসমূহ যুক্ত করে একটি রানযোগ্য বা এক্সিকিউটেবল ফাইল তৈরি করে।
উত্তর: লিংকার হলো একটি সিস্টেম সফটওয়্যার যা অবজেক্ট ফাইলের সাথে লাইব্রেরি ফাইলসমূহ যুক্ত করে একটি রানযোগ্য বা এক্সিকিউটেবল ফাইল তৈরি করে।
৪২. General Purpose প্রোগ্রামিং ভাষা কী?
উত্তর: যে ভাষা সব ধরনের সফটওয়্যার বা কাজ তৈরির জন্য ব্যবহৃত হয় তাকে জেনারেল পারপাস ভাষা বলে (যেমন: C বা Python)।
উত্তর: যে ভাষা সব ধরনের সফটওয়্যার বা কাজ তৈরির জন্য ব্যবহৃত হয় তাকে জেনারেল পারপাস ভাষা বলে (যেমন: C বা Python)।
৪৩. টোকেন কী?
উত্তর: সি প্রোগ্রামের ক্ষুদ্রতম অর্থবোধক একককে টোকেন বলা হয়।
উত্তর: সি প্রোগ্রামের ক্ষুদ্রতম অর্থবোধক একককে টোকেন বলা হয়।
৪৪. Float ডেটাটাইপ কী?
উত্তর: ভগ্নাংশ বা দশমিক যুক্ত সংখ্যা সংরক্ষণের জন্য যে ডেটা টাইপ ব্যবহৃত হয় তাকে ফ্লোট (Float) ডেটা টাইপ বলে।
উত্তর: ভগ্নাংশ বা দশমিক যুক্ত সংখ্যা সংরক্ষণের জন্য যে ডেটা টাইপ ব্যবহৃত হয় তাকে ফ্লোট (Float) ডেটা টাইপ বলে।
৪৫. ডেটা টাইপ কী?
উত্তর: কোনো চলকে কী ধরনের ডেটা (পূর্ণসংখ্যা, ভগ্নাংশ ইত্যাদি) রাখা হবে তা নির্দেশ করার পদ্ধতিকে ডেটা টাইপ বলে।
উত্তর: কোনো চলকে কী ধরনের ডেটা (পূর্ণসংখ্যা, ভগ্নাংশ ইত্যাদি) রাখা হবে তা নির্দেশ করার পদ্ধতিকে ডেটা টাইপ বলে।
৪৬. বিল্ট ইন ডেটাটাইপ কী?
উত্তর: প্রোগ্রামিং ভাষায় আগে থেকে তৈরি করা ডেটা টাইপকে বিল্ট ইন বা প্রাইমারি ডেটা টাইপ বলে। যেমন: int, char।
উত্তর: প্রোগ্রামিং ভাষায় আগে থেকে তৈরি করা ডেটা টাইপকে বিল্ট ইন বা প্রাইমারি ডেটা টাইপ বলে। যেমন: int, char।
৪৭. ফাঁকা বা এম্পটি ডেটা সেট কী?
উত্তর: সি ভাষায় 'void' কি-ওয়ার্ডটি ফাঁকা বা কোনো মান নেই এমন ডেটা সেট বোঝাতে ব্যবহৃত হয়।
উত্তর: সি ভাষায় 'void' কি-ওয়ার্ডটি ফাঁকা বা কোনো মান নেই এমন ডেটা সেট বোঝাতে ব্যবহৃত হয়।
৪৮. ইউজার ডিফাইন ডেটা টাইপ কী?
উত্তর: ব্যবহারকারী যখন মৌলিক ডেটা টাইপ ব্যবহার করে নিজের প্রয়োজনমতো নতুন ডেটা টাইপ তৈরি করে তাকে ইউজার ডিফাইন ডেটা টাইপ বলে (যেমন: struct)।
উত্তর: ব্যবহারকারী যখন মৌলিক ডেটা টাইপ ব্যবহার করে নিজের প্রয়োজনমতো নতুন ডেটা টাইপ তৈরি করে তাকে ইউজার ডিফাইন ডেটা টাইপ বলে (যেমন: struct)।
৪৯. চলক কী?
উত্তর: প্রোগ্রামে ডেটা সংরক্ষণের জন্য মেমরিতে যে জায়গা বরাদ্দ করা হয় এবং যার মান পরিবর্তনশীল তাকে চলক বা ভেরিয়েবল বলে।
উত্তর: প্রোগ্রামে ডেটা সংরক্ষণের জন্য মেমরিতে যে জায়গা বরাদ্দ করা হয় এবং যার মান পরিবর্তনশীল তাকে চলক বা ভেরিয়েবল বলে।
৫০. ধ্রুবক কী?
উত্তর: প্রোগ্রামের মেমরিতে সংরক্ষিত যে রাশির মান প্রোগ্রাম চলাকালীন সময়ে পরিবর্তন হয় না তাকে ধ্রুবক বা কনস্ট্যান্ট বলে।
উত্তর: প্রোগ্রামের মেমরিতে সংরক্ষিত যে রাশির মান প্রোগ্রাম চলাকালীন সময়ে পরিবর্তন হয় না তাকে ধ্রুবক বা কনস্ট্যান্ট বলে।
৫১. লোকাল ও গ্লোবাল ভেরিয়েবল কী?
উত্তর: ফাংশনের ভেতরে ঘোষিত চলককে লোকাল এবং ফাংশনের বাইরে ঘোষিত চলককে গ্লোবাল ভেরিয়েবল বলে।
উত্তর: ফাংশনের ভেতরে ঘোষিত চলককে লোকাল এবং ফাংশনের বাইরে ঘোষিত চলককে গ্লোবাল ভেরিয়েবল বলে।
৫২. বিল্ট ইন ভেরিয়েবল কী?
উত্তর: কোনো সিস্টেম বা কম্পাইলার কর্তৃক আগে থেকে সংজ্ঞায়িত ভেরিয়েবলসমূহকে বিল্ট ইন ভেরিয়েবল বলে।
উত্তর: কোনো সিস্টেম বা কম্পাইলার কর্তৃক আগে থেকে সংজ্ঞায়িত ভেরিয়েবলসমূহকে বিল্ট ইন ভেরিয়েবল বলে।
৫৩. কীওয়ার্ড কী?
উত্তর: প্রোগ্রামিং ভাষায় ব্যবহৃত নির্দিষ্ট অর্থবোধক সংরক্ষিত শব্দসমূহকে কীওয়ার্ড বলে (যেমন: int, if)।
উত্তর: প্রোগ্রামিং ভাষায় ব্যবহৃত নির্দিষ্ট অর্থবোধক সংরক্ষিত শব্দসমূহকে কীওয়ার্ড বলে (যেমন: int, if)।
৫৪. সংরক্ষিত শব্দ কী?
উত্তর: কীওয়ার্ডসমূহকেই সংরক্ষিত শব্দ বলা হয়, যা চলক বা অন্য কোনো নামে ব্যবহার করা যায় না।
উত্তর: কীওয়ার্ডসমূহকেই সংরক্ষিত শব্দ বলা হয়, যা চলক বা অন্য কোনো নামে ব্যবহার করা যায় না।
৫৫. প্রোগ্রামিং ভাষায় টোকেন কী?
উত্তর: প্রোগ্রামের ক্ষুদ্রতম একক যা কম্পাইলার চিনতে পারে (যেমন: কীওয়ার্ড, চলক, অপারেটর)।
উত্তর: প্রোগ্রামের ক্ষুদ্রতম একক যা কম্পাইলার চিনতে পারে (যেমন: কীওয়ার্ড, চলক, অপারেটর)।
৫৬. অ্যাসাইনমেন্ট অপারেটর কী?
উত্তর: কোনো চলকের মান নির্ধারণ করার জন্য ব্যবহৃত প্রতীককে অ্যাসাইনমেন্ট অপারেটর (যেমন: =) বলে।
উত্তর: কোনো চলকের মান নির্ধারণ করার জন্য ব্যবহৃত প্রতীককে অ্যাসাইনমেন্ট অপারেটর (যেমন: =) বলে।
৫৭. ইউনারি অপারেটর কী?
উত্তর: যে সকল অপারেটর শুধুমাত্র একটি অপারেন্ড নিয়ে কাজ করতে পারে তাকে ইউনারি অপারেটর বলে (যেমন: ++, --)।
উত্তর: যে সকল অপারেটর শুধুমাত্র একটি অপারেন্ড নিয়ে কাজ করতে পারে তাকে ইউনারি অপারেটর বলে (যেমন: ++, --)।
৫৮. ইনপুট স্টেটমেন্ট কী?
উত্তর: ব্যবহারকারীর কাছ থেকে ডেটা নেওয়ার জন্য ব্যবহৃত কমান্ড বা ফাংশনকে ইনপুট স্টেটমেন্ট বলে (যেমন: scanf)।
উত্তর: ব্যবহারকারীর কাছ থেকে ডেটা নেওয়ার জন্য ব্যবহৃত কমান্ড বা ফাংশনকে ইনপুট স্টেটমেন্ট বলে (যেমন: scanf)।
৫৯. আউটপুট স্টেটমেন্ট কী?
উত্তর: প্রসেস করা ফলাফল স্ক্রিনে প্রদর্শনের জন্য ব্যবহৃত কমান্ডকে আউটপুট স্টেটমেন্ট বলে (যেমন: printf)।
উত্তর: প্রসেস করা ফলাফল স্ক্রিনে প্রদর্শনের জন্য ব্যবহৃত কমান্ডকে আউটপুট স্টেটমেন্ট বলে (যেমন: printf)।
৬০. ফরম্যাট স্পেসিফায়ার কী?
উত্তর: ইনপুট বা আউটপুট নেওয়ার সময় ডেটা কোন ধরনের তা বোঝাতে যে চিহ্ন ব্যবহৃত হয় তাকে ফরম্যাট স্পেসিফায়ার বলে (যেমন: %d, %f)।
উত্তর: ইনপুট বা আউটপুট নেওয়ার সময় ডেটা কোন ধরনের তা বোঝাতে যে চিহ্ন ব্যবহৃত হয় তাকে ফরম্যাট স্পেসিফায়ার বলে (যেমন: %d, %f)।
৬১. কন্ট্রোল স্টেটমেন্ট কী?
উত্তর: প্রোগ্রামের নির্বাহের ধারা বা প্রবাহ নিয়ন্ত্রণ করার জন্য যে স্টেটমেন্ট ব্যবহৃত হয় তাকে কন্ট্রোল স্টেটমেন্ট বলে।
উত্তর: প্রোগ্রামের নির্বাহের ধারা বা প্রবাহ নিয়ন্ত্রণ করার জন্য যে স্টেটমেন্ট ব্যবহৃত হয় তাকে কন্ট্রোল স্টেটমেন্ট বলে।
৬২. জাম্পিং স্টেটমেন্ট কী?
উত্তর: প্রোগ্রামের এক অংশ থেকে সরাসরি অন্য অংশে চলে যাওয়ার জন্য ব্যবহৃত স্টেটমেন্টকে জাম্পিং স্টেটমেন্ট বলে (যেমন: break, continue)।
উত্তর: প্রোগ্রামের এক অংশ থেকে সরাসরি অন্য অংশে চলে যাওয়ার জন্য ব্যবহৃত স্টেটমেন্টকে জাম্পিং স্টেটমেন্ট বলে (যেমন: break, continue)।
৬৩. লুপ কী?
উত্তর: প্রোগ্রামের কোনো নির্দিষ্ট অংশ বা স্টেটমেন্ট নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত বারবার নির্বাহ করার প্রক্রিয়াকে লুপ বলে।
উত্তর: প্রোগ্রামের কোনো নির্দিষ্ট অংশ বা স্টেটমেন্ট নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত বারবার নির্বাহ করার প্রক্রিয়াকে লুপ বলে।
৬৪. এন্ট্রি ও এক্সিট কন্ট্রোল লুপ কী?
উত্তর: লুপে ঢোকার সময় শর্ত যাচাই করলে তাকে এন্ট্রি কন্ট্রোল (for, while) এবং কাজ শেষে শর্ত যাচাই করলে তাকে এক্সিট কন্ট্রোল (do-while) লুপ বলে।
উত্তর: লুপে ঢোকার সময় শর্ত যাচাই করলে তাকে এন্ট্রি কন্ট্রোল (for, while) এবং কাজ শেষে শর্ত যাচাই করলে তাকে এক্সিট কন্ট্রোল (do-while) লুপ বলে।
৬৫. অ্যারে কী?
উত্তর: একই ডেটা টাইপের কতগুলো ভেরিয়েবলের সমষ্টিকে অ্যারে (Array) বলা হয়।
উত্তর: একই ডেটা টাইপের কতগুলো ভেরিয়েবলের সমষ্টিকে অ্যারে (Array) বলা হয়।
৬৬. অ্যারে ডেটা টাইপ কিভাবে ডিক্লিয়ার করা যায়?
উত্তর: ডেটা টাইপ লিখে ভেরিয়েবলের নামের পাশে থার্ড ব্র্যাকেটে [ ] সাইজ দিয়ে অ্যারে ডিক্লেয়ার করা হয়। যেমন: int marks[10];
উত্তর: ডেটা টাইপ লিখে ভেরিয়েবলের নামের পাশে থার্ড ব্র্যাকেটে [ ] সাইজ দিয়ে অ্যারে ডিক্লেয়ার করা হয়। যেমন: int marks[10];
৬৭. ফাংশন কী?
উত্তর: ফাংশন হলো প্রোগ্রামের একটি ছোট অংশ যা একটি নির্দিষ্ট কাজ সম্পন্ন করে এবং বারবার ব্যবহার করা যায়।
উত্তর: ফাংশন হলো প্রোগ্রামের একটি ছোট অংশ যা একটি নির্দিষ্ট কাজ সম্পন্ন করে এবং বারবার ব্যবহার করা যায়।
অধ্যায় ৫: প্রোগ্রামিং ভাষা - অনুধাবনমূলক প্রশ্ন ও উত্তর (১-৬৯)
১. ভোলাটাইল মেমোরি এবং নন-ভোলাটাইল মেমোরি এক নয়- ব্যাখ্যা করো।
উত্তর: ভোলাটাইল মেমোরি (যেমন- RAM) হলো অস্থায়ী মেমোরি, যেখানে বিদ্যুৎ চলে গেলে সংরক্ষিত তথ্য মুছে যায়। অন্যদিকে নন-ভোলাটাইল মেমোরি (যেমন- ROM, Hard Disk) হলো স্থায়ী মেমোরি, যেখানে বিদ্যুৎ চলে গেলেও তথ্য সংরক্ষিত থাকে। মূলত তথ্য সংরক্ষণের স্থায়িত্বের কারণেই এরা ভিন্ন।
উত্তর: ভোলাটাইল মেমোরি (যেমন- RAM) হলো অস্থায়ী মেমোরি, যেখানে বিদ্যুৎ চলে গেলে সংরক্ষিত তথ্য মুছে যায়। অন্যদিকে নন-ভোলাটাইল মেমোরি (যেমন- ROM, Hard Disk) হলো স্থায়ী মেমোরি, যেখানে বিদ্যুৎ চলে গেলেও তথ্য সংরক্ষিত থাকে। মূলত তথ্য সংরক্ষণের স্থায়িত্বের কারণেই এরা ভিন্ন।
২. স্থায়ী ও অস্থায়ী মেমরির মধ্যে পার্থক্য লিখ।
উত্তর: স্থায়ী মেমরিতে তথ্য চিরস্থায়ীভাবে জমা থাকে এবং বিদ্যুৎ না থাকলেও তথ্য মোছে না (উদা: হার্ডডিস্ক)। অস্থায়ী মেমরিতে তথ্য সাময়িকভাবে জমা থাকে এবং বিদ্যুৎ চলে গেলে তথ্য মুছে যায় (উদা: র্যাম)। এছাড়া স্থায়ী মেমরির ধারণক্ষমতা অনেক বেশি হয়।
উত্তর: স্থায়ী মেমরিতে তথ্য চিরস্থায়ীভাবে জমা থাকে এবং বিদ্যুৎ না থাকলেও তথ্য মোছে না (উদা: হার্ডডিস্ক)। অস্থায়ী মেমরিতে তথ্য সাময়িকভাবে জমা থাকে এবং বিদ্যুৎ চলে গেলে তথ্য মুছে যায় (উদা: র্যাম)। এছাড়া স্থায়ী মেমরির ধারণক্ষমতা অনেক বেশি হয়।
৩. অ্যাসেম্বলি ভাষা মেশিন ভাষার চেয়ে উত্তম কেন?
উত্তর: মেশিন ভাষায় শুধু ০ ও ১ ব্যবহার করা হয় যা মানুষের জন্য মনে রাখা ও প্রোগ্রাম করা খুব কঠিন। কিন্তু অ্যাসেম্বলি ভাষায় সহজ সংকেত বা নেমনিক কোড (যেমন- ADD, SUB) ব্যবহার করা হয়, যা মানুষের কাছে তুলনামূলক সহজবোধ্য এবং এতে ভুল হওয়ার সম্ভাবনা কম থাকে।
উত্তর: মেশিন ভাষায় শুধু ০ ও ১ ব্যবহার করা হয় যা মানুষের জন্য মনে রাখা ও প্রোগ্রাম করা খুব কঠিন। কিন্তু অ্যাসেম্বলি ভাষায় সহজ সংকেত বা নেমনিক কোড (যেমন- ADD, SUB) ব্যবহার করা হয়, যা মানুষের কাছে তুলনামূলক সহজবোধ্য এবং এতে ভুল হওয়ার সম্ভাবনা কম থাকে।
৪. কেন্দ্রীয় প্রক্রিয়াকরণ অংশের বর্ণনা দাও।
উত্তর: কেন্দ্রীয় প্রক্রিয়াকরণ অংশ বা CPU হলো কম্পিউটারের মস্তিষ্ক। এর তিনটি প্রধান অংশ থাকে: ১. গাণিতিক যুক্তি ইউনিট (ALU), ২. নিয়ন্ত্রণ ইউনিট (CU) এবং ৩. রেজিস্টার মেমোরি। এটি ইনপুট গ্রহণ করে, তা প্রসেস করে এবং আউটপুট প্রদান করে।
উত্তর: কেন্দ্রীয় প্রক্রিয়াকরণ অংশ বা CPU হলো কম্পিউটারের মস্তিষ্ক। এর তিনটি প্রধান অংশ থাকে: ১. গাণিতিক যুক্তি ইউনিট (ALU), ২. নিয়ন্ত্রণ ইউনিট (CU) এবং ৩. রেজিস্টার মেমোরি। এটি ইনপুট গ্রহণ করে, তা প্রসেস করে এবং আউটপুট প্রদান করে।
৫. স্থায়ী মেমোরি বলতে কী বোঝায়?
উত্তর: যে মেমরিতে তথ্য বা ডেটা দীর্ঘ সময়ের জন্য সংরক্ষিত থাকে এবং বিদ্যুৎ সরবরাহ বন্ধ হলেও ডেটা হারিয়ে যায় না তাকে স্থায়ী মেমোরি বলে। যেমন- রম (ROM), হার্ডডিস্ক, পেনড্রাইভ ইত্যাদি। এটি মূলত ভবিষ্যতে ব্যবহারের জন্য ফাইল জমিয়ে রাখতে ব্যবহৃত হয়।
উত্তর: যে মেমরিতে তথ্য বা ডেটা দীর্ঘ সময়ের জন্য সংরক্ষিত থাকে এবং বিদ্যুৎ সরবরাহ বন্ধ হলেও ডেটা হারিয়ে যায় না তাকে স্থায়ী মেমোরি বলে। যেমন- রম (ROM), হার্ডডিস্ক, পেনড্রাইভ ইত্যাদি। এটি মূলত ভবিষ্যতে ব্যবহারের জন্য ফাইল জমিয়ে রাখতে ব্যবহৃত হয়।
৬. নিম্নস্তরের ভাষা বলতে কী বোঝায়?
উত্তর: যে প্রোগ্রামিং ভাষা কম্পিউটার হার্ডওয়্যারের খুব কাছাকাছি এবং যা সরাসরি ০ ও ১ অথবা নেমনিক কোড ব্যবহার করে লেখা হয় তাকে নিম্নস্তরের ভাষা বলে। মেশিন ভাষা ও অ্যাসেম্বলি ভাষা হলো নিম্নস্তরের ভাষার উদাহরণ।
উত্তর: যে প্রোগ্রামিং ভাষা কম্পিউটার হার্ডওয়্যারের খুব কাছাকাছি এবং যা সরাসরি ০ ও ১ অথবা নেমনিক কোড ব্যবহার করে লেখা হয় তাকে নিম্নস্তরের ভাষা বলে। মেশিন ভাষা ও অ্যাসেম্বলি ভাষা হলো নিম্নস্তরের ভাষার উদাহরণ।
৭. মেশিন ভাষায় কমান্ড এর প্রয়োজন হয় না কেন?
উত্তর: মেশিন ভাষা নিজেই কম্পিউটারের নিজস্ব ভাষা। এটি সরাসরি ০ ও ১ (বাইনারি) ব্যবহার করে লেখা হয়, যা কম্পিউটার কোনো অনুবাদক প্রোগ্রাম ছাড়াই বুঝতে পারে। তাই একে কার্যকর করার জন্য বাড়তি কোনো জটিল কমান্ড বা কম্পাইলারের প্রয়োজন হয় না।
উত্তর: মেশিন ভাষা নিজেই কম্পিউটারের নিজস্ব ভাষা। এটি সরাসরি ০ ও ১ (বাইনারি) ব্যবহার করে লেখা হয়, যা কম্পিউটার কোনো অনুবাদক প্রোগ্রাম ছাড়াই বুঝতে পারে। তাই একে কার্যকর করার জন্য বাড়তি কোনো জটিল কমান্ড বা কম্পাইলারের প্রয়োজন হয় না।
৮. মেশিন ভাষায় লিখিত প্রোগ্রাম দ্রুত নির্বাহ হয় কেন?
উত্তর: মেশিন ভাষা কম্পিউটার সরাসরি বুঝতে পারে। এর জন্য কোনো অনুবাদক প্রোগ্রামের (অনুবাদ করার সময়) প্রয়োজন হয় না। সরাসরি প্রসেসরে কাজ শুরু করতে পারে বলে অন্য যেকোনো উচ্চতর ভাষার চেয়ে এটি দ্রুত নির্বাহ হয়।
উত্তর: মেশিন ভাষা কম্পিউটার সরাসরি বুঝতে পারে। এর জন্য কোনো অনুবাদক প্রোগ্রামের (অনুবাদ করার সময়) প্রয়োজন হয় না। সরাসরি প্রসেসরে কাজ শুরু করতে পারে বলে অন্য যেকোনো উচ্চতর ভাষার চেয়ে এটি দ্রুত নির্বাহ হয়।
৯. যান্ত্রিক ভাষা ও অ্যাসেম্বলি ভাষার মধ্যে পার্থক্য দেখাও।
উত্তর: যান্ত্রিক ভাষা বা মেশিন ভাষায় শুধু ০ ও ১ ব্যবহৃত হয়, যা কম্পিউটার সরাসরি বোঝে। অন্যদিকে অ্যাসেম্বলি ভাষায় নেমনিক কোড (যেমন- ADD, JMP) ব্যবহৃত হয় এবং এটি কম্পিউটারকে বোঝাতে অনুবাদক (অ্যাসিম্বলার) প্রয়োজন হয়।
উত্তর: যান্ত্রিক ভাষা বা মেশিন ভাষায় শুধু ০ ও ১ ব্যবহৃত হয়, যা কম্পিউটার সরাসরি বোঝে। অন্যদিকে অ্যাসেম্বলি ভাষায় নেমনিক কোড (যেমন- ADD, JMP) ব্যবহৃত হয় এবং এটি কম্পিউটারকে বোঝাতে অনুবাদক (অ্যাসিম্বলার) প্রয়োজন হয়।
১০. মেশিন ল্যাংগুয়েজ ও হাই লেভেল ল্যাংগুয়েজ এক নয় কেন? ব্যাখ্যা করো।
উত্তর: মেশিন ল্যাংগুয়েজ ০ ও ১ নির্ভর এবং হার্ডওয়্যার নির্ভর, যা মানুষের জন্য কঠিন। কিন্তু হাই লেভেল ল্যাংগুয়েজ ইংরেজি শব্দের মতো এবং হার্ডওয়্যার নির্ভর নয়, যা মানুষের জন্য সহজ। এছাড়া হাই লেভেল ভাষায় অনুবাদক প্রয়োজন হয়, যা মেশিন ভাষায় লাগে না।
উত্তর: মেশিন ল্যাংগুয়েজ ০ ও ১ নির্ভর এবং হার্ডওয়্যার নির্ভর, যা মানুষের জন্য কঠিন। কিন্তু হাই লেভেল ল্যাংগুয়েজ ইংরেজি শব্দের মতো এবং হার্ডওয়্যার নির্ভর নয়, যা মানুষের জন্য সহজ। এছাড়া হাই লেভেল ভাষায় অনুবাদক প্রয়োজন হয়, যা মেশিন ভাষায় লাগে না।
১১. "লো লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ" ব্যাখ্যা করো।
উত্তর: লো লেভেল ল্যাংগুয়েজ (মেশিন ও অ্যাসেম্বলি) অত্যন্ত জটিল, যা মনে রাখা কষ্টসাধ্য এবং এক কম্পিউটারের প্রোগ্রাম অন্য কম্পিউটারে চলে না। এই সীমাবদ্ধতা বা দুর্বলতা দূর করে প্রোগ্রামিংকে সহজ ও পোর্টেবল করার জন্যই হাই লেভেল ল্যাংগুয়েজের উৎপত্তি হয়েছে।
উত্তর: লো লেভেল ল্যাংগুয়েজ (মেশিন ও অ্যাসেম্বলি) অত্যন্ত জটিল, যা মনে রাখা কষ্টসাধ্য এবং এক কম্পিউটারের প্রোগ্রাম অন্য কম্পিউটারে চলে না। এই সীমাবদ্ধতা বা দুর্বলতা দূর করে প্রোগ্রামিংকে সহজ ও পোর্টেবল করার জন্যই হাই লেভেল ল্যাংগুয়েজের উৎপত্তি হয়েছে।
১২. উচ্চ স্তরের ভাষা বলতে কী বোঝায়? ব্যাখ্যা করো।
উত্তর: যে প্রোগ্রামিং ভাষা মানুষের ভাষার (বিশেষ করে ইংরেজি) খুব কাছাকাছি এবং যা হার্ডওয়্যারের ধরাবাঁধা নিয়ম থেকে মুক্ত তাকে উচ্চ স্তরের ভাষা বলে। যেমন- C, Python, Java। এগুলো শেখা সহজ এবং একই প্রোগ্রাম বিভিন্ন কম্পিউটারে চালানো যায়।
উত্তর: যে প্রোগ্রামিং ভাষা মানুষের ভাষার (বিশেষ করে ইংরেজি) খুব কাছাকাছি এবং যা হার্ডওয়্যারের ধরাবাঁধা নিয়ম থেকে মুক্ত তাকে উচ্চ স্তরের ভাষা বলে। যেমন- C, Python, Java। এগুলো শেখা সহজ এবং একই প্রোগ্রাম বিভিন্ন কম্পিউটারে চালানো যায়।
১৩. নিম্ন স্তরের ভাষা ও উচ্চ স্তরের ভাষার মধ্যে পার্থক্য লেখো।
উত্তর: নিম্ন স্তরের ভাষা হার্ডওয়্যার নির্ভর এবং ০, ১ বা সংকেত দিয়ে লেখা হয়। উচ্চ স্তরের ভাষা হার্ডওয়্যার নির্ভর নয় এবং ইংরেজি শব্দ দিয়ে লেখা হয়। নিম্ন স্তরের ভাষা দ্রুত চলে কিন্তু লেখা কঠিন; উচ্চ স্তরের ভাষা ধীর চলে কিন্তু লেখা সহজ।
উত্তর: নিম্ন স্তরের ভাষা হার্ডওয়্যার নির্ভর এবং ০, ১ বা সংকেত দিয়ে লেখা হয়। উচ্চ স্তরের ভাষা হার্ডওয়্যার নির্ভর নয় এবং ইংরেজি শব্দ দিয়ে লেখা হয়। নিম্ন স্তরের ভাষা দ্রুত চলে কিন্তু লেখা কঠিন; উচ্চ স্তরের ভাষা ধীর চলে কিন্তু লেখা সহজ।
১৪. কোন ভাষায় প্রোগ্রাম লিখলে কম্পিউটার সরাসরি বুঝতে পারে না? ব্যাখ্যা কর।
উত্তর: উচ্চ স্তরের ভাষা (যেমন- C, Java) বা অ্যাসেম্বলি ভাষায় প্রোগ্রাম লিখলে কম্পিউটার সরাসরি বুঝতে পারে না। কারণ কম্পিউটার শুধু বাইনারি (০ ও ১) বোঝে। তাই এই ভাষাগুলোকে অনুবাদক প্রোগ্রামের মাধ্যমে মেশিন ভাষায় রূপান্তর করে নিতে হয়।
উত্তর: উচ্চ স্তরের ভাষা (যেমন- C, Java) বা অ্যাসেম্বলি ভাষায় প্রোগ্রাম লিখলে কম্পিউটার সরাসরি বুঝতে পারে না। কারণ কম্পিউটার শুধু বাইনারি (০ ও ১) বোঝে। তাই এই ভাষাগুলোকে অনুবাদক প্রোগ্রামের মাধ্যমে মেশিন ভাষায় রূপান্তর করে নিতে হয়।
১৫. হাই লেভেল ভাষায় প্রোগ্রামিং করা সহজ ব্যাখ্যা করো।
উত্তর: হাই লেভেল ভাষায় ইংরেজি শব্দ ও পরিচিত গাণিতিক চিহ্ন ব্যবহৃত হয়। এতে কম্পিউটারের মেমরি অ্যাড্রেস বা হার্ডওয়্যার সম্পর্কে গভীর জ্ঞান না থাকলেও চলে। এছাড়া ভুল সংশোধন করা এবং বড় প্রোগ্রাম সহজে তৈরি করা যায় বলে এটি সহজ।
উত্তর: হাই লেভেল ভাষায় ইংরেজি শব্দ ও পরিচিত গাণিতিক চিহ্ন ব্যবহৃত হয়। এতে কম্পিউটারের মেমরি অ্যাড্রেস বা হার্ডওয়্যার সম্পর্কে গভীর জ্ঞান না থাকলেও চলে। এছাড়া ভুল সংশোধন করা এবং বড় প্রোগ্রাম সহজে তৈরি করা যায় বলে এটি সহজ।
১৬. মেশিন ভাষা/নিম্নস্তরের ভাষা ও উচ্চস্তরের ভাষার মধ্যে পার্থক্য দেখাও।
উত্তর: মেশিন ভাষা দ্রুত কার্যকর হয় কিন্তু লেখা ও ভুল ধরা অত্যন্ত কঠিন। উচ্চস্তরের ভাষা তুলনামূলক ধীর কিন্তু এর কোড মানুষের কাছে বোধগম্য এবং এতে অনেক আধুনিক লাইব্রেরি ফাংশন ব্যবহারের সুবিধা থাকে।
উত্তর: মেশিন ভাষা দ্রুত কার্যকর হয় কিন্তু লেখা ও ভুল ধরা অত্যন্ত কঠিন। উচ্চস্তরের ভাষা তুলনামূলক ধীর কিন্তু এর কোড মানুষের কাছে বোধগম্য এবং এতে অনেক আধুনিক লাইব্রেরি ফাংশন ব্যবহারের সুবিধা থাকে।
১৭. কম্পাইলার ও ইন্টারপ্রেটার এক নয় ব্যাখ্যা করো।
উত্তর: কম্পাইলার সম্পূর্ণ প্রোগ্রামটি একসাথে পড়ে মেশিন ভাষায় অনুবাদ করে। অন্যদিকে ইন্টারপ্রেটার এক এক লাইন করে পড়ে এবং অনুবাদ করে। কম্পাইলার দ্রুত কাজ করে কিন্তু ইন্টারপ্রেটার ভুল সংশোধনে বেশি সুবিধা দেয়।
উত্তর: কম্পাইলার সম্পূর্ণ প্রোগ্রামটি একসাথে পড়ে মেশিন ভাষায় অনুবাদ করে। অন্যদিকে ইন্টারপ্রেটার এক এক লাইন করে পড়ে এবং অনুবাদ করে। কম্পাইলার দ্রুত কাজ করে কিন্তু ইন্টারপ্রেটার ভুল সংশোধনে বেশি সুবিধা দেয়।
১৮. কম্পাইলার সুবিধাজনক কেন? ব্যাখ্যা কর।
উত্তর: কম্পাইলার একবার অনুবাদ করলে পরবর্তীতে আর অনুবাদের প্রয়োজন হয় না, ফলে প্রোগ্রাম দ্রুত রান করে। এটি পুরো প্রোগ্রামের ভুলগুলো একসাথে প্রদর্শন করে, যা বড় প্রজেক্টের ক্ষেত্রে সময় সাশ্রয়ী ও কার্যকর।
উত্তর: কম্পাইলার একবার অনুবাদ করলে পরবর্তীতে আর অনুবাদের প্রয়োজন হয় না, ফলে প্রোগ্রাম দ্রুত রান করে। এটি পুরো প্রোগ্রামের ভুলগুলো একসাথে প্রদর্শন করে, যা বড় প্রজেক্টের ক্ষেত্রে সময় সাশ্রয়ী ও কার্যকর।
১৯. ইন্টারপ্রেটারের তুলনায় কম্পাইলার সুবিধাজনক ব্যাখ্যা কর।
উত্তর: কম্পাইলার অবজেক্ট প্রোগ্রাম তৈরি করে যা সরাসরি চালানো যায়, কিন্তু ইন্টারপ্রেটার প্রতিবার চালানোর সময় নতুন করে অনুবাদ করতে হয়। কাজের গতির দিক দিয়ে কম্পাইলার অনেক এগিয়ে থাকে।
উত্তর: কম্পাইলার অবজেক্ট প্রোগ্রাম তৈরি করে যা সরাসরি চালানো যায়, কিন্তু ইন্টারপ্রেটার প্রতিবার চালানোর সময় নতুন করে অনুবাদ করতে হয়। কাজের গতির দিক দিয়ে কম্পাইলার অনেক এগিয়ে থাকে।
২০. অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী-ব্যাখ্যা কর।
উত্তর: কম্পাইলার মেমোরিতে কম জায়গা নেয় (একবার লোড হলে) এবং এটি বড় জটিল প্রোগ্রামকে দ্রুত বস্তু প্রোগ্রামে রূপান্তর করে দিতে পারে। এতে প্রোগ্রামের কার্যক্ষমতা বৃদ্ধি পায় বিধায় এটি বেশি উপযোগী।
উত্তর: কম্পাইলার মেমোরিতে কম জায়গা নেয় (একবার লোড হলে) এবং এটি বড় জটিল প্রোগ্রামকে দ্রুত বস্তু প্রোগ্রামে রূপান্তর করে দিতে পারে। এতে প্রোগ্রামের কার্যক্ষমতা বৃদ্ধি পায় বিধায় এটি বেশি উপযোগী।
২১. উচ্চতর ভাষায় লিখিত প্রোগ্রাম অনুবাদক প্রোগ্রাম প্রয়োজন কেন?
উত্তর: কম্পিউটার শুধু মেশিন ভাষা (০ ও ১) বোঝে। উচ্চতর ভাষা মানুষের বোঝার মতো করে লেখা। তাই এই উচ্চতর ভাষার কোডকে কম্পিউটারের বোধগম্য করার জন্য অনুবাদক প্রোগ্রাম অপরিহার্য।
উত্তর: কম্পিউটার শুধু মেশিন ভাষা (০ ও ১) বোঝে। উচ্চতর ভাষা মানুষের বোঝার মতো করে লেখা। তাই এই উচ্চতর ভাষার কোডকে কম্পিউটারের বোধগম্য করার জন্য অনুবাদক প্রোগ্রাম অপরিহার্য।
২২. উৎস কোডকে কম্পাইল করার প্রয়োজন হয় কেন? ব্যাখ্যা কর।
উত্তর: উৎস কোড (Source Code) হলো মানুষের লেখা কোড। কম্পিউটার এটি সরাসরি চালাতে পারে না। একে মেশিন কোডে (০ ও ১) রূপান্তর করলেই কম্পিউটার তা প্রসেস করতে পারে, তাই কম্পাইল করা প্রয়োজন।
উত্তর: উৎস কোড (Source Code) হলো মানুষের লেখা কোড। কম্পিউটার এটি সরাসরি চালাতে পারে না। একে মেশিন কোডে (০ ও ১) রূপান্তর করলেই কম্পিউটার তা প্রসেস করতে পারে, তাই কম্পাইল করা প্রয়োজন।
২৩. প্রত্যেকবার প্রোগ্রাম নির্বাহের সময় কম্পাইল করা প্রয়োজন-ব্যাখ্যা কর।
উত্তর: যদি প্রোগ্রামের সোর্স কোডে কোনো পরিবর্তন আনা হয়, তবে সেই নতুন পরিবর্তন অনুযায়ী মেশিন কোড তৈরির জন্য পুনরায় কম্পাইল করতে হয়। এছাড়া কম্পাইলড ফাইল (.exe) থাকলে প্রতিবার দরকার হয় না, তবে কোড পরিবর্তনের ক্ষেত্রে এটি বাধ্যতামূলক।
উত্তর: যদি প্রোগ্রামের সোর্স কোডে কোনো পরিবর্তন আনা হয়, তবে সেই নতুন পরিবর্তন অনুযায়ী মেশিন কোড তৈরির জন্য পুনরায় কম্পাইল করতে হয়। এছাড়া কম্পাইলড ফাইল (.exe) থাকলে প্রতিবার দরকার হয় না, তবে কোড পরিবর্তনের ক্ষেত্রে এটি বাধ্যতামূলক।
২৪. কম্পাইলার কীভাবে অনুবাদকের কাজ সম্পন্ন করে?
উত্তর: কম্পাইলার প্রথমে সম্পূর্ণ সোর্স কোডটি বিশ্লেষণ করে। এরপর এটি সিনট্যাক্স ভুল চেক করে। কোনো ভুল না থাকলে এটি সোর্স কোডকে সরাসরি অবজেক্ট কোড বা মেশিন ভাষায় রূপান্তর করে একটি এক্সিকিউটেবল ফাইল তৈরি করে।
উত্তর: কম্পাইলার প্রথমে সম্পূর্ণ সোর্স কোডটি বিশ্লেষণ করে। এরপর এটি সিনট্যাক্স ভুল চেক করে। কোনো ভুল না থাকলে এটি সোর্স কোডকে সরাসরি অবজেক্ট কোড বা মেশিন ভাষায় রূপান্তর করে একটি এক্সিকিউটেবল ফাইল তৈরি করে।
২৫. ডকুমেন্টেশন কেন করতে হয়?
উত্তর: ভবিষ্যতে প্রোগ্রামের কোনো পরিবর্তন বা রক্ষণাবেক্ষণের জন্য এর কাজের ধাপ ও লজিক লিখে রাখা জরুরি। ডকুমেন্টেশন থাকলে অন্য কোনো প্রোগ্রামার সহজেই কোডটি বুঝতে ও আপডেট করতে পারেন।
উত্তর: ভবিষ্যতে প্রোগ্রামের কোনো পরিবর্তন বা রক্ষণাবেক্ষণের জন্য এর কাজের ধাপ ও লজিক লিখে রাখা জরুরি। ডকুমেন্টেশন থাকলে অন্য কোনো প্রোগ্রামার সহজেই কোডটি বুঝতে ও আপডেট করতে পারেন।
২৬. সুডোকোড প্রোগ্রামিং ভাষা নির্ভর নয় ব্যাখ্যা কর।
উত্তর: সুডোকোড হলো প্রোগ্রামের লজিককে সাধারণ ইংরেজি ভাষায় লেখার পদ্ধতি। এতে কোনো নির্দিষ্ট প্রোগ্রামিং ভাষার সিনট্যাক্স বা নিয়ম মানা হয় না, তাই এটি সব ধরনের ভাষার জন্য সমানভাবে প্রযোজ্য।
উত্তর: সুডোকোড হলো প্রোগ্রামের লজিককে সাধারণ ইংরেজি ভাষায় লেখার পদ্ধতি। এতে কোনো নির্দিষ্ট প্রোগ্রামিং ভাষার সিনট্যাক্স বা নিয়ম মানা হয় না, তাই এটি সব ধরনের ভাষার জন্য সমানভাবে প্রযোজ্য।
২৭. অ্যালগরিদম কোডিং-এর পূর্বশর্ত ব্যাখ্যা কর।
উত্তর: সরাসরি কোডিং শুরু করলে প্রোগ্রামে লজিক্যাল ভুল হওয়ার সম্ভাবনা বেশি থাকে। অ্যালগরিদম হলো সমাধানের একটি নীল নকশা। এটি তৈরি থাকলে কোডিং করা অনেক সহজ ও নির্ভুল হয়।
উত্তর: সরাসরি কোডিং শুরু করলে প্রোগ্রামে লজিক্যাল ভুল হওয়ার সম্ভাবনা বেশি থাকে। অ্যালগরিদম হলো সমাধানের একটি নীল নকশা। এটি তৈরি থাকলে কোডিং করা অনেক সহজ ও নির্ভুল হয়।
২৮. অ্যালগরিদমের সুবিধাসমূহ লেখ।
উত্তর: ১. সমস্যা সহজে বোঝা যায়। ২. প্রোগ্রামের উদ্দেশ্য পরিষ্কার হয়। ৩. কোডিং করতে সময় কম লাগে। ৪. ভুল সংশোধনে সহায়তা করে। ৫. জটিল সমস্যাকে ধাপে ধাপে ভাগ করা যায়।
উত্তর: ১. সমস্যা সহজে বোঝা যায়। ২. প্রোগ্রামের উদ্দেশ্য পরিষ্কার হয়। ৩. কোডিং করতে সময় কম লাগে। ৪. ভুল সংশোধনে সহায়তা করে। ৫. জটিল সমস্যাকে ধাপে ধাপে ভাগ করা যায়।
২৯. প্রোগ্রাম কোডিং এ অ্যালগরিদমের গুরুত্ব লেখ।
উত্তর: অ্যালগরিদম কোডিংয়ের ভিত্তি হিসেবে কাজ করে। এটি বড় বড় জটিল লজিকগুলোকে ছোট ধাপে ভাগ করে দেয়, ফলে প্রোগ্রামার নির্ভুলভাবে কোড লিখতে পারেন এবং সফটওয়্যার ডেভেলপমেন্ট সহজ হয়।
উত্তর: অ্যালগরিদম কোডিংয়ের ভিত্তি হিসেবে কাজ করে। এটি বড় বড় জটিল লজিকগুলোকে ছোট ধাপে ভাগ করে দেয়, ফলে প্রোগ্রামার নির্ভুলভাবে কোড লিখতে পারেন এবং সফটওয়্যার ডেভেলপমেন্ট সহজ হয়।
৩০. অ্যালগরিদম প্রোগ্রাম রচনার সহায়ক- ব্যাখ্যা কর।
উত্তর: অ্যালগরিদম সমস্যার সমাধানের একটি যৌক্তিক ক্রম। এটি প্রোগ্রাম রচনার আগে করা হয় বলে প্রোগ্রামের গঠন ও প্রবাহ সম্পর্কে স্পষ্ট ধারণা পাওয়া যায়, যা প্রোগ্রাম রচনায় সহায়ক হয়।
উত্তর: অ্যালগরিদম সমস্যার সমাধানের একটি যৌক্তিক ক্রম। এটি প্রোগ্রাম রচনার আগে করা হয় বলে প্রোগ্রামের গঠন ও প্রবাহ সম্পর্কে স্পষ্ট ধারণা পাওয়া যায়, যা প্রোগ্রাম রচনায় সহায়ক হয়।
৩১. ফ্লোচার্ট হলো চিত্রভিত্তিক অ্যালগরিদম ব্যাখ্যা কর।
উত্তর: অ্যালগরিদমে সমস্যা সমাধানের ধাপগুলো লিখে প্রকাশ করা হয়। আর সেই ধাপগুলোকেই যখন বিভিন্ন জ্যামিতিক চিত্রের (যেমন- বৃত্ত, সামান্তরিক) মাধ্যমে প্রকাশ করা হয়, তাকে ফ্লোচার্ট বলে। তাই একে চিত্রভিত্তিক অ্যালগরিদম বলা হয়।
উত্তর: অ্যালগরিদমে সমস্যা সমাধানের ধাপগুলো লিখে প্রকাশ করা হয়। আর সেই ধাপগুলোকেই যখন বিভিন্ন জ্যামিতিক চিত্রের (যেমন- বৃত্ত, সামান্তরিক) মাধ্যমে প্রকাশ করা হয়, তাকে ফ্লোচার্ট বলে। তাই একে চিত্রভিত্তিক অ্যালগরিদম বলা হয়।
৩২. অ্যালগরিদম ও ফ্লোচার্টের পার্থক্য লেখ।
উত্তর: অ্যালগরিদম হলো লিখিত বর্ণনা, আর ফ্লোচার্ট হলো চিত্রভিত্তিক বর্ণনা। অ্যালগরিদম পড়া ও বোঝা সময়সাপেক্ষ, কিন্তু ফ্লোচার্ট দেখে খুব দ্রুত প্রোগ্রামের প্রবাহ বোঝা যায়।
উত্তর: অ্যালগরিদম হলো লিখিত বর্ণনা, আর ফ্লোচার্ট হলো চিত্রভিত্তিক বর্ণনা। অ্যালগরিদম পড়া ও বোঝা সময়সাপেক্ষ, কিন্তু ফ্লোচার্ট দেখে খুব দ্রুত প্রোগ্রামের প্রবাহ বোঝা যায়।
৩৩. সিস্টেম ফ্লোচার্টের চেয়ে প্রোগ্রাম ফ্লোচার্ট তৈরি করা বেশি প্রয়োজন হওয়ার কারণ ব্যাখ্যা কর।
উত্তর: সিস্টেম ফ্লোচার্ট পুরো সংগঠনের ডেটা প্রবাহ দেখায়, কিন্তু প্রোগ্রাম ফ্লোচার্ট নির্দিষ্ট একটি প্রোগ্রামের লজিক ও নির্বাহের ধাপ দেখায়। প্রোগ্রামারদের কোড করার জন্য প্রোগ্রাম ফ্লোচার্ট সরাসরি সাহায্য করে বিধায় এটি বেশি প্রয়োজন।
উত্তর: সিস্টেম ফ্লোচার্ট পুরো সংগঠনের ডেটা প্রবাহ দেখায়, কিন্তু প্রোগ্রাম ফ্লোচার্ট নির্দিষ্ট একটি প্রোগ্রামের লজিক ও নির্বাহের ধাপ দেখায়। প্রোগ্রামারদের কোড করার জন্য প্রোগ্রাম ফ্লোচার্ট সরাসরি সাহায্য করে বিধায় এটি বেশি প্রয়োজন।
৩৪. প্রোগ্রাম তৈরির 'প্রোগ্রাম ডিজাইন' ধাপটি ব্যাখ্যা করো?
উত্তর: প্রোগ্রাম ডিজাইন ধাপে সমস্যা সমাধানের জন্য অ্যালগরিদম ও ফ্লোচার্ট তৈরি করা হয়। এছাড়া ইনপুট ও আউটপুটের নকশা এবং ডেটা স্ট্রাকচার নির্ধারণ করা হয়। এটি কোডিংয়ের আগের সবচেয়ে গুরুত্বপূর্ণ পরিকল্পনা ধাপ।
উত্তর: প্রোগ্রাম ডিজাইন ধাপে সমস্যা সমাধানের জন্য অ্যালগরিদম ও ফ্লোচার্ট তৈরি করা হয়। এছাড়া ইনপুট ও আউটপুটের নকশা এবং ডেটা স্ট্রাকচার নির্ধারণ করা হয়। এটি কোডিংয়ের আগের সবচেয়ে গুরুত্বপূর্ণ পরিকল্পনা ধাপ।
৩৫. C প্রোগ্রামিং ভাষায় Header file ব্যবহার করা হয় কেন?
উত্তর: সি ভাষায় বিভিন্ন আগে থেকে তৈরি করা লাইব্রেরি ফাংশন (যেমন- printf, scanf) ব্যবহারের জন্য হেডার ফাইল প্রয়োজন। এই ফাইলগুলোতে ফাংশনের প্রোটোটাইপ বা নিয়মাবলী লেখা থাকে যা কম্পাইলারকে সাহায্য করে।
উত্তর: সি ভাষায় বিভিন্ন আগে থেকে তৈরি করা লাইব্রেরি ফাংশন (যেমন- printf, scanf) ব্যবহারের জন্য হেডার ফাইল প্রয়োজন। এই ফাইলগুলোতে ফাংশনের প্রোটোটাইপ বা নিয়মাবলী লেখা থাকে যা কম্পাইলারকে সাহায্য করে।
৩৬. math.h ফাইলটি ব্যাখ্যা কর।
উত্তর: math.h হলো সি-এর একটি স্ট্যান্ডার্ড হেডার ফাইল যা গাণিতিক কাজ (যেমন- বর্গমূল sqrt(), পাওয়ার pow(), সাইন sin()) করার ফাংশনগুলো ধারণ করে। গাণিতিক প্রোগ্রাম করার জন্য এটি যুক্ত করতে হয়।
উত্তর: math.h হলো সি-এর একটি স্ট্যান্ডার্ড হেডার ফাইল যা গাণিতিক কাজ (যেমন- বর্গমূল sqrt(), পাওয়ার pow(), সাইন sin()) করার ফাংশনগুলো ধারণ করে। গাণিতিক প্রোগ্রাম করার জন্য এটি যুক্ত করতে হয়।
৩৭. C ও C++ এর মধ্যে ভিন্নতা কী? ব্যাখ্যা করো।
উত্তর: C হলো স্ট্রাকচার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা ফাংশন নির্ভর। অন্যদিকে C++ হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP), যা ক্লাস ও অবজেক্ট নির্ভর। C++ এ C-এর সব বৈশিষ্ট্য থাকলেও এটি আরও আধুনিক ও শক্তিশালী।
উত্তর: C হলো স্ট্রাকচার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা ফাংশন নির্ভর। অন্যদিকে C++ হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP), যা ক্লাস ও অবজেক্ট নির্ভর। C++ এ C-এর সব বৈশিষ্ট্য থাকলেও এটি আরও আধুনিক ও শক্তিশালী।
৩৮. 'সি' একটি কেস সেনসিটিভ ভাষা? ব্যাখ্যা করো।
উত্তর: সি ভাষায় ছোট হাতের অক্ষর (a) এবং বড় হাতের অক্ষর (A) সম্পূর্ণ আলাদা অর্থ বহন করে। যেমন- 'main' এবং 'Main' এক নয়। এই বৈশিষ্ট্যের কারণেই সি-কে কেস সেনসিটিভ ভাষা বলা হয়।
উত্তর: সি ভাষায় ছোট হাতের অক্ষর (a) এবং বড় হাতের অক্ষর (A) সম্পূর্ণ আলাদা অর্থ বহন করে। যেমন- 'main' এবং 'Main' এক নয়। এই বৈশিষ্ট্যের কারণেই সি-কে কেস সেনসিটিভ ভাষা বলা হয়।
৩৯. সি-প্রোগ্রামিং-এ main() ফাংশন এর গুরুত্ব ব্যাখ্যা কর।
উত্তর: সি প্রোগ্রামের নির্বাহ (Execution) শুরু হয় main() ফাংশন থেকে। এই ফাংশন ছাড়া কোনো সি প্রোগ্রাম রান করতে পারে না। এটি প্রোগ্রামের মূল কেন্দ্রবিন্দু যেখানে অন্যান্য সব ফাংশন কল করা হয়।
উত্তর: সি প্রোগ্রামের নির্বাহ (Execution) শুরু হয় main() ফাংশন থেকে। এই ফাংশন ছাড়া কোনো সি প্রোগ্রাম রান করতে পারে না। এটি প্রোগ্রামের মূল কেন্দ্রবিন্দু যেখানে অন্যান্য সব ফাংশন কল করা হয়।
৪০. 'সি' কে মধ্যম স্তরের ভাষা বলা হয় কেন?
উত্তর: সি ভাষায় উচ্চস্তরের ভাষার মতো সহজ ইংরেজি কোড লেখা যায় এবং একই সাথে নিম্নস্তরের ভাষার মতো মেমোরি ও বিট লেভেলে কাজ করা যায়। দুই স্তরের বৈশিষ্ট্য থাকায় একে মধ্যম স্তরের ভাষা বলা হয়।
উত্তর: সি ভাষায় উচ্চস্তরের ভাষার মতো সহজ ইংরেজি কোড লেখা যায় এবং একই সাথে নিম্নস্তরের ভাষার মতো মেমোরি ও বিট লেভেলে কাজ করা যায়। দুই স্তরের বৈশিষ্ট্য থাকায় একে মধ্যম স্তরের ভাষা বলা হয়।
৪১. সি ভাষায় কেন ফাংশন ব্যবহার করা হয়?
উত্তর: বড় প্রোগ্রামকে ছোট ছোট ভাগে ভাগ করে কাজ সহজ করার জন্য ফাংশন ব্যবহৃত হয়। এতে একই কোড বারবার লিখতে হয় না (Reusability) এবং প্রোগ্রামের ভুল সহজে খুঁজে বের করা যায়।
উত্তর: বড় প্রোগ্রামকে ছোট ছোট ভাগে ভাগ করে কাজ সহজ করার জন্য ফাংশন ব্যবহৃত হয়। এতে একই কোড বারবার লিখতে হয় না (Reusability) এবং প্রোগ্রামের ভুল সহজে খুঁজে বের করা যায়।
৪২. সি' কে স্ট্রাকচার্ড বা প্রোসিডিউর অরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয় কেন?
উত্তর: সি ভাষায় একটি প্রধান সমস্যাকে ছোট ছোট ব্লক বা ফাংশনে ভাগ করে সমাধান করা হয় এবং ধাপে ধাপে নির্দেশনাবলি অনুসরণ করা হয়। এই কাঠামোগত পদ্ধতির জন্য একে স্ট্রাকচার্ড ভাষা বলে।
উত্তর: সি ভাষায় একটি প্রধান সমস্যাকে ছোট ছোট ব্লক বা ফাংশনে ভাগ করে সমাধান করা হয় এবং ধাপে ধাপে নির্দেশনাবলি অনুসরণ করা হয়। এই কাঠামোগত পদ্ধতির জন্য একে স্ট্রাকচার্ড ভাষা বলে।
৪৩. সি' কে একটি General Purpose প্রোগ্রামিং ভাষা বলা হয় কেন?
উত্তর: সি ভাষা দিয়ে যেমন অপারেটিং সিস্টেম তৈরি করা যায়, তেমনি বৈজ্ঞানিক হিসাব-নিকাশ, গেম বা ব্যবসায়িক সফটওয়্যারও তৈরি করা যায়। এর বহুমুখী ব্যবহারের কারণেই একে জেনারেল পারপাস ভাষা বলে।
উত্তর: সি ভাষা দিয়ে যেমন অপারেটিং সিস্টেম তৈরি করা যায়, তেমনি বৈজ্ঞানিক হিসাব-নিকাশ, গেম বা ব্যবসায়িক সফটওয়্যারও তৈরি করা যায়। এর বহুমুখী ব্যবহারের কারণেই একে জেনারেল পারপাস ভাষা বলে।
৪৪. সি-প্রোগ্রামিং এ #include<stdio.h> আবশ্যক কেন?
উত্তর: stdio.h মানে Standard Input Output হেডার ফাইল। প্রোগ্রামে তথ্য ইনপুট নেওয়ার (scanf) এবং ফলাফল দেখানোর (printf) ফাংশন ব্যবহারের জন্য এটি যুক্ত করা আবশ্যক।
উত্তর: stdio.h মানে Standard Input Output হেডার ফাইল। প্রোগ্রামে তথ্য ইনপুট নেওয়ার (scanf) এবং ফলাফল দেখানোর (printf) ফাংশন ব্যবহারের জন্য এটি যুক্ত করা আবশ্যক।
৪৫. C প্রোগ্রামের শেষ লাইনে return 0 লেখার যৌক্তিকতা ব্যাখ্যা করো?
উত্তর: return 0 নির্দেশ করে যে প্রোগ্রামটি সফলভাবে কোনো ত্রুটি ছাড়াই শেষ হয়েছে। এটি অপারেটিং সিস্টেমকে একটি সংকেত দেয় যে প্রোগ্রামের কাজ সমাপ্ত হয়েছে।
উত্তর: return 0 নির্দেশ করে যে প্রোগ্রামটি সফলভাবে কোনো ত্রুটি ছাড়াই শেষ হয়েছে। এটি অপারেটিং সিস্টেমকে একটি সংকেত দেয় যে প্রোগ্রামের কাজ সমাপ্ত হয়েছে।
৪৬. Integer এর পরিবর্তে কখন Long Integer ব্যবহার করতে হয়?
উত্তর: সাধারণ Integer ডেটা টাইপ সাধারণত ২ বা ৪ বাইট জায়গা নেয় যার একটি নির্দিষ্ট সীমা আছে। যদি সংখ্যার মান সেই সীমার চেয়ে অনেক বড় হয়, তবে সঠিক ফলাফলের জন্য Long Integer ব্যবহার করতে হয়।
উত্তর: সাধারণ Integer ডেটা টাইপ সাধারণত ২ বা ৪ বাইট জায়গা নেয় যার একটি নির্দিষ্ট সীমা আছে। যদি সংখ্যার মান সেই সীমার চেয়ে অনেক বড় হয়, তবে সঠিক ফলাফলের জন্য Long Integer ব্যবহার করতে হয়।
৪৭. ডেটাটাইপ মডিফায়ার কী? বুঝিয়ে লেখ।
উত্তর: ডেটাটাইপ মডিফায়ার (যেমন- short, long, signed, unsigned) হলো এমন কিছু কি-ওয়ার্ড যা মৌলিক ডেটা টাইপের ধারণক্ষমতা বা মেমরি স্পেস বাড়িয়ে বা কমিয়ে পরিবর্তন করতে পারে।
উত্তর: ডেটাটাইপ মডিফায়ার (যেমন- short, long, signed, unsigned) হলো এমন কিছু কি-ওয়ার্ড যা মৌলিক ডেটা টাইপের ধারণক্ষমতা বা মেমরি স্পেস বাড়িয়ে বা কমিয়ে পরিবর্তন করতে পারে।
৪৮. ইউজার ডিফাইন ডেটা টাইপ বলতে কী বোঝ?
উত্তর: ব্যবহারকারী যখন সি-এর মৌলিক ডেটা টাইপ ব্যবহার করে নিজের সুবিধামতো নতুন ডেটা টাইপ তৈরি করে, তাকে ইউজার ডিফাইন ডেটা টাইপ বলে। উদা: struct, union, enum।
উত্তর: ব্যবহারকারী যখন সি-এর মৌলিক ডেটা টাইপ ব্যবহার করে নিজের সুবিধামতো নতুন ডেটা টাইপ তৈরি করে, তাকে ইউজার ডিফাইন ডেটা টাইপ বলে। উদা: struct, union, enum।
৪৯. ভেরিয়েবল ঘোষণার ক্ষেত্রে অনুসরণীয় পদক্ষেপ ব্যাখ্যা করো।
উত্তর: ভেরিয়েবল ঘোষণার সময় প্রথমে ডেটা টাইপ (যেমন int) লিখতে হয়, তারপর ভেরিয়েবলের নাম দিতে হয় এবং শেষে সেমিকোলন (;) দিতে হয়। নাম অবশ্যই কোনো সংখ্যা দিয়ে শুরু হবে না এবং মাঝে স্পেস থাকবে না।
উত্তর: ভেরিয়েবল ঘোষণার সময় প্রথমে ডেটা টাইপ (যেমন int) লিখতে হয়, তারপর ভেরিয়েবলের নাম দিতে হয় এবং শেষে সেমিকোলন (;) দিতে হয়। নাম অবশ্যই কোনো সংখ্যা দিয়ে শুরু হবে না এবং মাঝে স্পেস থাকবে না।
৫০. চলকের নামে আন্ডারস্কোর ব্যবহার করা যাবে- ব্যাখ্যা করো।
উত্তর: সি ভাষায় চলকের নামের মাঝে স্পেস দেওয়া নিষেধ। তাই দুটি শব্দকে আলাদা করে বোঝানোর জন্য আন্ডারস্কোর (_) ব্যবহার করা অনুমোদিত এবং এটি একটি বৈধ নিয়ম। যেমন: user_name।
উত্তর: সি ভাষায় চলকের নামের মাঝে স্পেস দেওয়া নিষেধ। তাই দুটি শব্দকে আলাদা করে বোঝানোর জন্য আন্ডারস্কোর (_) ব্যবহার করা অনুমোদিত এবং এটি একটি বৈধ নিয়ম। যেমন: user_name।
৫১. সি ভাষায় 1number সঠিক চলক নয়-ব্যাখ্যা কর।
উত্তর: সি ভাষায় চলক নামকরণের নিয়ম অনুযায়ী চলকের নাম অবশ্যই কোনো বর্ণ (Alphabet) বা আন্ডারস্কোর দিয়ে শুরু হতে হবে। কোনো সংখ্যা দিয়ে শুরু করা যাবে না, তাই 1number একটি অবৈধ চলক।
উত্তর: সি ভাষায় চলক নামকরণের নিয়ম অনুযায়ী চলকের নাম অবশ্যই কোনো বর্ণ (Alphabet) বা আন্ডারস্কোর দিয়ে শুরু হতে হবে। কোনো সংখ্যা দিয়ে শুরু করা যাবে না, তাই 1number একটি অবৈধ চলক।
৫২. 'সি ভাষায় সঠিক চলক নামকরণে কিছু নিয়মকানুন মেনে চলতে হয়।' ব্যাখ্যা করো।
উত্তর: চলক নামকরণে অবশ্যই ইংরেজি অক্ষর, সংখ্যা বা আন্ডারস্কোর ব্যবহার করতে হয়। সংখ্যা দিয়ে শুরু করা যাবে না, কোনো স্পেস বা বিশেষ চিহ্ন ($, @) ব্যবহার করা যাবে না এবং কি-ওয়ার্ড (যেমন- int, float) ব্যবহার করা যাবে না।
উত্তর: চলক নামকরণে অবশ্যই ইংরেজি অক্ষর, সংখ্যা বা আন্ডারস্কোর ব্যবহার করতে হয়। সংখ্যা দিয়ে শুরু করা যাবে না, কোনো স্পেস বা বিশেষ চিহ্ন ($, @) ব্যবহার করা যাবে না এবং কি-ওয়ার্ড (যেমন- int, float) ব্যবহার করা যাবে না।
৫৩. ভেরিয়েবল নামকরণের নিয়মাবলী লিখ।
উত্তর: ভেরিয়েবলের নাম ৩১ ক্যারেক্টারের মধ্যে রাখা ভালো। এটি অবশ্যই ছোট হাতের অক্ষরে হওয়া বাঞ্ছনীয় (যদিও বড় হাত সম্ভব)। নামের শুরুতে ডিজিট ব্যবহার করা যাবে না এবং কোনো লাইব্রেরি ফাংশনের নাম চলক হিসেবে নেওয়া যাবে না।
উত্তর: ভেরিয়েবলের নাম ৩১ ক্যারেক্টারের মধ্যে রাখা ভালো। এটি অবশ্যই ছোট হাতের অক্ষরে হওয়া বাঞ্ছনীয় (যদিও বড় হাত সম্ভব)। নামের শুরুতে ডিজিট ব্যবহার করা যাবে না এবং কোনো লাইব্রেরি ফাংশনের নাম চলক হিসেবে নেওয়া যাবে না।
৫৪. কী-ওয়ার্ডকে ভেরিয়েবল হিসেবে ব্যবহার করা যায় না কেন?
উত্তর: কী-ওয়ার্ডগুলো কম্পাইলারের কাছে আগে থেকেই বিশেষ অর্থ বহন করে। যদি এদের ভেরিয়েবল হিসেবে ব্যবহার করা হয়, তবে কম্পাইলার বিভ্রান্ত হয়ে পড়ে এবং সিনট্যাক্স এরর দেখায়।
উত্তর: কী-ওয়ার্ডগুলো কম্পাইলারের কাছে আগে থেকেই বিশেষ অর্থ বহন করে। যদি এদের ভেরিয়েবল হিসেবে ব্যবহার করা হয়, তবে কম্পাইলার বিভ্রান্ত হয়ে পড়ে এবং সিনট্যাক্স এরর দেখায়।
৫৫. চলক ও ধ্রুবক এর মধ্যে পার্থক্য লেখ।
উত্তর: চলকের মান প্রোগ্রাম চলাকালীন পরিবর্তন করা যায়, কিন্তু ধ্রুবকের মান একবার সেট করলে তা আর পরিবর্তন করা যায় না। চলক ডেটা স্টোর করতে ব্যবহৃত হয়, আর ধ্রুবক ফিক্সড মানের (যেমন- পাই এর মান) জন্য ব্যবহৃত হয়।
উত্তর: চলকের মান প্রোগ্রাম চলাকালীন পরিবর্তন করা যায়, কিন্তু ধ্রুবকের মান একবার সেট করলে তা আর পরিবর্তন করা যায় না। চলক ডেটা স্টোর করতে ব্যবহৃত হয়, আর ধ্রুবক ফিক্সড মানের (যেমন- পাই এর মান) জন্য ব্যবহৃত হয়।
৫৬. k++ ও ++k ব্যাখ্যা করো।
উত্তর: k++ হলো পোস্ট-ইনক্রিমেন্ট, যেখানে আগে k এর বর্তমান মান ব্যবহৃত হয় এবং পরে ১ যোগ হয়। ++k হলো প্রি-ইনক্রিমেন্ট, যেখানে আগে k এর মানের সাথে ১ যোগ হয় এবং পরে সেই বর্ধিত মান ব্যবহৃত হয়।
উত্তর: k++ হলো পোস্ট-ইনক্রিমেন্ট, যেখানে আগে k এর বর্তমান মান ব্যবহৃত হয় এবং পরে ১ যোগ হয়। ++k হলো প্রি-ইনক্রিমেন্ট, যেখানে আগে k এর মানের সাথে ১ যোগ হয় এবং পরে সেই বর্ধিত মান ব্যবহৃত হয়।
৫৭. কিওয়ার্ডকে ভেরিয়েবল হিসেবে ব্যবহার করা যায় না কেন?
উত্তর: (পুনরাবৃত্তি) কী-ওয়ার্ডগুলো সি ল্যাঙ্গুয়েজের নিজস্ব সংরক্ষিত শব্দ। এগুলোকে ভেরিয়েবল হিসেবে ব্যবহার করলে ল্যাঙ্গুয়েজের নিজস্ব ব্যাকরণ বা স্ট্রাকচার নষ্ট হয়।
উত্তর: (পুনরাবৃত্তি) কী-ওয়ার্ডগুলো সি ল্যাঙ্গুয়েজের নিজস্ব সংরক্ষিত শব্দ। এগুলোকে ভেরিয়েবল হিসেবে ব্যবহার করলে ল্যাঙ্গুয়েজের নিজস্ব ব্যাকরণ বা স্ট্রাকচার নষ্ট হয়।
৫৮. \n এবং \t এর ব্যবহারিক পার্থক্য ব্যাখ্যা কর।
উত্তর: \n (New Line) আউটপুটকে পরবর্তী নতুন লাইনে নিয়ে যাওয়ার জন্য ব্যবহৃত হয়। অন্যদিকে \t (Tab) আউটপুটের মাঝে একটি নির্দিষ্ট পরিমাণ ফাঁকা জায়গা বা ট্যাব তৈরি করার জন্য ব্যবহৃত হয়।
উত্তর: \n (New Line) আউটপুটকে পরবর্তী নতুন লাইনে নিয়ে যাওয়ার জন্য ব্যবহৃত হয়। অন্যদিকে \t (Tab) আউটপুটের মাঝে একটি নির্দিষ্ট পরিমাণ ফাঁকা জায়গা বা ট্যাব তৈরি করার জন্য ব্যবহৃত হয়।
৫৯. কখন ইউনারী অপারেটর ব্যবহার করা হয়? ব্যাখ্যা কর।
উত্তর: যখন শুধুমাত্র একটি অপারেন্ড বা চলকের ওপর কোনো গাণিতিক কাজ (যেমন- মান ১ বাড়ানো বা কমানো) করার প্রয়োজন হয়, তখন ইউনারী অপারেটর ব্যবহৃত হয়। উদা: ++, --, !।
উত্তর: যখন শুধুমাত্র একটি অপারেন্ড বা চলকের ওপর কোনো গাণিতিক কাজ (যেমন- মান ১ বাড়ানো বা কমানো) করার প্রয়োজন হয়, তখন ইউনারী অপারেটর ব্যবহৃত হয়। উদা: ++, --, !।
৬০. ++i এবং i++ ব্যাখ্যা কর।
উত্তর: (৫৬ নং এর অনুরূপ) ++i প্রথমে মান বাড়িয়ে পরে কাজ করে, আর i++ আগে বর্তমান মান নিয়ে কাজ সেরে পরে ১ বাড়ায়।
উত্তর: (৫৬ নং এর অনুরূপ) ++i প্রথমে মান বাড়িয়ে পরে কাজ করে, আর i++ আগে বর্তমান মান নিয়ে কাজ সেরে পরে ১ বাড়ায়।
৬১. scanf("%f",&a) স্টেটমেন্টটি ব্যাখ্যা করো।
উত্তর: এটি একটি ইনপুট ফাংশন। এখানে %f ফরম্যাট স্পেসিফায়ার নির্দেশ করে যে ইনপুটটি একটি ভগ্নাংশ (float) হবে এবং &a নির্দেশ করে সেই মানটি মেমরির 'a' নামক চলকের ঠিকানায় জমা হবে।
উত্তর: এটি একটি ইনপুট ফাংশন। এখানে %f ফরম্যাট স্পেসিফায়ার নির্দেশ করে যে ইনপুটটি একটি ভগ্নাংশ (float) হবে এবং &a নির্দেশ করে সেই মানটি মেমরির 'a' নামক চলকের ঠিকানায় জমা হবে।
৬২. সি ভাষায় scanf("%d", &a); বলতে কী বোঝায়?
উত্তর: এটি নির্দেশ করে যে ব্যবহারকারীর কাছ থেকে একটি পূর্ণসংখ্যা (decimal integer) গ্রহণ করা হবে এবং তা মেমরির 'a' ভেরিয়েবলের জন্য বরাদ্দকৃত স্থানে সংরক্ষণ করা হবে।
উত্তর: এটি নির্দেশ করে যে ব্যবহারকারীর কাছ থেকে একটি পূর্ণসংখ্যা (decimal integer) গ্রহণ করা হবে এবং তা মেমরির 'a' ভেরিয়েবলের জন্য বরাদ্দকৃত স্থানে সংরক্ষণ করা হবে।
৬৩. printf("%d %x", a, b); স্টেটমেন্টটি ব্যাখ্যা করো।
উত্তর: এটি আউটপুট ফাংশন। এখানে %d দ্বারা 'a' চলকের মান দশমিক পূর্ণসংখ্যায় এবং %x দ্বারা 'b' চলকের মান হেক্সাডেসিমাল ফরমেটে পর্দায় প্রদর্শন করা হবে। (নোট: প্রশ্নে & চিহ্ন থাকলে তা সাধারণত ভুল হয়, সরাসরি চলক নাম হয়)।
উত্তর: এটি আউটপুট ফাংশন। এখানে %d দ্বারা 'a' চলকের মান দশমিক পূর্ণসংখ্যায় এবং %x দ্বারা 'b' চলকের মান হেক্সাডেসিমাল ফরমেটে পর্দায় প্রদর্শন করা হবে। (নোট: প্রশ্নে & চিহ্ন থাকলে তা সাধারণত ভুল হয়, সরাসরি চলক নাম হয়)।
৬৪. আউটপুট ফাংশন বলতে কী বোঝায়?
উত্তর: যে ফাংশনের মাধ্যমে কম্পিউটারের প্রসেস করা ফলাফল মনিটরে বা স্ক্রিনে প্রদর্শন করা হয় তাকে আউটপুট ফাংশন বলে। সি ভাষায় printf() হলো সবচেয়ে বেশি ব্যবহৃত আউটপুট ফাংশন।
উত্তর: যে ফাংশনের মাধ্যমে কম্পিউটারের প্রসেস করা ফলাফল মনিটরে বা স্ক্রিনে প্রদর্শন করা হয় তাকে আউটপুট ফাংশন বলে। সি ভাষায় printf() হলো সবচেয়ে বেশি ব্যবহৃত আউটপুট ফাংশন।
৬৫. scanf() ফাংশনে '&' ব্যবহৃত হয় কেন?
উত্তর: '&' হলো অ্যাড্রেস অপারেটর। এটি ইনপুট হিসেবে পাওয়া মানটি মেমরির ঠিক কোন ঠিকানায় জমা হবে তা নির্দেশ করে। এটি ছাড়া কম্পিউটার বুঝত না ডেটা কোথায় রাখতে হবে।
উত্তর: '&' হলো অ্যাড্রেস অপারেটর। এটি ইনপুট হিসেবে পাওয়া মানটি মেমরির ঠিক কোন ঠিকানায় জমা হবে তা নির্দেশ করে। এটি ছাড়া কম্পিউটার বুঝত না ডেটা কোথায় রাখতে হবে।
৬৬. Mark [5,4] ব্যাখ্যা করো?
উত্তর: এটি সাধারণত ২-মাত্রিক (2D) অ্যারে নির্দেশ করে। যেখানে ৫টি সারি (rows) এবং ৪টি কলাম (columns) থাকতে পারে। এটি টেবিল আকারে ডেটা স্টোর করতে ব্যবহৃত হয়। (সঠিক ডিক্লারেশন সি-তে Mark[5][4])।
উত্তর: এটি সাধারণত ২-মাত্রিক (2D) অ্যারে নির্দেশ করে। যেখানে ৫টি সারি (rows) এবং ৪টি কলাম (columns) থাকতে পারে। এটি টেবিল আকারে ডেটা স্টোর করতে ব্যবহৃত হয়। (সঠিক ডিক্লারেশন সি-তে Mark[5][4])।
৬৭. অ্যারে ও চলক এক নয়- ব্যাখ্যা কর।
উত্তর: একটি সাধারণ চলক এক সময়ে শুধুমাত্র একটি মান ধারণ করতে পারে। কিন্তু অ্যারে একই নামের অধীনে একই ডেটা টাইপের অনেকগুলো মান বা ডেটা একসাথে ধারণ করতে পারে।
উত্তর: একটি সাধারণ চলক এক সময়ে শুধুমাত্র একটি মান ধারণ করতে পারে। কিন্তু অ্যারে একই নামের অধীনে একই ডেটা টাইপের অনেকগুলো মান বা ডেটা একসাথে ধারণ করতে পারে।
৬৮. সি ভাষার পূর্ব থেকে তৈরিকৃত ফাংশন ব্যাখ্যা করো।
উত্তর: এদের লাইব্রেরি ফাংশন বলা হয়। সি-এর কম্পাইলারে আগে থেকেই কিছু কাজের জন্য ফাংশন তৈরি থাকে (যেমন- printf, scanf, getch)। এগুলো ব্যবহারের জন্য শুধু নির্দিষ্ট হেডার ফাইল যুক্ত করলেই চলে।
উত্তর: এদের লাইব্রেরি ফাংশন বলা হয়। সি-এর কম্পাইলারে আগে থেকেই কিছু কাজের জন্য ফাংশন তৈরি থাকে (যেমন- printf, scanf, getch)। এগুলো ব্যবহারের জন্য শুধু নির্দিষ্ট হেডার ফাইল যুক্ত করলেই চলে।
৬৯. ফাংশন নিজেই নিজেকে কল করে ব্যাখ্যা করো।
উত্তর: একে রিকারশন (Recursion) বলা হয়। যখন একটি ফাংশন তার নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত বারবার নিজের ভেতর থেকেই নিজেকে কল করতে থাকে, তখন তাকে রিকার্সিভ ফাংশন বলে। এটি জটিল হিসাব সহজে করতে সাহায্য করে।
উত্তর: একে রিকারশন (Recursion) বলা হয়। যখন একটি ফাংশন তার নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত বারবার নিজের ভেতর থেকেই নিজেকে কল করতে থাকে, তখন তাকে রিকার্সিভ ফাংশন বলে। এটি জটিল হিসাব সহজে করতে সাহায্য করে।
Comments
Post a Comment