প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

প্রিয় এইচএসসি শিক্ষার্থীরা তোমাদের আইসিটির সিলেবাসভূক্ত ৫ম অধ্যায়ের এখানে প্রায় ৬০টি অনুধাবনমূলক প্রশ্ন ও উত্তর দেওয়া হয়েছে।

Read More:

সর্বশেষ বোর্ড প্রশ্ন ও ১০০% কমন পেতে এই প্রশ্নগুলো অনুসরণ করলেই হবে!

প্রোগ্রামের ধারণা

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

মেশিন ভাষা ও অ্যাসেম্বলি ভাষা

প্রশ্ন ২। মানুষের পক্ষে মেশিন ভাষায় বড় প্রোগ্রাম তৈরি করা অসম্ভব বলা চলে- ব্যাখ্যা কর। 
উত্তর : 0 ও 1 দিয়ে তৈরিকৃত ভাষাটি হলো মেশিন ভাষা। কম্পিউটারের জন্য মেশিন ভাষা খুব সহজবোধ্য হলেও মানুষের জন্য মেশিন ভাষার কোড পড়া দুঃসাধ্য ব্যাপার। কারণ কোডে কেবল 0 আর 1 থাকে। তাই মানুষের পক্ষে এই ভাষার বড় প্রোগ্রাম তৈরি করা অসম্ভব বলা চলে। 

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

প্রশ্ন ৪। অ্যাসেম্বলি ভাষা মেশিন ভাষার চেয়ে উন্নততর কেন?
উত্তর : অ্যাসেম্বলি ভাষা মেশিন ভাষার চেয়ে উন্নততর। কারণ অ্যাসেম্বলি ভাষার সাহায্যে অতি সংক্ষিপ্ত আকারে প্রোগ্রাম লেখা যায় যা মেশিন ভাষায় কষ্টসাধ্য। মেশিন ভাষার তুলনায় অ্যাসেম্বলি ভাষায় প্রোগ্রাম পরিবর্তন করা সহজ। লেখা পড়া ও তুলনায় অ্যাসেম্বলি ভাষায় প্রোগ্রাম রচনা করতে সময় লাগে। এজন্য অ্যাসেম্বলি ভাষা মেশিন ভাষার চেয়ে উন্নততর। 

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

প্রশ্ন ৬। “নেমোনিক কোডের ৪টি অংশ থাকতে পারে”—ব্যাখ্যা কর।
উত্তরঃ নেমোনিক কোড ব্যবহার করে যে ভাষায় প্রোগ্রামিং করা হয় তাকে অ্যাসেম্বলি ভাষা বলে। অ্যাসেম্বলি ভাষার পুরো নির্দেশে সাধারণত চারটি অংশ থাকতে পারে। যথা : ১. লেবেল (Label), ২. অপ-কোড, ৩. অপারেন্ড ও ৪ মন্তব্য (Cornment)

প্রশ্ন ৭। মেশিন ভাষায় লিখিত প্রোগ্রাম দ্রুত নির্বাহ হয় কেন? 
উত্তর : মেশিন ভাষায় শুধুমাত্র ০ এবং ১ ব্যবহার করা হয় বলে যেকোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এটির মাধ্যমে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায় বলে মেশিন ভাষায় লিখিত প্রোগ্রাম দ্রুত নিৰ্বাহ হয়। 

প্রশ্ন ৮। যান্ত্রিক ভাষাকে নিম্নস্তরের ভাষা বলা হয় কেন? 
উত্তর : কম্পিউটারের ভাষা তৈরি হয় বাইনারি সংখ্যা পদ্ধতিতে। বাইনারি সংখ্যা পদ্ধতিতে মাত্র ২টি অঙ্ক (0, 1) ব্যবহৃত হয়। বাইনারি ছাড়া অন্য কোনো সংখ্যা পদ্ধতি সরাসরি কম্পিউটারে ব্যবহার করা যায় না। সমস্যা সমাধানের জন্য বাইনারি সংখ্যায় নির্দেশ সাজিয়ে যান্ত্রিক ভাষায় প্রোগ্রাম প্রস্তুত করা হয়। শুধুমাত্র 0 ও 1 দিয়ে প্রোগ্রাম লেখা সহজ হয়। সেজন্য যান্ত্রিক ভাষাকে নিম্নস্তরের ভাষা বলা হয়। 

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

মধ্যম স্তরের ভাষা ও উচ্চস্তরের ভাষা

প্রশ্ন ৯। সি (C) একটি চমৎকার স্ট্রাকচার্ড প্রোগ্রামিং ভাষা ব্যাখ্যা কর। 
উত্তর : সি একটি সাধারণভাবে ব্যবহারের উপযোগী অত্যন্ত জনপ্রিয় প্রোগ্রামিংয়ের ভাষা। 1972 সালে ডেনিস রিচি (Dennis Ritchie বেল ল্যাবে এ ভাষাটি তৈরি করেন। বলা হয়ে থাকে এ ভাষাটি জানা থাকলে কম্পিউটারের অন্য যেকোনো ভাষা শেখা খুব সহজ। সি ল্যাঙ্গুয়েজ দিয়ে অপারেটিং সিস্টেম থেকে জটিল ডেটাবেজ ম্যানেজমেন্ট প্রোগ্রাম, ইন্টারনেট ব্রাউজার কিংবা ইন্টারপ্রেটার পর্যন্ত সবকিছু তৈরি করা যায়। ছোট ছোট অসংখ্য অংশকে সমন্বয় করে একটি জটিল প্রোগ্রাম তৈরি করা যায়। এসব কারণে সি (C) একটি চমৎকার স্ট্রাকচার্ড প্রোগ্রামিক ভাষা। 

প্রশ্ন ১০। C ও C++ এর মধ্যে ভিন্নতা কী? ব্যাখ্যা কর।
উত্তর: C এবং C++ এর মধ্যে ভিন্নতা লক্ষ করা যায়। যেমনঃ
১. C একটি জেনারেল পারপার্স প্রোগ্রামিং ভাষা। C থেকে C++ এর উৎপত্তি।
২. C ভাষাকে প্রোগ্রামিং ভাষার জনক বলা হয়। C এর উন্নত ভার্সন C++1 
৩. C হলো প্রসিডিউরাল বা স্ট্যান্ডার্ড প্রোগ্রামিং ভাষা। C++ হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা। 
8. C হচ্ছে উচ্চস্তরের প্রোগ্রামিং ভাষা। C++ মধ্যস্তরের প্রোগ্রামিং ভাষা। 

প্রশ্ন ১১। “লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ” – ব্যাখ্যা কর। 
উত্তর : লো-লেভেল ল্যাঙ্গুয়েজের দুর্বলতার জন্যই হাই-লেভেল ল্যাঙ্গুয়েজ উৎপত্তি হয়েছে। লো-লেভেল ল্যাঙ্গুয়েজের (মেশিন ও আসেম্বলি) মাধ্যমে প্রোগ্রাম রচনায় বেশ কিছু সমস্যা রয়েছে। যেমন- প্রোগ্রাম রচনা করা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ, ডিবাগ করা কষ্টসাধ্য এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য মেশিনে রান করানো যায় না। এসব সমস্যা বা দুর্বলতা সমাধানের জন্যই হাই-লেভেল ল্যাঙ্গুয়েজ উৎপত্তি হয়েছে। 

প্রশ্ন ১২। প্রোগ্রামিং-এর জন্য উচ্চ স্তরের ভাষার ব্যবহার সুবিধাজনক ব্যাখ্যা কর।
উত্তর : প্রোগ্রামিং-এর জন্য উচ্চস্তরের ভাষা সুবিধাজনক। কারণ
১. এ ভাষায় লিখিত প্রোগ্রাম যেকোনো কম্পিউটারে ব্যবহার করা যায়। 
২. নিম্নস্তরের ভাষা থেকে উচ্চস্তরের ভাষা শেখা বেশি সহজ। 
৩. এ ভাষায় তাড়াতাড়ি প্রোগ্রাম লেখা যায়। 
৪. এ ভাষায় স্বাভাবিক ভাষায় অনেক শব্দ ব্যবহার করা যায়। ৫. অসংখ্য তৈরিকৃত লাইব্রেরি ফাংশন ব্যবহারের সুবিধা রয়েছে।

প্রশ্ন ১৩। স্ট্রাকচার্ড প্রোগ্রামিং বলতে কী বুঝ? 
উত্তর : স্ট্রাকচার্ড প্রোগ্রামিং হলো একটি প্রোগ্রামের স্টেটমেন্টগুলো ভিন্ন ভিন্ন শ্রেণিতে বিভক্ত করে লেখা। স্ট্রাকচার্ড প্রোগ্রামের একটি মূল অংশ থাকে। মূল অংশের প্রথম নির্বাহযোগ্য স্টেটমেন্ট দ্বিতীয় স্তরের প্রথম অংশে যায়। এ ক্ষেত্রে কার্যাদেশের ফাইলের রেকর্ড পাঠ করে। পাঠ করার পর, কম্পিউটার আবার মূল অংশে ফিরে আসে। এরপর মূল অংশ কম্পিউটারকে আবার দ্বিতীয় স্তরের পরবর্তী অংশে পাঠায়। এভাবে স্ট্রাকচার প্রোগ্রামের মূল অংশের কার্যকারিতা চলতে থাকে।

প্রশ্ন ১৪। অ্যাসেম্বলি এবং উচ্চতর ভাষার দুটি পার্থক্য লিখ।
উত্তর : অ্যাসেম্বলি এবং উচ্চতর ভাষার মধ্যে দুটি পার্থক্য নিচে দেওয়া হলো: 
অ্যাসেম্বলি ভাষা
১. সংক্ষিপ্ত সাংকেতিক চিহ্ন বা সহায়ক নাম দিয়ে লিখিত ভাষাকে অ্যাসেম্বলি ভাষা বলে। ২. অ্যাসেম্বলি ভাষা ভিন্ন ভিন্ন যন্ত্রের জন্য ভিন্ন ভিন্ন হয়। 
উচ্চতর ভাষা 
১. ইংরেজি ভাষা ব্যবহারে যে প্রোগ্রাম তৈরি করা হয় তাকে বলা হয় উচ্চ স্তরের ভাষা। ২. এ ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব। 

প্রশ্ন ১৫। মধ্যমস্তরের ভাষা কেন ব্যবহার করা হয়? ব্যাখ্যা কর।
উত্তর : যেকোনো ধরনের কম্পিউটারে মধ্যমস্তরের ভাষা ব্যবহার করা হয়। যে ভাষায় উচ্চস্তরের ভাষা নিম্নস্তরের ভাষার বৈশিষ্ট্য বিদ্যমান তাকে মধ্যমন্তরের ভাষা বলে। অর্থাৎ কম্পিউটারের হার্ডওয়্যার নিয়ন্ত্রণ ও সিস্টেম প্রোগ্রাম রচনার জন্য মধ্যমস্তরের ভাষা প্রয়োজন। এ ভাষায় উচ্চস্তরের ভাষার সুবিধার পাশাপাশি নিম্নস্তরের ভাষায়ও 1 প্রোগ্রাম লেখা যায়। C, C++ হলো মধ্যমস্তরের ভাষা। 

প্রশ্ন ১০। C ও C++ এর মধ্যে ভিন্নতা কী? ব্যাখ্যা কর।
উত্তর : C এবং C++ এর মধ্যে ভিন্নতা লক্ষ করা যায়। যেমন;
১. C একটি জেনারেল পারপার্স প্রোগ্রামিং ভাষা। C থেকে C++ এর উৎপত্তি।
২. C ভাষাকে প্রোগ্রামিং ভাষার জনক বলা হয়। C এর উন্নত ভার্সন  C++
৩. C হলো প্রসিডিউরাল বা স্ট্যান্ডার্ড প্রোগ্রামিং ভাষা । C++ হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
8. C হচ্ছে উচ্চস্তরের প্রোগ্রামিং ভাষা। C++ মধ্যস্তরের প্রোগ্রামিং ভাষা । 

প্রশ্ন ১১। “লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ” – ব্যাখ্যা কর। 
উত্তর : লো-লেভেল ল্যাঙ্গুয়েজের দুর্বলতার জন্যই হাই-লেভেল ল্যাঙ্গুয়েজ উৎপত্তি হয়েছে। 
লো-লেভেল ল্যাঙ্গুয়েজের (মেশিন ও আসেম্বলি) মাধ্যমে প্রোগ্রাম রচনায় বেশ কিছু সমস্যা রয়েছে। যেমন- প্রোগ্রাম রচনা করা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ, ডিবাগ করা কষ্টসাধ্য এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য মেশিনে রান করানো যায় না। এসব সমস্যা বা দুর্বলতা সমাধানের জন্যই হাই-লেভেল ল্যাঙ্গুয়েজ উৎপত্তি হয়েছে। 

প্রশ্ন ১২। প্রোগ্রামিং-এর জন্য উচ্চ স্তরের ভাষার ব্যবহার সুবিধাজনক ব্যাখ্যা কর।
উত্তর : প্রোগ্রামিং-এর জন্য উচ্চস্তরের ভাষা সুবিধাজনক। কারণ
১  এ ভাষায় লিখিত প্রোগ্রাম যেকোনো কম্পিউটারে ব্যবহার করা যায়। 
২. নিম্নস্তরের ভাষা থেকে উচ্চস্তরের ভাষা শেখা বেশি সহজ। 
৩. এ ভাষায় তাড়াতাড়ি প্রোগ্রাম লেখা যায়। 
৪. এ ভাষায় স্বাভাবিক ভাষায় অনেক শব্দ ব্যবহার করা যায়। 
৫. অসংখ্য তৈরিকৃত লাইব্রেরি ফাংশন ব্যবহারের সুবিধা রয়েছে। 

প্রশ্ন ১৩। স্ট্রাকচার্ড প্রোগ্রামিং বলতে কী বুঝ? 
উত্তর : স্ট্রাকচার্ড প্রোগ্রামিং হলো একটি প্রোগ্রামের স্টেটমেন্টগুলো ভিন্ন ভিন্ন শ্রেণিতে বিভক্ত করে লেখা। স্ট্রাকচার্ড প্রোগ্রামের একটি মূল অংশ থাকে। মূল অংশের প্রথম নির্বাহযোগ্য স্টেটমেন্ট দ্বিতীয় স্তরের প্রথম অংশে যায়। এ ক্ষেত্রে কার্যাদেশের ফাইলের রেকর্ড পাঠ করে। পাঠ করার পর, কম্পিউটার আবার মূল অংশে ফিরে আসে। এরপর মূল অংশ কম্পিউটারকে আবার দ্বিতীয় স্তরের পরবর্তী অংশে পাঠায়। এভাবে স্ট্রাকচার প্রোগ্রামের মূল অংশের কার্যকারিতা চলতে থাকে। 

প্রশ্ন ১৪। অ্যাসেম্বলি এবং উচ্চতর ভাষার দুটি পার্থক্য লিখ।
উত্তর : অ্যাসেম্বলি এবং উচ্চতর ভাষার মধ্যে দুটি পার্থক্য নিচে দেওয়া হলো: 
অ্যাসেম্বলি ভাষা 
১. সংক্ষিপ্ত সাংকেতিক চিহ্ন বা সহায়ক নাম দিয়ে লিখিত ভাষাকে অ্যাসেম্বলি ভাষা বলে। ২. অ্যাসেম্বলি ভাষা ভিন্ন ভিন্ন যন্ত্রের জন্য ভিন্ন ভিন্ন হয়। 
উচ্চতর ভাষা 
১. ইংরেজি ভাষা ব্যবহারে যে প্রোগ্রাম তৈরি করা হয় তাকে বলা হয় উচ্চ স্তরের ভাষা। ২. এ ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব। 

প্রশ্ন ১৫। মধ্যমস্তরের ভাষা কেন ব্যবহার করা হয়? ব্যাখ্যা কর।
উত্তর : যেকোনো ধরনের কম্পিউটারে মধ্যমস্তরের ভাষা ব্যবহার করা হয়। যে ভাষায় উচ্চস্তরের ভাষা ও নিম্নস্তরের ভাষার বৈশিষ্ট্য বিদ্যমান তাকে মধ্যমস্তরের ভাষা বলে। অর্থাৎ কম্পিউটারের হার্ডওয়্যার নিয়ন্ত্রণ, ও সিস্টেম প্রোগ্রাম রচনার জন্য মধ্যমন্তরের ভাষা প্রয়োজন। এ ভাষায় উচ্চস্তরের ভাষার সুবিধার পাশাপাশি নিম্নস্তরের ভাষায়ও প্রোগ্রাম লেখা যায়। C, C++ হলো মধ্যমস্তরের ভাষা। 

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

চতুর্থ প্রজন্মের ভাষা

প্রশ্ন ১৬। চতুর্থ প্রজন্মের ভাষা বলতে কী বুঝায়? ব্যাখ্যা কর। উত্তর : প্রোগ্রামিংকে মানুষের জন্য সহজ করার প্রচেষ্টায় এমন প্রোগ্রামিং ভাষা তৈরি হয় যেগুলো মানুষের ভাষার কিছুটা কাছাকাছি। এসব প্রোগ্রামিং ভাষাকে বলা হয় চতুর্থ প্রজন্মের ভাষা বা 4GL/ SQL হলো 4GL ভাষা। 

অনুবাদক প্রোগ্রাম ও প্রোগ্রামের সংগঠন

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

প্রশ্ন ১৮। কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য লিখ। 

উত্তর : কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য নিচে দেওয়া হলো :

কম্পাইলারইন্টারপ্রেটার 
১. কম্পাইলার পুরো একসাথে প্রোগ্রামটি পরীক্ষা করে মেশিন কোডে রূপান্তর করে।১. ইন্টারপ্রেটার পুরো প্রোগ্রামটি একসাথে পরীক্ষা না করে প্রতিটি স্টেটমেন্ট পরীক্ষা করে মেশিন কোডে রূপান্তর করে।
২. কম্পাইলার দ্রুত কাজ করে। ২. ইন্টারপ্রেটার ধীরে কাজ করে। 
৩. সবগুলো ভুল একসাথে প্রদর্শন করে। ৩. প্রতিটি স্টেটমেন্টের ভুল প্রদর্শন করে এবং ভুল পাওয়া মাত্রই কাজ বন্ধ করে দেয়। 


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

প্রশ্ন ২০। ইন্টারপ্রেটারের তুলনায় কম্পাইলার সুবিধাজনক— কথাটি ব্যাখ্যা কর। 
উত্তর : ইন্টারপ্রেটারের তুলনায় কম্পাইলার সুবিধাজনক। কারণ
১. কম্পাইলার প্রথমে পুরো প্রোগ্রামটি কম্পাইল করে মেশিন কোডে রূপান্তর করে। পক্ষান্তরে ইন্টারপ্রেটার পুরো প্রোগ্রাম পরীক্ষা না করে প্রোগ্রামের প্রতিটি স্টেটমেন্ট মেশিন কোডে রূপান্তর করে। 
২. কম্পাইল করার পর প্রোগ্রামগুলো অনেক দ্রুত গতিতে কাজ করে। পক্ষান্তরে ইন্টারপ্রেটারে একটি একটি করে স্টেটমেন্ট মেশিন কোডে রূপান্তরিত হয় বলে সময় বেশি লাগে। 

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

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

প্রোগ্রাম তৈরির ধাপসমূহ

প্রশ্ন ২২। অ্যালগরিদম ও ফ্লোচার্টের মধ্যে পার্থক্য লিখ। 
উত্তর : অ্যালগরিদম ও ফ্লোচার্টের মধ্যে পার্থক্য নিচে লিখা হলো : 

অ্যালগরিদম ফ্লোচার্ট 
১. সমস্যা সমাধানের জন্য যে ধাপগুলো লিখা হয়, সেই বলা হয় ধাপগুলোকে অ্যালগরিদম। ১. সমস্যা  সমাধানের  ধাপগুলোকে যে ছবির মাধ্যমে প্রকাশ করা হয়। তাকে বলা হয় ফ্লোচার্ট।
২. অ্যালগরিদম লেখার কোনো সুনির্দিষ্ট নিয়ম-কানুন নেই। ২. ফ্লোচার্ট তৈরির কিছু নিয়ম-কানুন রয়েছে । 


প্রশ্ন ২৩। প্রোগ্রাম তৈরির মূল ধাপগুলো ব্যাখ্যা কর। 
উত্তর : প্রোগ্রাম তৈরির মূল ধাপগুলো হলো : 
১. যে সমস্যাটি সমাধান করা হবে, সেটিকে সঠিকভাবে বর্ণনা করা। 
২. সমস্যার সমাধানের জন্য অ্যালগরিদম ও ফ্লোচার্ট তৈরি করা। 
৩. কোড লিখা । 
৪. প্রোগ্রাম পরীক্ষা করা ও ভুল থাকলে ডিবাগ করে প্রোগ্রাম সংশোধন করা। 
৫. প্রোগ্রাম রিলিজ করা। 

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

প্রশ্ন ২৫। ডিবাগিং একটি জটিল ও সময় সাপেক্ষ ব্যাপার। – ব্যাখ্যা কর।
উত্তর : প্রোগ্রামের যাবতীয় বাগ খুঁজে বের করে তা সমাধান করাকে ডিবাগিং বলে। প্রোগ্রামের ভুলকে বলে বাগ এবং ভুলগুলো সমাধান, করাই হলো ডিবাগিং। প্রোগ্রামের যাবতীয় বাগ খুঁজে বের করার জন্য প্রত্যেকটি লাইন খুব সূক্ষ্মভাবে বিশ্লেষণ করতে হয় যা অত্যন্ত কঠিন ও সময় সাপেক্ষ। তাই বলা হয়ে থাকে ডিবাগিং জটিল ও সময় সাপেক্ষ ব্যাপার। 

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

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

সি প্রোগ্রামিং ভাষা

প্রশ্ন ২৭। সি একটি কেস সেনসিটিভ ভাষা—বুঝিয়ে লেখ। 
উত্তর : সি ভাষায় সাধারণত সব প্রোগ্রাম ছোট হাতের অক্ষরে লেখা হয়। অর্থাৎ সি প্রোগ্রামে ছোট হাতের অক্ষর ও বড় হাতের অক্ষরের মধ্যে পার্থক্য পরিলক্ষিত হয়। এজন্য সি কে সেনসিটিভ ভাষা বলা হয়।

প্রশ্ন ২৮। ‘সি’ ভাষাকে Mid-Level ভাষা বলা হয় কেন? ব্যাখ্যা কর।
উত্তর : C কে Mid Level Language বলা হয়। কারণ এতে উচ্চ স্তরের ভাষার সুবিধার সাথে সাথে Assemble ভাষার সংযোগ ঘটানো যায়। মধ্য পর্যায়ের ভাষা হিসেবে C কে Assemble ভাষার মতো Bit, Byte, Memory ও Address নিয়ে ইচ্ছে মতো কাজ করা যায়। আবার উচ্চতর ভাষার মতো এতে বিভিন্ন ডেটা টাইপ নিয়ে কাজ করা যায়। তাছাড়া ডেটা টাইপ বিভিন্ন ধরনের হলেও C তে এগুলোকে সহজে রূপান্তর ও মিশ্রণ করা যায়। 

সি. ভাষার কম্পাইলার

প্রশ্ন ২৯। কোড ব্লকস সফটওয়্যারে একটি নতুন ট্যাবে কোড এডিটর আনার পদ্ধতিটি ব্যাখ্যা কর। 
উত্তর : প্রথমে Code: Blocks সফটওয়্যারটি চালু করে কিবোর্ডে Ctrl + Shift + N চাপতে হবে অথবা File মেনুতে New File ক্লিক করতে হবে। এর ফলে সফটওয়্যারটি একটি নতুন ট্যাবে কোড এডিটর আসবে। 

প্রশ্ন ৩০। উইন্ডোজ কম্পিউটারে ফাইলের এক্সটেনশন দেখানোর পদ্ধতিটি ব্যাখ্যা কর। 
উত্তর : উইন্ডোজ কম্পিউটারে ফাইলের এক্সটেনশন দেখানোর জন্য start মেনু থেকে My Computer (বা, উইন্ডোজ 10-এ This PC) অপশনে ক্লিক করে ওপরে View ট্যাব থেকে Options change folder and search options-এ ক্লিক করতে হবে। তাহলে Folder Options নামে একটি উইন্ডো আসবে। সেখানে view ট্যাব থেকে Hide Extensions for known file types’ অপশনটিতে টিক চিহ্ন দেওয়া থাকলে তুলে দিতে হবে। এরপর ok চাপ দিতে হবে। 

ডেটা টাইপ

প্রশ্ন ৩১। char ডেটা টাইপ ব্যাখ্যা কর। 
উত্তর : char হচ্ছে character-এর প্রথম চারটি অক্ষর। এ ধরনের ডেটা টাইপ একটি মাত্র অক্ষর ধারণ করতে পারে। এটি কম্পিউটারের মেমোরিতে সাধারণত এক বাইট (অর্থাৎ, আট বিট) জায়গা দখল করে। তাহলে এ ধরনের ডেটা টাইপে 2″ বা 256 টি পৃথক ডেটা রাখা যায়। 256 টি জিনিস কিন্তু একটি ভ্যারিয়েবলে একসঙ্গে রাখা যায়। না, একটি ভ্যারিয়েবলে একই সময়ে কেবল একটি ডেটা রাখা যায়, আর char টাইপের ডেটার ক্ষেত্রে সম্ভাব্য 256 টি মানের যেকোনো একটি রাখা যায়। 

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

প্রশ্ন ৩৩। নিচের চলকগুলো শুদ্ধ নয় কেন ব্যাখ্যা কর : abc, main, int, 2abc. 
উত্তর : ab – c চলকটি শুদ্ধ নয় কারণ চলকে underscore (-) এবং dollar sign ($) ছাড়া অন্য কোনো বিশেষ অক্ষর যেমন— @ # – ইত্যাদি ব্যবহার করা যায় না। main একটি ইউজার ডিফাইন্ড ফাংশন এবং int একটি কী-ওয়ার্ড তাই এগুলো শুদ্ধ চলক নয়। চলক লিখতে যে কোনো charater বা অক্ষর ব্যবহার করা যায়। তবে, প্রথম অক্ষর অবশ্যই character হতে হবে, সংখ্যা হতে পারবে না, তাই 2abc শুদ্ধ চলক নয়। 

প্রশ্ন ৩৪। সি-ভাষায় ‘1number’ সঠিক চলক নয় ব্যাখ্যা কর। 
উত্তর : সি ভাষায় চলকের নামে কেবল বর্ণ, অঙ্ক এবং আন্ডারস্কোর চিহ্ন () ব্যবহার করা যায়। তবে নামের প্রথম অক্ষরটি কোনো অঙ্ক হতে পারবে না। কিন্তু ‘Inumber’ চলকে প্রথম অক্ষরটি অঙ্ক ব্যবহার করা হয়েছে। তাই সি ভাষায় ‘Inumber সঠিক চলক নয়। 

প্রশ্ন ৩৫। চলকের নামে আন্ডারস্কোর ব্যবহার করা যাবে বুঝিয়ে লেখ। 
উত্তর : সি প্রোগ্রামে চলকের নাম লেখার ক্ষেত্রে কিছু নিয়ম কানুন রয়েছে। চলকের নামে বর্ণ, অঙ্ক এবং আন্ডারস্কোর চিহ্ন ()) ব্যতীত অন্য কোন চিহ্ন ব্যবহার করা যায় না। তাই চলকের নামে আন্ডারস্কোর ব্যবহার করা যাবে। 

প্রশ্ন ৩৬। ‘চলকের নামকরণের সময় কিছু নিয়ম মেনে চলতে হয়।’ ব্যাখ্যা কর।
উত্তর : কম্পাইলারের সীমাবদ্ধতার কারণে চলকের নামকরণের সময় কিছু নিয়ম মেনে চলতে হয়। যেমনঃ
১. চলকের নামে কেবল বর্ণ, অঙ্ক এবং আন্ডারস্কোর চিহ্ন ( ) ব্যবহার করতে হয়। 
২. একই ফাংশনে একই নামে একাধিক চলক ঘোষণা করা যাবে না। 
৩. চলকের নামের মাঝে কোনো ফাঁকা স্থান থাকতে পারে না। 
৪. চলকের নামের প্রথম অক্ষরটি অঙ্ক দিয়ে শুরু হতে পারে না ইত্যাদি। 

প্রশ্ন ৩৭। Integer এর পরিবর্তে কখন long integer ব্যবহার করতে হয়— বুঝিয়ে লিখ। 
উত্তর : 16 bit বা 2 byte এর উপরে যে কোনো পূর্ণসংখ্যার ক্ষেত্রে integer এর পরিবর্তে long integer ব্যবহার করতে হয়। integer শুধু 2 byte বা 16 bit এর মধ্যে যে কোনো পূর্ণসংখ্যার ক্ষেত্রে ব্যবহার করা যায়। উদাহরণ সি প্রোগ্রামে পূর্ণসংখ্যা integer এর ক্ষেত্রে ভেরিয়েবলের রেঞ্জ হচ্ছে 3276832767। এই রেঞ্জের উপরে গেলে long integer ব্যবহার করতে হয়। 

প্রশ্ন ৩৮। int x এবং floaty বলতে কী বোঝায়? ব্যাখ্যা কর। 
উত্তর : উদ্দীপকের int x এবং floaty যথাক্রমে ইন্টিজার ও ফ্লোটিং ডেটা টাইপ। কোনো ডেটার মান যদি – 32768 থেকে 32767 এর মধ্যে হয় তবে তাকে ইন্টিজার ডেটা টাইপ বলে। মেমোরিতে integer ডেটা লিখার জন্য 2 byte জায়গা নেয়। ফ্লোটিং ডেটা টাইপ অনেক সময় Double Floating ডেটা টাইপ আকারে ব্যবহার হয়ে থাকে। মেমোরিতে Floating টাইপ ডেটা লিখতে 4 byte জায়গা নেয়। 

প্রশ্ন ৩৯। লোকাল এবং গ্লোবাল ভেরিয়েবলের মধ্যে পার্থক্য লিখ। 


উত্তর : লোকাল ভেরিয়েবল ও গ্লোবাল ভেরিয়েবলের মধ্যে পার্থক্য : লোকাল ভেরিয়েবল গ্লোবাল ভেরিয়েবল 

১. 

লোকাল ভেরিয়েবলে যে ১. 

ফাংশনে ঘোষণা করা হয় তা শুধু ঐ ফাংশনেই কাজ করে। ২. কোন ফাংশনের ভিতরে এটি ঘোষণা করা হয়। 

৩. ফাংশন কল করার সময় এটি মান ধরে রাখতে পারে না। 

২. 

গ্লোবাল ভেরিয়েবল প্রোগ্রামের সর্বত্র কার্যকর থাকে। 

যেকোনো ফাংশনের বাইরে এটি ঘোষণা করা হয়। 

ফাংশন কল করার সময় 

এটি মান ধরে রাখতে পারে। 

প্রশ্ন ৪০। ৬৫৫৩৬ ডেটা সি ভাষায় কোন ধরনের ডেটা টাইপ ব্যাখ্যা কর? 
উত্তর : ৬৫৫৩৬ ডেটা সি ভাষায় Unsigned int ডেটা টাইপ। চিহ্নবিহীন বা Unsigned int টাইপ ডেটা রাখার জন্য দুই বাইটের সবগুলো ডেটা বিট হিসেবে ব্যবহৃত হয়। সুতরাং Unsigned int টাইপ ভেরিয়েবল এ ডেটার জন্য ১৬টি ডেটা বিটের সবগুলো হলে তার মান হয়। আবার ১৬ টি ডেটা বিটের সবগুলো ১ হলে তার মান হয় ২৬ ১ = ৬৫৫৩৬ – ১ অর্থাৎ ৬৫৫৩৫, সুতরাং Unsigned int টাইপ ভেরিয়েবলের মান হিসেবে ০ থেকে ৬৫৫৩৫ এর মধ্যবর্তী যেকোনো পূর্ণ সংখ্যা ব্যবহার করা যায়। 

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

কি-ওয়ার্ড

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

ইনপুট আউটপুট স্টেটমেন্ট এবং কনডিশনাল স্টেটমেন্ট

প্রশ্ন ৪২। scanf(“%f”, &a); স্টেটমেন্টটি ব্যাখ্যা কর।
উত্তর : scanf(“%f”, &a); স্টেটমেন্টটি ইনপুটের মান গ্রহণের জন্য ব্যবহৃত হয়। প্রোগ্রামটি রান করালে Key board থেকে ইনপুটের মান গ্রহণ করে। এখানে, “% হলো float ডেটা টাইপের format specification, &a হলো Address of a যা float টাইপের a ভেরিয়েবলের মেমোরি লোকেশন। যেখানে ডেটা সংরক্ষিত হবে।

প্রশ্ন ৪৩! scanf(“%f%d”, &a, &b); স্টেটমেন্টটি ব্যাখ্যা কর। 
উত্তর : Scanf (“% f%d”, &a, &b); সেটটি ইনপুটের মান গ্রহণের জন্য ব্যবহারিত হয়। প্রোগ্রামটির রান করালে Key Board থেকে ইনপুটের মান গ্রহণ করে। “%f” হলো float ডেটা টাইপের format specification, & a হলো Address of a যা float টাইপের ভেরিয়েবলের মেমোরি লোকেশন । “%d” হলো Integer ডেটা টাইপের format specification, &b হলো address of b যা Integer টাইপের b ভেরিয়েবলের মেমোরি লোকেশন। যেখানে ডেটা সংরক্ষিত হয়। 

রিলেশনাল অপারেটর

প্রশ্ন ৪৪। ‘>=’ অপারেটরটি ব্যাখ্যা কর। 
উত্তর : দুটি সংখ্যার মধ্যে বামপক্ষ ডানপক্ষের চেয়ে বড় অথবা সমান কি-না সেটি পরীক্ষা করার জন্য ব্যবহৃত অপারেটরটি হলো ‘>= অপারেটর। এ অপারেটরের ক্ষেত্রে বামপক্ষ যদি বড়ো হয় অথবা ডানপক্ষের সমান হয় তাহলে ফলাফল সত্য, আর তা না হলে ফলাফল মিথ্যা। 

প্রশ্ন ৪৫। ‘<=’ অপারেটরটি ব্যাখ্যা কর। 
উত্তর : দুটি সংখ্যার মধ্যে বামপক্ষ ডানপক্ষের চেয়ে ছোট অথবা সমান কি-না সেটি পরীক্ষা করার জন্য ব্যবহৃত অপারেটরটি হলো ‘<=’ অপারেটর। এ অপারেটরের ক্ষেত্রে বামপক্ষ যদি ছোট হয়, অথবা ডানপক্ষের সমান হয় তাহলে ফলাফল সত্য, আর তা না হলে ফলাফল মিথ্যা। 

লজিক্যাল অপারেটর

প্রশ্ন ৪৬। অ্যান্ড (&&) অপারেটরের ক্ষেত্রে কখন পুরো শর্তটি মিথ্যা হয়? ব্যাখ্যা কর। 
উত্তর : অ্যান্ড (&&) অপারেটরের ক্ষেত্রে বামপক্ষে একটি শর্ত ও ডানপক্ষে একটি শর্ত থাকে। যদি দুটি শর্তই সত্য হয়, তাহলে পুরো এক্সপ্রেশনটি সত্য হবে। যেকোনো একটি বা দুটি শর্তই যদি মিথ্যা হয় তাহলে পুরো শর্তটি মিথ্যা হবে। 

প্রশ্ন ৪৭। অর (II) অপারেটরে কখন শর্ত সত্য ও মিথ্যা হয়— ব্যাখ্যা কর।
উত্তর : অর (II) অপারেটরের ক্ষেত্রে বামপক্ষে একটি শর্ত ও ডানপক্ষে একটি শর্ত থাকে। যদি দুটি শর্তের কমপক্ষে একটি শর্ত সত্য হয় তাহলে II অপারেটর সহ পুরো শর্তটি সত্য হবে। দুটি শর্তই যদি মিথ্যা হয় তাহলে পুরো শর্তটি মিথ্যা হবে। 

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

লুপ স্টেটমেন্ট

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

প্রশ্ন ৪৯ | Variable ++ এবং ++ variable এক নয় ব্যাখ্যা কর। 
উত্তর : সি প্রোগ্রামে Variable++ এবং ++Variable এক নয়। কারণ পোস্টফিক্স বা Variable ++ এর ক্ষেত্রে কম্পাইলার প্রথমে প্রোগ্রামে ভেরিয়েবলের পুরাতন মান ব্যবহার করে। অতঃপর ভেরিয়েবলের মানের সাথে যথাক্রমে এক যোগ বা বিয়োগ করে। এ নতুন মান পরবর্তী ধাপে কার্যকর হয়। কিন্তু প্রিফিক্স বা ++Variable এর ক্ষেত্রে কম্পাইলার প্রথমে ভেরিয়েবলের প্রারম্ভিক মানের সাথে যথাক্রমে এক যোগ বা বিয়োগ করে। অতএব প্রোগ্রামের একই স্টেটমেন্ট এ বর্ধিত মান ব্যবহার করে। 

প্রশ্ন ৫০। ইনক্রিমেন্টাল অপারেটর ব্যাখ্যা কর। 
উত্তর : প্রোগ্রামে কখনও কখনও ভেরিয়েবলের মান একটা নির্দিষ্ট ইনক্রিমেন্ট বাড়াতে হয়। ভেরিয়েবলের মানকে বর্ধিত (Increment) করার জন্যই মূলত ইনক্রিমেন্ট অপারেটর ব্যবহৃত হয়ে থাকে। এই ০ বর্ধিতকরণ 1 থেকে শুরু করে যে কোনো মান হতে পারে। যেমন : x = x + 1; x = x + 2, x = x + 3 ইত্যাদি। ইনক্রিমেন্টের মান 1 করে বর্ধিত করার জন্য সি এর স্পেশাল ইনক্রিমেন্ট অপারেটর যেমন ++ ব্যবহার করা হয়, যার সাধারণ গঠন (General Syntex) হলো : variable+ + বা ++variable । 

অ্যারে 

প্রশ্ন ৫১। int mark [5] ; এক্সপ্রেশনটি ব্যাখ্যা কর। 
উত্তর : int mark [5] ; এক্সপ্রেশনটিতে mark নামের একটি অ্যারে তৈরি করা হয়েছে। এখানে বলে দেওয়া হয়েছে যে, অ্যারেটি ইন্টিজার টাইপের অর্থাৎ অ্যারের সবগুলো উপাদান হবে ইন্টিজার এবং অ্যারেতে মোট 5টি উপাদান থাকবে। 

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

প্রশ্ন ৫৩ । int a [20] [30]; স্টেটমেন্টটি ব্যাখ্যা কর। 
উত্তর : int a [20][30] স্টেটমেন্টটি একটি দ্বিমাত্রিক অ্যারে। যে অ্যারেতে একাধিক সারি ও একাধিক কলামে ডেটা উপস্থাপন করা হয় তাকে দ্বিমাত্রিক অ্যারে বলা হয়। int a[20][30] বলতে বুঝায় int ডেটা টাইপের a নামের একটি অ্যারে 20টি রো এবং 30টি কলাম দ্বারা গঠিত, যেখানে int টাইপের 600টি ডেটা রাখা যাবে। 

প্রশ্ন ৫৪। অ্যারে প্রোগ্রামের জটিলতা কমায়- ব্যাখ্যা কর।
উত্তর : অ্যারে প্রোগ্রামের জটিলতা কমায়। কারণ
১. অ্যারেতে একই জাতীয় বা টাইপের ডেটা রাখতে হয়।
২. অ্যারের মাঝে ডেটা যুক্ত করে অনেকগুলো ডেটা সরাতে হয়। ৩. প্রকৃত ডেটার সাইজ ঘোষণা করা হয়। 

প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ║ এইচএইচএসসি আইসিটি ৫ম অধ্যায় অনুধাবনমূলক প্রশ্ন ও উত্তর ║ HSC 5th chapter question and answer

ফাংশন

প্রশ্ন ৫৫। main() ফাংশনের শেষে কেন return 0; স্টেটমেন্টটি লেখা হয়? 
উত্তর : সি ল্যাঙ্গুয়েজে লেখা সব প্রোগ্রাম রান করলে কোডের ভেতরে main() ফাংশন থেকে প্রোগ্রামটি চলা শুরু হয়। main() ফাংশন যদি এভাবে ডিক্লেয়ার করা হয় int main() তাহলে কম্পাইলার ধরে নেয় যে ফাংশনটি যখন এক্সিকিউশন শেষ হবে তখন সে একটি ইন্টিজার রিটার্ন করবে। তাই ফাংশনের শেষে কোনো একটি ইন্টিজার রিটার্ন করতে হবে। প্রচলিত নিয়মে 0 রিটার্ন করা হয়, প্রোগ্রামটি ঠিকভাবে কোনো সমস্যা ছাড়াই চলেছে সেটা বোঝার জন্য। তবে 0-ই যে রিটার্ন করতে হবে এমন কোনো কথা নেই। চাইলে যেকোনো ইন্টিজার-ই রিটার্ন করা যায়। 

প্রশ্ন ৫৬। আউটপুট ফাংশন বলতে কি বুঝায়? 
উত্তর : যে সকল স্টেটমেন্টের সাহায্যে প্রোগ্রামের ফলাফল মনিটরে প্রদর্শন করা হয় তাদেরকে আউটপুট ফাংশন বলা হয়। আউটপুট স্টেটমেন্ট বা ফাংশনগুলো হলো : printf(), puts (), putchar() | 

প্রশ্ন ৫৭। C প্রোগ্রামিং ভাষায় ফাংশনের হেডার ফাইল বলতে কী বুঝ? 
উত্তর : যে ফাইলে লাইব্রেরি ফাংশনগুলোর প্রোটোটাইপ বর্ণিত থাকে তাকে C প্রোগ্রামিং ভাষায় ফাংশনের হেডার ফাইল বলে। C ভাষায় হেডার ফাইল প্রোগ্রামের আবশ্যকীয় অংশ। এজন্য C প্রোগ্রামে সি প্রোগ্রাম কোনো লাইব্রেরি ফাংশন ব্যবহার করলে প্রোগ্রামের শুরুতেই include প্রিপ্রসেসিং ডিরেক্টিভ এর সাহায্যে সংশ্লিষ্ট হেডার ফাইল সংযুক্ত করতে হয়। 

প্রশ্ন ৫৮। #include <stdio.h> ব্যাখ্যা কর। 
উত্তর : #include <stdio.h> লিখে প্রোগ্রামে উক্ত হেডার ফাইলটি সংযুক্ত করা হয়। stdio.h হলো C প্রোগ্রামের একটি হেডার ফাইল। উক্ত ফাইলে printf() ফাংশনের বর্ণনা রয়েছে। ফলে printf ( ) ফাংশন প্রোগ্রামে ব্যবহার করলে stdio.h হেডার ফাইলটি প্রোগ্রামে অন্তর্ভুক্ত করতে হবে। 

এই প্রোগ্রামিং ভাষা অনুধাবনমূলক প্রশ্ন ও উত্তর ছাড়াও আরো পড়ুন