HSC ICT পঞ্চম অধ্যায় - এর গুরুত্বপূর্ণ জ্ঞানমুলক ও অনুধাবনমূলক প্রশ্ন ও উত্তরসমূহ

জ্ঞানমুলক প্রশ্ন ও উত্তরসমূহ:

১. প্রোগ্রামের ভাষা কী? 

উত্তর: কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে বলা হয় প্রোগ্রামের ভাষা বা প্রোগ্রামিং ল্যাঙ্গুয়েজ।  

২. চতুর্থ প্রজন্মের ভাষা বা 4GL কী? 

উত্তর: 4GL বলতে 4th Generation Language বা চতুর্থ প্রজন্মের ভাষা বুঝায়। 4GL এর সাহায্যে সহজেই অ্যাপ্লিকেশন তৈরি করা যায় বলে একে Rapid Application Development (RAD) টুলও বলা হয়।

৩. যান্ত্রিক ভাষা কী? 

উত্তর: কম্পিউটার মেশিনের নিজস্ব ভাষাকে মেশিন ভাষা বা নিম্নস্তরের ভাষা বলা হয়। সাধারণত মেশিন ভাষা 0 ও 1 এ দুই বাইনারি অঙ্ক দিয়ে লিখতে হয়।  

8. অ্যাসেম্বলি ভাষা কী? 

উত্তর: অ্যাসেম্বলি ভাষা হচ্ছে মেশিন ভাষার পরবর্তী প্রোগ্রামের ভাষা। এ ভাষা বিভিন্ন সংকেত সহযোগে গঠিত। তাই একে সাংকেতিক ভাষাও বলা হয়।  

৫. উচ্চস্তরের ভাষা কী? 

উত্তর: যে প্রোগ্রামিং ভাষার প্রতীক ও শব্দসমূহ সাধারণত গাণিতিক ও ইংরেজি ভাষার মতো এবং যা মানুষের জন্য সহজে বোধগম্য, সেই প্রোগ্রামিং ভাষাকে উচ্চস্তরের ভাষা বলে।  

৬. জাভা কী? 

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

৭. পাইথন কী? 

উত্তর: পাইথন (Python) হচ্ছে প্রোগ্রামিং ভাষাসমূহের অন্যতম হাই লেভেল অবজেক্ট ওরিয়েন্টেড ভাষা। ডাইনামিক ওয়েব অ্যাপ্লিকেশনসহ অনেক কিছু বানাতে এটি ব্যবহার করা হয়।

৮.অনুবাদক প্রোগ্রাম কী? 

উত্তর: যে প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রাম (Source Program) কে যন্ত্রভাষায় অনুবাদ করে বস্তু প্রোগ্রাম (Object Program) এ পরিণত করে, তাকে অনুবাদক প্রোগ্রাম বলা হয়।  

৯. কম্পাইলার কী? 

উত্তর: উচ্চস্তরের ভাষায় লেখা উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে রূপান্তর করার প্রোগ্রামকে কম্পাইলার বলা হয়।  

১০. ইন্টারপ্রেটার কী? 

উত্তর: যে অনুবাদক প্রোগ্রাম হাই লেভেল ভাষার উৎস প্রোগ্রামকে এক লাইন এক লাইন করে মেশিন ভাষার অবজেক্ট প্রোগ্রামে অনুবাদ করে, তাকে ইন্টারপ্রেটার বলে।  

১১. অ্যাসেম্বলার কী? 

উত্তর: অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় অনুবাদ করার জন্য সে অনুবাদক প্রোগ্রাম ব্যবহার করা হয়, তাকে অ্যাসেম্বলার বলা হয়।  

১২. প্রোগ্রাম ডকুমেন্টেশন কী? 

উত্তর: ভুল সংশোধনের পর প্রোগ্রাম সঠিকভাবে কাজ করলে, তাকে Run Program বলা হয় এবং এ প্রোগ্রামকে ভবিষ্যতে রক্ষণের জন্য লিপিবদ্ধ করতে হয়। এ লিপিবদ্ধকরণকে প্রোগ্রাম লেখ্য বা ডকুমেন্টেশন বলা হয়।  

১৩. অ্যালগরিদম কী? 

উত্তর: সমস্যা সমাধানের যুক্তিসম্মত ও পর্যায়ক্রমিক ধারা বর্ণনাকে অ্যালগরিদম বলা হয়।

১৪. ফ্লোচার্ট কী? 

উত্তর: যে চিত্রভিত্তিক পদ্ধতিতে বিশেষ কতকগুলো চিহ্নের সাহায্যে কোনো একটি নির্দিষ্ট সমস্যা সমাধান করা হয়, তাকে ফ্লোচার্ট বলা হয়।  

১৫. প্রোগ্রাম ফ্লোচার্ট কী? 

উত্তর: প্রোগ্রাম লেখার পূর্বে প্রোগ্রামের কাজের ধাপগুলো চিত্রের সাহায্যে লেখাই হলো প্রোগ্রাম ফ্লোচার্ট।  

১৬. সিস্টেম ফ্লোচার্ট কী? 

উত্তর: সিস্টেমের ডেটার প্রবাহ বা প্রক্রিয়াকরণ এর প্রবাহ প্রদর্শনকারী চার্টই সিস্টেম ফ্লোচার্ট।  

১৭. সুডোকোড কী? 

উত্তর: প্রোগ্রামের ধরন ও কার্যাবলি তুলে ধরার জন্য কিছুসংখ্যক নির্দেশ বা স্টেটমেন্টের সমাহারকেই সুডোকোড বলা হয়।

১৮. ডিবাগিং কি? 

উত্তর: প্রোগ্রামের ভুল-ত্রুটি খুঁজে বের করা এবং সংশোধন করাকে ডিবাগিং (Debugging) বলা হয়।  

১৯. অবজেক্ট ওরিয়েন্টড প্রোগ্রামিং কী? 

উত্তর: একটি সমস্যাকে সমাধান করার জন্য যখন একটি অবজেক্ট তৈরি করা হয়, যার মধ্যে সমস্যা সমাধানের যাবতীয় উপকরণ থাকে এবং এই অবজেক্টের মাধ্যমে সমস্যা সমাধান করা যায়, তখন তাকে অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং বলা হয়।  

২০. সি ল্যাঙ্গুয়েজ কী? 

উত্তর: C হচ্ছে মধ্য পর্যায়ের, শক্তিশালী হাইলেভেল ল্যাঙ্গুয়েজ, যা ব্যবহার করে সব ধরনের প্রোগ্রাম রচনা করা যায়।

২১. প্রোগ্রাম কম্পাইলিং কী? 

উত্তর: হাই লেভেল ল্যাঙ্গুয়েজে লিখিত প্রোগ্রামকে কম্পিউটারের বোধগম্য মেশিন ল্যাঙ্গুয়েজে রূপান্তরকে কম্পাইলিং বলা হয়।

২২. ডেটা টাইপ কী? 

উত্তর: ডেটার ধরন এবং মেমোরি পরিসর সংরক্ষণের ভিত্তিতে সি প্রোগ্রামে ডেটাকে বিভিন্ন ভাগে ভাগ করা যায়, যাদের একেকটিকে ডেটা টাইপ বলে।  

২৩. চলক কী? 

উত্তর: সি ভাষায় মেমোরিতে ডেটা সংরক্ষণ করতে যে নাম ব্যবহৃত হয়, তাকে চলক (Variable) বলা হয়।

২৪. ধ্রুবক কী? 

উত্তর: প্রোগ্রাম নির্বাহের সময় কোনো অবস্থাতেই যার মান পরিবর্তন করা যায় না, তাকে কন্সট্যান্ট বা ধ্রুবক বলা হয়।  

২৫. লোকাল ভেরিয়েবল কী? 

উত্তর: কোন ফাংশনের মধ্যে ভেরিয়েবল ডিক্লেয়ার করলে তাকে উক্ত ফাংশনের লোকাল ভেরিয়েবল বলা হয়।

অনুধাবনমূলক প্রশ্ন ও উত্তরসমূহ:

১. K++ ও ++ K এর মধ্যকার-ব্যাখ্যা কর। 

উত্তর: K + + এর ক্ষেত্রে কম্পাইলার প্রথমে প্রোগ্রামে K এর পুরাতন মান ব্যবহার করে। অতঃপর ভেরিয়েবলের মানের সাথে যথাক্রমে এক যোগ করে। এই নতুন মান পরবর্তী স্টেটমেন্ট ধাপ থেকে কার্যকর হয়।++ K এর ক্ষেত্রে কম্পাইলার প্রথমে K এর প্রারম্ভিক মানের সাথে যথাক্রমে এক যোগ করে, অতঃপর প্রোগ্রামের একই স্টেটমেন্ট এই বর্ধিত মান ব্যবহার করে।  

২. সি প্রোগ্রামিং ভাষায় একটি ইন্টিজার ভ্যারিয়েবলে সর্বোচ্চ কত অঙ্কের সংখ্যা রাখা যায়? ব্যাখ্যা কর। 

উত্তর: সি প্রোগ্রামিং ভাষায় একটি ইন্টিজার ভ্যারিয়েবলে সর্বোচ্চ 22 বা 4294967296 অঙ্কের সংখ্যা রাখা যায়। int টাইপের ডেটা সাধারণত কম্পিউটারের মেমোরিতে চার বাইট (অর্থাৎ 32 টি) জায়গা দখল করে। যেহেতু এর সাইজ 32 বিট তাই এতে সম্ভাব্য 232 রকমের সংখ্যা রাখা যায়।

৩. ‘অ্যালগরিদম কোডিংয়ের পূর্বশর্ত-ব্যাখ্যা কর। 

উত্তর: প্রোগ্রাম তৈরি করার জন্য কোড লিখার আগে প্রোগ্রামটিতে যে কাজগুলো করা হবে, সেগুলোর প্রতিটি ধাপ লিখে ফেলা হয়। এই ধাপগুলোকে বলে অ্যালগরিদম। কোনো সমস্যাকে কম্পিউটার প্রোগ্রামিং দ্বারা সমাধান করার পূর্বে কাগজে কলমে সমাধান করার জন্যই অ্যালগরিদম ব্যবহার করা হয়। অবশ্যই নির্দিষ্ট সংখ্যক ধাপে সমস্যার সমাধান দেখতে হবে। কোডিং করার সময় উক্ত প্রোগ্রামের সকল সম্পর্কে পরিষ্কার ধারণা থাকতে হয় তা ছাড়া কোডিং করা সম্ভব নয়। অতএব অ্যালগরিদম কোডিং এর পূর্বশর্ত। যার সাহায্যে সহজেই প্রোগ্রামের কোড লেখা হয়।

8. ‘সি’ একটি কেস-সেনসিটিভ ভাষা-ব্যাখ্যা কর। 

উত্তর: সি ভাষায় সাধারণত সব প্রোগ্রাম ছোট হাতের অক্ষরে লেখা হয়। অর্থাৎ সি প্রোগ্রামে ছোট হাতের অক্ষর ও বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। এজন্য সি ল্যাংগুয়েজকে কেস সেনসিটিভ (case sensitive) ভাষা বলা হয়।  

৫. অ্যালগরিদম কোডিং-এর পূর্বশর্ত-ব্যাখ্যা কর। 

উত্তর: কোনো একটি নির্দিষ্ট সমস্যা সমাধানের জন্য যুক্তিসম্মত ও ধাপে ধাপে সমাধান করার যে পদ্ধতি তাকে অ্যালগরিদম বলা হয়। অপরদিকে কোনো সমস্যাকে কম্পিউটার দ্বারা সমাধান করার জন্য প্রোগ্রামিং ভাষায় নির্দেশনা দেওয়াকেই বলে কোডিং। এক্ষেত্রে কোনো সমস্যাকে কম্পিউটার দ্বারা সমাধান করারপূর্বে অ্যালগরিদম অনুসরণ করলে যে সুবিধাগুলো পাওয়া যায়, তা হলো-সহজে প্রোগ্রামের উদ্দেশ্যে বোঝা যায়। সহজে প্রোগ্রামের ভুল নির্ণয় করা যায়। প্রোগ্রামের প্রবাহের দিক বুঝা যায়। জটিল প্রোগ্রাম সহজে রচনা করা যায়। প্রোগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে। অর্থাৎ কোডিং করার পূর্বে অ্যালগরিদম অনুসরণ করলে অনেক সুবিধা পাওয়া যায়। তাই বলা যায় অ্যালগরিদম কোডিং বা প্রোগ্রামিং এর পূর্বশর্ত।  

৬. অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী-ব্যাখ্যা কর। 

উত্তর: যে প্রোগ্রামের সাহায্যে উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় বস্তু প্রোগ্রাম (Object Program) এবং অন্য যেকোনো প্রোগ্রামিং ভাষায় লেখা প্রোগ্রামকে বলা হয় উৎস প্রোগ্রাম (Source-program) [কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে। অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী কারণ-কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একসাথে অনুবাদ করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়। প্রোগ্রাম নির্বাহে কম সময় লাগে কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন প্রোগ্রামে রূপান্তরিত হয় একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইলের প্রয়োজন হয় না, প্রোগ্রামে কোন ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে। উপরোক্ত বৈশিষ্ট্য থেকে বলা যায় অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী।

৭. ‘সি’ ভাষাকে মিড লেভেল ভাষা বলা হয় কেন? 

উত্তর: কম্পিউটারের মাধ্যমে কোন সমস্যা সমাধান তথা প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহ্ন প্রভৃতির সমন্বয়ে গঠিত রীতিনীতিকে প্রোগ্রাম ভাষা ( Programming Language) বলাহয়। “সি” প্রোগ্রামিং ভাষাকে মিড লেভেল ভাষা বলা হয়। কারণ এতে নিম্নস্তরের ভাষার সুবিধা যেমন বিট, বাইট ও মেমরী এড্রেস নিয়ে কাজ করা যায়। আবার উচ্চস্তরের ভাষার সুবিধা যেমন বিভিন্ন ডেটা টাইপ নিয়ে কাজ করা যায়। অর্থাৎ “সি” প্রোগ্রামিং ভাষায় নিম্নস্তরের ভাষার সুবিধা এবং উচ্চস্তরের ভাষার সুবিধা পাওয়া যায়। তাই ভাষাকে মিড লেভেল ভাষা বলা হয়। “সি” প্রোগ্রামিং  

৮. 0,1 দিয়ে লেখা ভাষা ব্যাখ্যা কর। 

উত্তর: কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধুমাত্র ০ এবং ১ ব্যবহার করাহয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এর সাহায্যে সরাসরি কম্পিউটারের সাথেযোগাযোগ করা যায়। মেশিন ভাষার সবচেয়ে বড় সুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়। মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহের জন্য কোনো প্রকার অনুবাদক প্রোগ্রামের প্রয়োজন হয় না। ফলে দ্রুত কাজ করে। মেশিন ভাষায় লিখিত প্রোগ্রামে অতি অল্প মেমোরি প্রয়োজন হয়। কম্পিউটারের ভেতরের গঠন ভালোভাবে বুঝতে হলে এই ভাষা জানতে হয়। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। মেশিন ভাষাকে নিম্ন স্তরের ভাষাও বলা হয়।  

৯. প্রত্যেকবার প্রোগ্রাম নির্বাহের সময় কম্পাইল করা প্রয়োজন—ব্যাখ্যা করো। 

উত্তর: প্রোগ্রাম নির্বাহের সময় কম্পাইল করার প্রয়োজন যা কম্পাইলার এর মাধ্যমে করা হয়। কম্পাইলার হলো এক ধরনের অনুবাদক যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে। কম্পাইলার দুই ধাপে অনুবাদকের কাজ সম্পন্ন করে-প্রথম ধাপে কম্পাইলার উৎস প্রোগ্রামের প্রত্যেকটি লাইন পড়ে এবং অবজেক্ট প্রোগ্রামে রূপান্তর করে। এই ধাপে কম্পাইলার সোর্স প্রোগ্রামে যদি কোন ভুল থাকে তবে তা সংশোধন করার জন্য ব্যবহারকারীকে ErrorMessage দেয়। এই ErrorMessage কে কম্পাইলড টাইম ডায়াগনোস্টিক ErrorMessage বলে। তাই বলা যায়, প্রত্যেকবার প্রোগ্রাম নির্বাহের সময় কম্পাইল করা প্রয়োজন।

১০. ‘লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ।’—ব্যাখ্যা কর।

উত্তর: নিম্নস্তরের ভাষা যেমন মেশিন ভাষায় বা অ্যাসেম্বলি ভাষায় যথাক্রমে 0, 1 এবং বিভিন্ন নেমোনিক এর মাধ্যমে প্রোগ্রাম লেখা হয়। নিম্নস্তরের ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা যায় না। এ ভাষায় প্রোগ্রাম লিখতে প্রচুর সময় লাগে এবং ভুল হবার সম্ভাবনা খুব বেশি থাকে। ভুল হলে তা বের করা এবং ভুল-ত্রুটি দূর করা খুব কঠিন। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। কিন্তু উচ্চস্তরের ভাষায় প্রোগ্রাম লেখা সহজ ও লিখতে সময় কম লাগে। এতে ভুল হবার সম্ভাবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ। এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই। এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে।  

১১. C প্রোগ্রামিং ভাষায় ফাংশনের হেডার ফাইল বলতে কী বুঝায়? 

উত্তর: সি প্রোগ্রামের সোর্স কোডের লিঙ্ক সেকশনে লাইব্রেরিতে সংরক্ষিত যে সব ফাইলকে যুক্ত করা হয় তাদেরকে header ফাইল বলে। এই ফাইলের এক্সটেনশন হলো ‘h’ যেমন stdio.h।  

১২. অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী-ব্যাখ্যা কর। 

উত্তর: যে প্রোগ্রামের সাহায্যে উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় বস্তু প্রোগ্রাম (Object Program) এবং অন্য যেকোনো প্রোগ্রামিং ভাষায় লেখা প্রোগ্রামকে বলা হয় উৎস প্রোগ্রাম (Source-program) [কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে। অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী কারণ-কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একসাথে অনুবাদ করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়। প্রোগ্রাম নির্বাহে কম সময় লাগে কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন প্রোগ্রামে রূপান্তরিত হয়, একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইলের প্রয়োজন হয় না, প্রোগ্রামে কোন ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে। উপরোক্ত বৈশিষ্ট্য থেকে বলা যায় অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী।

১৩. ‘চলকের নামকরণের সময় কিছু নিয়ম মেনে চলতে হয়’—ব্যাখ্যা কর। 

উত্তর: প্রোগ্রামার প্রোগ্রামের শুরুতে প্রয়োজনীয় সংখ্যক চলক বা ভেরিয়েবল ঘোষণা করেন এবং প্রোগ্রামের পরবর্তি অংশে সেগুলো ব্যবহার করেন। সুতরাং তিনি তার ইচ্ছা মত চলক বা ভেরিয়েবলের নামকরন করতে পারেন না, কারন এর মাঝে কিছু সীমাবদ্ধতা আছে। প্রোগ্রামে ডেটা নিয়ে কাজ করার সময় প্রতিটি ডেটার জন্য একটি ভেরিয়েবল ব্যবহার করতে হয়। আবার প্রতিটি ভেরিয়েবলের নামের পুর্বে ডেটা টাইপ উল্লেখ করতে হয়  

১৪. ‘শব্দ ছাড়াই শুধুমাত্র সংখ্যার মাধ্যমে ভাষা প্রকাশ সম্ভব’—ব্যাখ্যা কর। 

উত্তর: শব্দ ছাড়া শুধুমাত্র সংখ্যার মাধ্যমে ভাষা প্রকাশ করা সম্ভব, এক্ষেত্রে মেশিন ভাষা ব্যবহার করা হয়। মেশিন ভাষায় শুধুমাত্র ০ ও ১ দিয়ে প্রোগ্রাম লেখা হয়। অর্থাৎ মেশিন ভাষাই একমাত্র সরাসরি কম্পিউটার বোধগম্য ভাষা। যেহেতু কম্পিউটার একমাত্র মেশিন ভাষাই বুঝতে পারে তাই মেশিন ভাষা কম্পিউটারের মৌলিক ভাষা।


১৫. ০, ১ দিয়ে লেখা ভাষা ব্যাখ্যা কর। / মেশিন ভাষায় লিখিত প্রোগ্রাম দ্রুত নির্বাহ হয় কেন?/ “শব্দ ছাড়া শুধু মাত্র সংখ্যার মাধ্যমে ভাষা প্রকাশ সম্ভব”- ব্যাখ্যা কর।

কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধু মাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া যেকোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। মেশিন ভাষার সবচেয়ে বড় সুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়। মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহের জন্য কোনো প্রকার অনুবাদক প্রোগ্রামের প্রয়োজন হয় না। ফলে দ্রুত কাজ করে। মেশিন ভাষায় লিখিত প্রোগ্রামে অতি অল্প মেমোরি প্রয়োজন হয়। কম্পিউটারের ভেতরের গঠন ভালোভাবে বুঝতে হলে এই ভাষা জানতে হয়। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। মেশিন ভাষাকে নিম্ন স্তরের ভাষাও বলা হয়।


HSC ICT

১৬. “লো–লেভেল প্রোগ্রামিং ভাষার দুর্বলতায় হাই–লেভেল প্রোগ্রামিং ভাষার উৎপত্তির কারণ”/ “উচ্চ স্তরের ভাষা মেশিন ভাষা থেকে উন্নতর”-ব্যাখ্যা কর।

নিম্নস্তরের ভাষা যেমন মেশিন ভাষা এবং অ্যাসেম্বলি ভাষায় যথাক্রমে ০,১ এবং বিভিন্ন নেমোনিক এর সাহায্যে প্রোগ্রাম লেখা হয়।নিম্নস্তরের ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা কষ্টকর। এ ভাষায় প্রোগ্রাম লিখতে প্রচুর সময় লাগে এবং ভুল হবার সম্ভাবনা খুব বেশি থাকে। ভুল হলে তা বের করা এবং ভুল-ত্রুটি দূর করা খুব কঠিন। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। কিন্তু উচ্চস্তরের ভাষায় প্রোগ্রাম লেখা সহজ ও লিখতে সময় কম লাগে। এতে ভুল হবার সম্ভাবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ। এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের  ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই। এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে । উপরের আলোচনা থেকে দেখা যায় নিম্নস্তরের ভাষার অসুবিধাসমূহ উচ্চস্তরের ভাষায় নেই। তাই বলা যায় লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ বা উচ্চ স্তরের ভাষা মেশিন ভাষা থেকে উন্নতর।


১৭. হাই–লেভেল প্রোগ্রামিং ভাষায় প্রোগ্রামিং করা সহজ–ব্যাখ্যা কর।

মেশিন ও অ্যাসেম্বলি ভাষায় রচিত প্রোগ্রামের প্রধান অসুবিধা হল- এক ধরনের কম্পিউটারে রচিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। আবার এই লো-লেভেল ভাষায় রচিত প্রোগ্রাম কম্পিউটার বুঝলেও মানুষের পক্ষে তা বোঝা অনেক কষ্টসাধ্য। অপরদিকে হাই লেভেল প্রোগ্রামিং ভাষায় প্রোগ্রাম রচনা করলে এই ধরনের কোনো সমস্যার সৃষ্টি হয় না। এই ভাষায় লিখিত প্রোগ্রাম যেকোনো কম্পিউটারে ব্যবহার করা যায়। এই ভাষায় রচিত প্রোগ্রাম মানুষের পক্ষে বোঝা অনেক সহজ। প্রোগ্রাম লিখতে সময় অনেক কম লাগে। লো-লেভেল ভাষায় প্রোগ্রাম লিখতে যেখানে ৪/৫ টি নির্দেশের দরকার হয়, সেখানে হাই-লেভেল ভাষায় মাত্র একটি বাক্য লিখলেই চলে। প্রোগ্রাম লেখার সময় কম্পিউটার হার্ডওয়্যার সম্পর্কে ধারণা থাকার প্রয়োজন নেই। তাই বলা যায় হাই-লেভেল প্রোগ্রামিং ভাষায় প্রোগ্রামিং করা সহজ।


১৮. অ্যাসেম্বলি ভাষা মেশিন ভাষা থেকে উন্নত কেন?

যান্ত্রিক ভাষায় প্রোগ্রাম রচনা করার মতো কঠিন কাজকে অপেক্ষাকৃত সহজ করার জন্য এবং সেই সাথে রচিত প্রোগ্রামের ভুল সংশোধন ও পরিবর্তনের কাজ সহজতর করে প্রোগ্রামিং এ গতি সঞ্চারণের লক্ষ্যে অ্যাসেম্বলি ভাষার উন্নয়ন সাধিত হয়। অ্যাসেম্বলি ভাষায় রচিত প্রোগ্রাম মেশিন ভাষার তুলনায় অনেক সহজ হয়। প্রোগ্রাম রচনায় তুলনামূলক সময় অনেক কম লাগে। সহজে ভুল সংশোধন করা যায় এবং প্রোগ্রাম পরিবর্তন করা যায়।


১৯. অ্যালগরিদম কোডিং এর পূর্বশর্ত–ব্যাখ্যা কর। /প্রোগ্রাম কোডিং–এ অ্যালগরিদমের গুরুত্ব লেখ।

কোনো একটি নির্দিষ্ট সমস্যা সমাধানের জন্য যুক্তিসম্মত ও ধাপে ধাপে সমাধান করার যে পদ্ধতি, তাকে অ্যালগরিদম বলা হয়। অপরদিকে কোনো সমস্যাকে কম্পিউটার দ্বারা সমাধান করার জন্য প্রোগ্রামিং ভাষায় নির্দেশনা দেওয়াকেই বলে কোডিং। এক্ষেত্রে কোনো সমস্যাকে কম্পিউটার দ্বারা সমাধান করার পূর্বে অ্যালগরিদম অনুসরণ করলে যে সুবিধাগুলো পাওয়া যায়, তা হলো- সহজে প্রোগ্রামের উদ্দেশ্যে বোঝা যায়। সহজে প্রোগ্রামের ভুল নির্ণয় করা যায়। প্রোগ্রাম প্রবাহের দিক বুঝা যায়। জটিল প্রোগ্রাম সহজে রচনা করা যায়। প্রোগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে।অর্থাৎ কোডিং করার পূর্বে অ্যালগরিদম অনুসরণ করলে অনেক সুবিধা পাওয়া যায়। তাই বলা যায় অ্যালগরিদম কোডিং বা প্রোগ্রামিং এর পূর্বশর্ত।


২০. “অ্যালগরিদমের চেয়ে ফ্লোচার্টের মাধ্যমে সমস্যা শনাক্ত করা সহজ”-ব্যাখ্যা কর।

সমস্যা সমাধানের ধাপসমূহের লিখিত পদ্ধতিকে অ্যালগরিদম বলে। অ্যালগরিদম বর্ণনা নির্ভর। অ্যালগরিদম তৈরির পূর্বে সুডোকোড তৈরির প্রয়োজন হতে পারে। অ্যালগরিদমে প্রোগ্রাম বুঝতে সময় বেশি লাগে। অন্যদিকে চিত্র বা সাংকেতিক চিহ্নের মাধ্যমে সমস্যা সমাধানের ধাপসমূহকে ফ্লোচার্ট বলে। ফ্লোচার্ট চিত্র নির্ভর। ফ্লোচার্ট রচনার ক্ষেত্রে সুডোকোডের কোন প্রয়োজন হয় না। ফ্লোচার্টে প্রোগ্রাম বুঝতে সময় অনেক কম লাগে। সুতরাং বলা যায় যে, অ্যালগরিদমের চেয়ে ফ্লোচার্টের মাধ্যমে সমস্যা শনাক্ত করা সহজ।


২১. প্রবাহচিত্রে ব্যবহৃত প্রতীকগুলো ব্যাখ্যা কর। / ফ্লোচার্ট হলো চিত্রভিত্তিক অ্যালগোরিদম –ব্যাখ্যা কর।

প্রবাহচিত্রে ব্যবহৃত প্রতীকগুলোর কাজ নিচে দেওয়া হলঃ



২২. সি প্রোগ্রামিং ভাষাকে মিড লেভেল প্রোগ্রামিং ভাষা বলা হয় কেন?

কম্পিউটারের সাহায্যে কোন সমস্যা সমাধান তথা প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহ্ন প্রভৃতির সমন্বয়ে গঠিত রীতিনীতিকে প্রোগ্রামিং ভাষা বলা হয়। “সি” প্রোগ্রামিং ভাষাকে  মিড লেভেল ভাষা বলা হয়।কারণ এতে নিম্নস্তরের ভাষার সুবিধা যেমন বিট, বাইট ও মেমোরি অ্যাড্রেস নিয়ে কাজ করা যায়। আবার উচ্চস্তরের ভাষার সুবিধা যেমন বিভিন্ন ডেটা টাইপ নিয়ে কাজ করা যায়। অর্থাৎ “সি” প্রোগ্রামিং ভাষায় নিম্নস্তরের ভাষার সুবিধার পাশাপাশি উচ্চস্তরের ভাষার সুবিধাও পাওয়া যায় । তাই “সি” প্রোগ্রামিং ভাষাকে  মিড লেভেল প্রোগ্রামিং ভাষা বলা হয়।


২৩. অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী–ব্যাখ্যা কর।

যে প্রোগ্রামের সাহায্যে উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করা হয় তাকে অনুবাদক প্রোগ্রাম বলে। মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় বস্তু প্রোগ্রাম (Object Program) এবং অন্য যেকোনো প্রোগ্রামিং ভাষায় লেখা প্রোগ্রামকে বলা হয় উৎস প্রোগ্রাম (Source program)। কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে।  অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে। অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী কারণ- কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একসাথে অনুবাদ করে ফলে প্রোগ্রাম নির্বাহের গতি দ্রুত হয়। প্রোগ্রাম নির্বাহে কম সময় লাগে, কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন প্রোগ্রামে রূপান্তরিত হয়, একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইলের প্রয়োজন হয় না, প্রোগ্রামে কোন ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে।উপরোক্ত বৈশিষ্ট্য থেকে বলা যায় অনুবাদক প্রোগ্রাম হিসেবে কম্পাইলার বেশি উপযোগী।


২৪. সি প্রোগ্রামিং ভাষা একটি কেস সেনসিটিভ ভাষা–বুঝিয়ে লিখ।

সি প্রোগ্রামিং ভাষা একটি উচ্চস্তরের ভাষা। এই ভাষা প্রায় মানুষের ভাষার কাছাকাছি তাই এই ভাষার সাহায্যে প্রোগ্রাম রচনা করা সহজ। সি প্রোগ্রামিং ভাসাটির একটি বৈশিষ্ট্য হল  এটি case sensitive প্রোগ্রামিং ভাষা। অর্থাৎ এই ভাষায় লেখা প্রোগ্রামে ছোট হাতের অক্ষর এবং বড় হাতের অক্ষর আলাদা অর্থ বহন করে। যেমন: a এবং A দুটি আলাদা চলক। তাই বলা হয় সি প্রোগ্রামিং ভাষা একটি case sensitive প্রোগ্রামিং ভাষা।


২৫. চলক তৈরির ক্ষেত্রে কিছু বিধিবদ্ধ নিয়ম কানুন রয়েছে–ব্যাখ্যা কর।/সি ভাষায় int roll@no; স্টেটমেন্টটি বৈধ/অবৈধ ব্যাখ্যা কর।

চলক হলো মেমোরি লোকেশনের নাম বা ঠিকানা। অর্থাৎ প্রোগ্রামে ডেটা নিয়ে কাজ করার সময় প্রতিটি ডেটার জন্য একটি চলকের ব্যবহার করতে হয়। প্রতিবার প্রোগ্রাম নির্বাহের সময় মেমরিতে ভেরিয়েবলগুলো অবস্থান এবং সংরক্ষিত মান পরিবর্তন হয় বা হতে পারে বলে এদেরকে ভেরিয়েবল বা চলক বলা হয়। একটি প্রোগ্রামের শুরুতে প্রয়োজনীয় সংখ্যক চলক বা ভেরিয়েবল ঘোষণা করা হয়। এই চলক ঘোষণা করার কিছু নিয়ম আছে। যেমন-

  • ভেরিয়েবল এর নাম হিসাবে কেবল অ্যালফাবেটিক ক্যারেক্টার (A-Z,a-z),সংখ্যা (0-9) এবং আন্ডারস্কোর (_) ব্যবহার করা যায়। যেমন: Roll_number,Counta7 ইত্যাদি।
  • ভেরিয়েবলের নামের প্রথম ক্যারেক্টার অবশ্যই অক্ষর হতে হবে। যেমন: Roll_number, number, amount, Roll_22 সঠিক ভেরিয়েবল । কিন্তু 22Roll সঠিক ভেরিয়েবল নয়।
  • ভেরিয়েবল এ কোন প্রকার স্পেশাল ক্যারেক্টার যেমন !,@,#,%,&,$ ইত্যাদি ব্যবহার করা যাবে না। যেমন- my@roll, ashek$mizan$amir, &a ইত্যাদি অবৈধ ভেরিয়েবল ।
  • কোন কী-ওয়ার্ড বা রির্জাভ ওয়ার্ড ভেরিয়েবল এর নাম হিসাবে ব্যবহার করা যাবে না। যেমন: for, while ইত্যাদি । তাই বলা যায় চলক তৈরির ক্ষেত্রে কিছু নিয়ম কানুন রয়েছে।


২৬. সি প্রোগ্রামিং ভাষার লাইব্রেরি ফাংশনের হেডার ফাইল বলতে কী বুঝায়?

সি প্রোগ্রামের সোর্স কোডের লিঙ্ক সেকশনে লাইব্রেরিতে সংরক্ষিত যে সব ফাইলকে যুক্ত করা হয় তাদেরকে header ফাইল বলে। এই ফাইলের এক্সটেনশন হলো “h” যেমন- stdio.h  সি প্রোগ্রামিং ভাষার একটি হেডার ফাইল। উক্ত ফাইলে printf() বা scanf() ফাংশনের বর্ণনা রয়েছে। ফলে printf() ফাংশন প্রোগ্রামে ব্যবহার করলে stdio.h হেডার ফাইলটি প্রোগ্রামে অন্তর্ভুক্ত করতে হয়। এখানে #include<stdio.h> লিখে প্রোগ্রামে উক্ত হেডার ফাইলটি সংযুক্ত করা হয়েছে।


২৭. সি প্রোগ্রামিং ভাষায় লিখিত প্রোগ্রামে #include<stdio.h> আবশ্যক কেন? ব্যাখ্যা কর।

একটি আদর্শ প্রোগ্রামে ইনপুট, প্রসেস ও আউটপুট এর ব্যবস্থা থাকতে হয়। সি প্রোগ্রামিং ভাষায় লেখা একটি প্রোগ্রামে ইনপুট এবং আউটপুট এর জন্য যথাক্রমে  scanf() এবং printf() নামক লাইব্রেরী ফাংশন ব্যবহার করা হয়। এই ফাংশন দুটির জন্য #include<stdio.h> হেডার ফাইল ব্যবহার করা হয়। তাই বলা যায়, সি প্রোগ্রামিং ভাষায় লিখিত প্রোগ্রামে #include<stdio.h> আবশ্যক।


২৮. প্রোগ্রামে লাইব্রেরী ও ইউজার ডিফাইন্ড ফাংশন এক নয়–ব্যাখ্যা কর।

প্রোগ্রামে যখন কতগুলো স্টেটমেন্ট কোনো  নামে একটি ব্লকের মধ্যে অবস্থান করে কোনো  নির্দিষ্ট কাজ সম্পাদন করে তখন ব্লকটিকে ফাংশন বলা হয়। একটি ফাংশনের দুইটি অংশ থাকে। ফাংশন ডিক্লারেশন ও ফাংশন ডেফিনেশন। যে ফাংশনের ডেফিনেশন প্রোগ্রামার দ্বারা নির্ধারিত হয়,সে ফাংশনকে ইউজার ডিফাইন্ড ফাংশন বলে। অন্যদিকে যে ফাংশনের ডেফিনেশন পূর্ব নির্ধারিত থাকে, তাকে লাইব্রেরী ফাংশন বলে। প্রোগ্রামে কোন লাইব্রেরী ফাংশন ব্যবহার করলে তার জন্য নির্দিস্ট হেডার ফাইল প্রোগ্রামের শুরুতে যুক্ত করতে হয়। তাই বলা যায় লাইব্রেরী ফাংশন এবং ইউজার ডিফাইন্ড ফাংশন এক নয়।


২৯. আউটপুট ফাংশন বলতে কি বুঝায়?

সি প্রোগ্রামে যখন কোনো  নির্দিষ্ট কাজ সম্পাদনের জন্য কতগুলো স্টেটমেন্ট কোনো  নামে একটি ব্লকের মধ্যে রাখা হয় তখন তাকে ফাংশন বলা হয়। প্রতিটি ফাংশন একটি নির্দিষ্ট কাজ করে। আউটপুট ফাংশন হচ্ছে এমন একটি ফাংশন যা মনিটরে কোন কিছু প্রদর্শন করে। যেমন- printf() হচ্ছে একটি আউটপুট ফাংশন যা প্রোগ্রামে কোনকিছু আউটপুট হিসেবে দেখায়।


৩০. সি প্রোগ্রামিং ভাষায় ব্যবহৃত ইনপুট ও আউটপুট ফাংশনগুলো লেখ।

সি প্রোগ্রামে যখন কোনো  নির্দিষ্ট কাজ সম্পাদনের জন্য কতগুলো স্টেটমেন্ট কোনো  নামে একটি ব্লকের মধ্যে রাখা হয় তখন তাকে ফাংশন বলা হয়। প্রতিটি ফাংশন একটি নির্দিষ্ট কাজ সম্পাদন করে। সি প্রোগ্রামে কোনো মান ইনপুট হিসেবে গ্রহণ করার জন্য scanf(), gets() ও getchar() ফাংশন ব্যবহৃত হয়। মনিটরে কোন কিছু প্রদর্শন করার জন্য printf(), puts() ও putchar() আউটপুট ফাংশন ব্যবহৃত হয়।


৩১. printf(“%d %d”, a, b); স্টেটমেন্টটি ব্যাখ্যা কর।

printf(“%d %d”, a, b); স্টেটমেন্টটিকে সি প্রোগ্রামিং ভাষায় আউটপুট স্টেটমেন্ট বলা হয়। আউটপুট স্টেটমেন্ট হলো যার মাধ্যমে ব্যবহারকারীকে আউটপুট দেখানো হয়। উপরের স্টেটমেন্টটির মাধ্যমে দুটি চলক  a ও b এর মান প্রদর্শন করা হয়েছে।


৩২. scanf(“%f”, &a); স্টেটমেন্টটি ব্যাখ্যা কর।

scanf(“%f”, &a); এই স্টেটমেন্ট কে “সি” প্রোগ্রামিং ভাষায় ইনপুট স্টেটমেন্ট বলা হয়। ইনপুট স্টেটমেন্ট হলো যার মাধ্যমে প্রোগ্রাম ইউজারের কাছ থেকে ডেটা ইনপুট নেয়। এই স্টেটমেন্টের মাধ্যমে প্রোগ্রাম ইউজারের কাছ থেকে একটি ভগ্নাংশ ধরনের সংখা ইনপুট নিয়ে a চলকে সংরক্ষণ করে যা পরবর্তীতে ব্যবহার করে।


৩৩. printf() ও scanf() উদাহরণ দ্বারা ব্যাখ্যা কর।

সি প্রোগ্রামিং ভাষায় বহুল ব্যবহৃত ও গুরুত্বপূর্ণ ফাংশন হলো printf() এবং scanf()। প্রোগ্রামে কোনো মান ইনপুট নেওয়ার জন্য scanf() ফাংশন ব্যবহৃত হয় এবং কোনো ফলাফল প্রদর্শনের জন্য printf() ফাংশন ব্যবহৃত হয়। যেমন- scanf(“%d”, &a);  এবং printf(“%d”, a); স্টেটমেন্ট দুটির সাহায্যে যথাক্রমে a চলকে ইনপুট নেওয়া ও a চলকের মান আউটপুটে দেখানো হয়।


৩৪. Integer এর পরিবর্তে কখন Long Integer ব্যবহার করা হয়? বুঝিয়ে লেখ।

integer হল একধরনের ডেটা টাইপ যা পূর্ণসংখ্যা ইনপুট নেওয়ার জন্য সি প্রোগ্রামে ব্যবহৃত হয়। এটি সাধারণত ভেরিয়েবল ডিক্লারেশন এর সময় ভেরিয়েবল এর সামনে লিখে দিতে হয়। যেমনঃ int a=32; এর রেঞ্জ -৩২৭৬৮ থেকে +৩২৭৬৭ পর্যন্ত। এর চেয়ে বড় কোন রেঞ্জের সংখ্যা ইনপুট নেওয়ার জন্য long integer ব্যবহৃত হয়।


৩৫. সি ভাষায় Float type বলতে কি বুঝ? উদাহরণ সহ লিখ।

যদি কোনো ডেটার মান সংখ্যাসূচক কিন্তু ভগ্নাংশ হয় তবে তার জন্য ব্যবহৃত চলক অথবা ধ্রুবকের ডেটা টাইপকে float বলা হয়। এ ধরনের চলকের জন্য মেমোরিতে ৪ বাইট জায়গা লাগে। যেমন- ধরি x=৩২, printf(“%f”, x); তাহলে আউটপুট হবে x=32.000000


৩৬. কখন ইউনারি অপারেটর ব্যবহার করা হয়? ব্যাখ্যা কর।

সি ভাষায় গাণিতিক এবং যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য কতগুলো বিশেষ চিহ্ন ব্যবহৃত হয়, এগুলোকে অপারেটর বলা হয়। আর যা ডেটা ধারণ করে তাকে অপারেন্ড বলা হয়। যে সকল অপারেটর একটি মাত্র অপারেন্ড নিয়ে কাজ করে তাদের ইউনারি অপারেটর বলে। অর্থাৎ যখন প্রোগ্রামিং এর ক্ষেত্রে একটি মাত্র অপারেন্ড নিয়ে কাজ করতে হয়, সেই ক্ষেত্রে ইউনারি অপারেটর ব্যবহার করা হয়। যেমন- ইনক্রিমেন্টাল অপারেটর (++) এবং ডিক্রিমেন্টাল অপারেটর(–) ইত্যাদি।


৩৭. প্রোগ্রামে অপারেটরের গুরুত্ব লেখ।

সি ভাষায় গাণিতিক এবং যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য কতগুলো বিশেষ চিহ্ন/symbol (যেমন- +, -, *, /, ++, –, <, >, >= ইত্যাদি) ব্যবহৃত হয় যা অপারেটর নামে পরিচিত। এই অপারেটর সমূহ না থাকলে সি ভাষায় কখনো গাণিতিক বা যৌক্তিক কাজ করা সম্ভব হতো না।


৩৮. i++ এবং ++i ব্যাখ্যা কর।

i++ হলো পোস্ট ইনক্রিমেন্ট বা পোস্টফিক্স। পোস্টফিক্স প্রথমে বাম পাশে চলকের মান অ্যাসাইন করে তারপর অপারেন্ডের মান 1 বৃদ্ধি করে। ++i হলো প্রিইনক্রিমেন্ট বা প্রিফিক্স। প্রিফিক্স প্রথমে অপারেন্ডের সাথে 1 যোগ করে। তারপর ফলাফলকে বাম পাশের চলকে অ্যাসাইন করে।


৩৯. “=” এবং “= =” এর মধ্যে পার্থক্য লেখ।

“=” হচ্ছে অ্যাসাইনমেন্ট অপারেটর। কোনো চলকের মানকে বা কোন সংখ্যাকে অন্য কোনো চলকের মান হিসেবে নির্ধারণ করতে যেসব অপারেটর ব্যবহার করা হয়, তাকে অ্যাসাইনমেন্ট অপারেটর বলে। যেমন- C=A+B। এখানে A ও B চলকের মান যোগ করে যোগফল C চলকে অ্যাসাইন করা হয়েছে। “= =”  হলো রিলেশনাল অপারেটর। দুটি অপারেন্ডের মধ্যে তুলনা করতে যে অপারেটরসমূহ ব্যবহৃত হয় তাদেরকে সম্পর্কযুক্ত অপারেটর বলা হয়। যেমন- a==b হলো a এবং b এর মান সমান।


৪০. for loop এবং Do while loop এর মধ্যে কোনটি ব্যবহার করা সহজ?

for এবং do while loop এর মধ্যে for loop ব্যবহার করা সহজ। কারণ সি প্রোগ্রামে কোন স্টেটমেন্ট দুই বা ততোধিক বার ব্যবহার করার জন্য for loop ব্যবহৃত হয়। loop কতবার নির্বাহ করা হবে তা জানা থাকলে for loop ব্যবহার করা উপযোগী। তাই do while loop এর চেয়ে for loop ব্যবহার করা সহজ।


৪১. “গ্লোবাল ভেরিয়েবলকে প্রোগ্রামের সকল অংশে জুড়ে দেওয়া সম্ভব”-ব্যাখ্যা কর।

কোনো চলক বা ভেরিয়েবল যদি main() ফাংশনের বাইরে ঘোষণা করা হয় তবে সেই ভেরিয়েবলের কার্যকারিতা main() ফাংশন বা ঐ প্রোগ্রামে ব্যবহৃত সকল ফাংশনের মধ্যে বিস্তৃত থাকে। আর এই ধরনের চলককে গ্লোবাল ভেরিয়েবল বলা হয়। এই ধরনের চলক প্রোগ্রামের সকল ফাংশনেই ব্যবহার করা সম্ভব।

৪২. “অ্যারে এবং চলক এক নয়”-ব্যাখ্যা কর।

একই ধরনের বা সমপ্রকৃতির চলকের সমাবেশকে অ্যারে বলা হয়। অ্যারের একটি নাম থাকে, ইনডেক্স নাম্বার এবং আইটেম সমূহকে বন্ধনীর মধ্যে উপস্থাপন করা হয়। অ্যারে একমাত্রিক ও বহুমাত্রিক হতে পারে। মেমোরি অ্যাড্রেস সরাসরি ব্যবহার না করে একটি নাম দিয়ে ঐ নামের অধীনে ডেটা রাখা হয়। এই ডেটা পরিবর্তনশীল তাই ঐ নামকে চলক বলা হয়। চলক হলো প্রোগ্রামের দেওয়া মেমোরির কয়েক বাইট স্থানের একটি নাম। তাই বলা যায় যে, অ্যারে এবং চলক এক নয়।


Next Post Previous Post
No Comment
Add Comment
comment url