বিষয়সমূহ

PrepBank · বিষয়ভিত্তিক প্রশ্ন

প্রোগ্রামিং ল্যাঙ্গুয়েজ ও ব্যবহার

মোট প্রশ্ন২৪১এই পাতা১০০প্রতি পাতা১০০
ঘনত্ব
উত্তর
উত্তরিতবর্তমানপুনরায় দেখুনঅসম্পূর্ণ

প্রোগ্রামিং ল্যাঙ্গুয়েজ ও ব্যবহার

PrepBank · পাতা / · ১০০ / ২৪১

.
Which generation of language does Intellect belong to?
  1. 2GL
  2. 3GL
  3. 4GL
  4. None of the above
ব্যাখ্যা

Intellect চতুর্থ প্রজন্মের ভাষার অন্তর্ভুক্ত। 

অতি উচ্চতর বা Very High Level ভাষা
- কম্পিউটারে সহজে ব্যবহারের জন্য উদ্ভাবিত বিশেষ কয়েকটি ভাষাকে চতুর্থ প্রজন্মের ভাষা (4GL) বলা হয়।
- উচ্চতর ভাষার তুলনায় চতুর্থ প্রজন্মের ভাষা বা 4GL খুবই সহজ, যদিও 4GL-এর জন্য প্রসেসিং ক্ষমতা বেশি দরকার।
- 4GL-এর সাহায্যে সহজেই অ্যাপ্লিকেশন তৈরি করা যায় বলে একে Rapid Application Development (RAD) টুলও বলা হয়।
- ডেটাবেজ ম্যানেজমেন্টের সাথে সংশ্লিষ্ট কুয়েরি (Query) এবং রিপোর্ট জেনারেটর ও ডেটা সঞ্চালনের জন্য ব্যবহৃত ভাষাসমূহ (যেমন SQL) চতুর্থ প্রজন্মের ভাষা হিসেবে বিবেচনা করা হয়।
- এসব ভাষায় ইংরেজি ভাষার মত নির্দেশ দিয়ে কম্পিউটার ব্যবহারকারী ডেটাবেসের সাথে সংযোগ স্থাপন এবং ডেটা আদান-প্রদান করতে পারেন।
- পুঙ্খানুপুঙ্খ বা বিস্তারিতভাবে প্রক্রিয়াকরণের বর্ণনা দিতে হয় না বলে চতুর্থ প্রজন্মের ভাষাকে ননপ্রসিডিউলার ল্যাংগুয়েজও বলা হয়।
- এসব ক্ষেত্রে শুধু সরলভাবে প্রক্রিয়াকরণের ফল চাওয়া হয়।
- অধিকাংশ চতুর্থ প্রজন্মের ভাষায় কথোপকথন রীতিতে প্রশ্ন-উত্তরের মাধ্যমে কম্পিউটারের সাথে ব্যবহারকারীর যোগাযোগের ব্যবস্থা থাকে।
- SQL, NOMAD, P.PG III, FOCUS, Intellect ইত্যাদি কয়েকটি চতুর্থ প্রজন্মের ভাষা।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি (প্রকৌশলী মুজিবুর রহমান)।

.
C প্রোগ্রামিং ভাষা কে উদ্ভাবন করেছেন?
  1. Bjarne Stroustrup
  2. James Gosling
  3. Dennis Ritchie
  4. Paul Berg
ব্যাখ্যা

• Dennis Ritchie-কে সি প্রোগ্রামিং ভাষার জনক বলা হয়।

সি প্রোগ্রামিং ভাষা:
- ডেনিস রিচি (Dennis Ritchie) বেল ল্যাবরেটরিতে UNIX অপারেটিং সিস্টেম ডেভেলপ করার জন্য  প্রথম C ভাষা তৈরি করেন।
- ১৯৭০ সালে PDP-11 কম্পিউটারে প্রথম C প্রোগ্রামিং ভাষা প্রয়োগ করা হয়েছিলো।
- ১৯৭২ সালে এই ভাষার প্রথম রিলিজ হয়।
- C ভাষা একটি স্ট্রাকচার্ড প্রোগ্রামিং ভাষা।
- প্রতিটি C প্রোগ্রামিংয়ে একটি main() ফাংশন থাকে।
- বহু সুবিধার কারণে এখনও 'সি' প্রোগ্রামিং ভাষা প্রচলিত আছে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।

.
কম্পিউটার কোন ভাষাকে সরাসরি প্রক্রিয়া করতে পারে?
  1. হাই-লেভেল ভাষা
  2. সি++
  3. সিউডোকোড
  4. মেশিন ভাষা 
ব্যাখ্যা

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

 
• মেশিন ভাষা:
- কম্পিউটারে সবচেয়ে নিচের স্তরের ভাষা হলো মেশিন ভাষা।
- কম্পিউটারের নিজস্ব ভাষাকে মেশিন ভাষা বা নিম্নস্তরের ভাষা বলা হয়।
- কম্পিউটারের মৌলিক ভাষা হলো এই নিম্নস্তরের ভাষা।
- এ ভাষায় বাইনারি সংখ্যা (1) এবং (0) অথবা হেক্সাডেসিম্যাল পদ্ধতি ব্যবহার করে সবকিছু লেখা হয়।
- কম্পিউটার শুধুমাত্র মেশিন ভাষাই বুঝতে পারে।
- কম্পিউটারের অভ্যন্তরীণ কার্যনির্বাহের জন্য বিদ্যুৎ তরঙ্গের পারস্পরিক ক্রিয়া-প্রতিক্রিয়ার সাথে মেশিনের ভাষার সরাসরি মিল রয়েছে।

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

• মেশিন ভাষার অসুবিধা:
- এই ভাষায় প্রোগ্রাম লেখা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ।
- এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য ধরনের মেশিনে ব্যবহার করা যায় না।
- মেশিন ভাষায় প্রোগ্রাম লিখতে দক্ষ প্রোগ্রামার প্রয়োজন।
- প্রোগ্রামের ভুল-ত্রুটি সনাক্ত ও সংশোধন কষ্টসাধ্য।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

.
UI/UX এর পূর্ণরূপ কী?
  1. User Integration / User Xperience
  2. Unified Interaction / Universal Experience
  3. User Information / User Execution
  4. User Interface / User Experience
ব্যাখ্যা

◉ UI (User Interface) → ব্যবহারকারী এবং অ্যাপ্লিকেশন/ওয়েবসাইটের মধ্যে যোগাযোগের দৃশ্যমান অংশ।
UX (User Experience) → ব্যবহারকারী যখন সেই অ্যাপ্লিকেশন/ওয়েবসাইট ব্যবহার করেন তখন সামগ্রিক অভিজ্ঞতা।

UI (User Interface): 
- UI হলো সেই ভিজ্যুয়াল ও ইন্টার‌্যাকটিভ এলিমেন্ট যা ব্যবহারকারীকে সিস্টেম, অ্যাপ, বা ওয়েবসাইটের সাথে যোগাযোগ করতে সাহায্য করে। 
- এটি মূলত “দেখতে কেমন” এবং “কীভাবে ব্যবহারকারী ক্লিক বা ট্যাপ করবে” সেই বিষয়ের সাথে সম্পর্কিত।
- ব্যবহারকারী যেন সহজে এবং স্বচ্ছন্দে সিস্টেমটি দেখতে ও ব্যবহার করতে পারে, সেই জন্য দৃষ্টিনন্দন ও লজিক্যাল ডিজাইন তৈরি করা।

UX (User Experience):
- UX হলো ব্যবহারকারীর সামগ্রিক অভিজ্ঞতা যখন তারা কোনো সিস্টেম, অ্যাপ বা ওয়েবসাইট ব্যবহার করে। 
- এটি শুধু দেখতে সুন্দর হওয়া নয়, বরং ব্যবহারকারীর সুবিধা, সন্তুষ্টি ও অনুভূতি নিয়েও কাজ করে।
- ব্যবহারকারী যেন দ্রুত, ঝামেলাহীন এবং আনন্দদায়কভাবে কাঙ্ক্ষিত কাজটি সম্পন্ন করতে পারে।

উৎস: GeeksforGeeks ওয়েবসাইট। 

.
কম্পিউটারের সফটওয়্যার বলতে বুঝানো হয়-
  1. এর প্রোগ্রাম বা কর্ম পরিকল্পনার কৌশল
  2. তথ্য দেয়া ও তথ্য নেয়ার অংশ বিশেষ
  3. যেসব অংশ মুদ্রায়িত অবস্থায় থাকে
  4. কম্পিউটার তৈরির নকশা
ব্যাখ্যা
- কম্পিউটার সফটওয়্যার বলতে বোঝানো হয় কম্পিউটারের প্রোগ্রাম বা কর্ম পরিকল্পনার কৌশল। 

কম্পিউটার সফটওয়্যার: 
- সাধারণত সফটওয়্যার বলতে কম্পিউটারের প্রোগ্রামসমূহের সমষ্টিকে বোঝানো হয়।
অর্থাৎ, সফটওয়্যার হলো কতকগুলো প্রোগ্রাম বা প্রোগ্রামের সমষ্টি, যা হার্ডওয়্যারকে কর্মক্ষম করে প্রক্রিয়াকরণের মাধ্যমে ব্যবহারকারীর কাঙ্ক্ষিত ফলাফল প্রদান করে। 
- সফটওয়্যারের মাধ্যমে কম্পিউটারের হার্ডওয়্যারকে কার্যোপযোগী করা হয়। 
উদাহরণ: DOS, Windows, MS Office, Adobe Photoshop, Video Player ইত্যাদি। 

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রোগাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
.
কম্পিউটার সফটওয়্যার কত ধরণের হয়ে থাকে?
  1. ক) ০২
  2. খ) ০৩
  3. গ) ০৪
  4. ঘ) ০৬
ব্যাখ্যা
কম্পিউটার সফটওয়্যার দুই ধরণের। 
১। সিস্টেম সফটওয়্যার
২। অ্যাপ্লিকেশন সফটওয়্যার 

সিস্টেম সফটওয়্যার হলো কম্পিউটারের এমন একটি মূল প্রোগ্রাম যার মাধ্যমে computer hardware এবং ব্যবহারকারী (user) এর মধ্যে একটি ইন্টারফেস (interface) গঠন করা হয়। 
.
নিচের কোনটি এমন একটি ভুল বর্ণনা করে, যেখানে প্রোগ্রামটি চলে কিন্তু সামান্য ভ্রমের কারণে সঠিক আউটপুট দেয় না (যেমন, A > B লেখার পরিবর্তে A < B লেখা)?
  1. Segmentation Fault
  2. Type Error
  3. Syntax Error
  4. Logical Error
ব্যাখ্যা
• ডাটা ভুল (Data Error):
- কম্পিউটারে ভুল ডাটা দিলে তাকে ডাটা ভুল বলে।
- ডাটা ভুল কম্পিউটার বুঝতে পারে না। যেমন: 82 এর স্থলে 28 লেখা। এ ধরনের ভুলে কম্পিউটার ভুলের বার্তা প্রদর্শন করে না।

• সিনট্যাক্স ভুল (Syntax Error):
- সিনট্যাক্স ভুল বলতে বোঝায় প্রোগ্রামিং ভাষার ব্যাকরণগত ভুল।
- যেমন: বানান ভুল (PRINT কে PRIMT লেখা ইত্যাদি); সেমিকোলন না দেওয়া, ব্রাকেট ঠিকমত না দেওয়া; কোন চলক ঘোষণা না করা প্রভৃতি।
- এসব ভুল সংশোধন করা খুবই সহজ কারণ সিনট্যাক্স ভুলের ক্ষেত্রে কম্পিউটার একটি ভুলের বার্তা ছাপায় যেমন 12 নম্বর লাইনে ভুল আছে।

• লজিক্যাল ভুল (Logical Error):
- প্রোগ্রামে যুক্তির ভুল থাকলে তাকে বলে লজিক ভুল ।
- সাধারণত সমস্যা ঠিকমত না বোঝার জন্যই এই ভুল হয়। যেমন A < B এর স্থলে A > B বা X = A + B এর স্থানে X = A - B লিখলে লজিক ভুল হয় ।
- সিনট্যাক্স ভুলের ক্ষেত্রে গণনা সম্ভব না হওয়ায় কোন উত্তর পাওয়া যায় না কিন্তু লজিক ভুলের ক্ষেত্রে একটি উত্তর পাওয়া যায় যদিও তা ভুল।
- কম্পিউটার কোন ভুলের বার্তা পাঠায় না বলে লজিক ভুল সংশোধন করা খুব কঠিন।

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

খ) Type Error:
- এটি তখন ঘটে যখন আপনি একটি অপারেশন করার চেষ্টা করেন যেটি উপযুক্ত ডেটা টাইপের জন্য সঠিক নয়।
- উদাহরণস্বরূপ, আপনি যদি একটি স্ট্রিং এবং একটি ইনটিজার যোগ করার চেষ্টা করেন, তবে এটি একটি টাইপ ত্রুটি তৈরি করবে।
- এই ধরনের ত্রুটি সাধারণত প্রোগ্রামের কম্পাইল বা রানটাইমে ধরা পড়ে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
.
Back up প্রোগ্রাম বলতে কী বোঝানো হয় ?
  1. নির্ধারিত ফাইল কপি করা
  2. আগের প্রোগ্রামে ফিরে যাওয়া
  3. সবশেষ পরিবর্তন Undo করা
  4. কোনোটিই নয়
ব্যাখ্যা
- Back up প্রোগ্রাম হলো এমন একটি প্রোগ্রাম যার সাহায্যে কম্পিউটারের ফাইল, ফোল্ডার বা অন্য কোন প্রোগ্রাম কপি করে সংরক্ষণ করা যায়। 

অন্যদিকে, 
- স্প্রেডসিট বলতে লোটাস ১-২-৩ এবং এক্সেল প্রোগ্রামকে বুঝায়। 
- স্প্রেডসিট প্রোগ্রামের মধ্যে অন্যতম এক্সেল প্রোগ্রাম। 
- এক্সেল স্প্রেডশিট প্রোগ্রাম হচ্ছে চিত্রভিত্তিক (Graphical User Interface)। 
- পক্ষান্তরে লোটাস হচ্ছে বর্ণভিত্তিক পদ্ধতিতে (Text based)। 
অর্থাৎ লোটাসের কমান্ড দিতে হয় কী-বোর্ডের সাহায্যে এবং এক্সেল-এর কমান্ড দিতে হয় মাউস পয়েন্টারের সাহায্যে মেনু চালিত পদ্ধতিতে। 
- লোটাস কমান্ড মেনুর সাহায্যে করা যায় তবে সময় বেশি লাগে। 
- এক্সেল ও লোটাস উভয় প্রোগ্রামেই যে কোন তথ্য পরিবর্তন, সংশোধন, সংযোজন করা যায়। 

উৎস: কম্পিউটার শিক্ষা, এসএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয় এবং ব্রিটানিকা। 
.
কোন পাইথন ফ্রেমওয়ার্ক ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য সবচেয়ে বেশি ব্যবহৃত হয়?
  1. PyQt
  2. Django
  3. NumPy
  4. Kivy
ব্যাখ্যা

• ওয়েব অ্যাপ্লিকেশন তৈরি করার ক্ষেত্রে পাইথনের সবচেয়ে জনপ্রিয় ফ্রেমওয়ার্ক হলো Django। এটি একটি উচ্চ-স্তরের ওয়েব ফ্রেমওয়ার্ক যা দ্রুত এবং নিরাপদভাবে ওয়েবসাইট ও ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। Django “batteries included” নীতি অনুসরণ করে, যার মানে এটি ডাটাবেস ম্যানেজমেন্ট, ইউজার অথেন্টিকেশন, টেমপ্লেট ইঞ্জিন, এবং অ্যাডমিন ইন্টারফেসসহ অনেক গুরুত্বপূর্ণ ফিচার দিয়ে আসে। PyQt এবং Kivy মূলত ডেস্কটপ বা মোবাইল অ্যাপ তৈরির জন্য ব্যবহৃত হয়, আর NumPy শুধুমাত্র বৈজ্ঞানিক গণনা ও ডেটা প্রসেসিং লাইব্রেরি। তাই ওয়েব ডেভেলপমেন্টে Django সবচেয়ে বেশি ব্যবহৃত।
 
• পাইথন:
- পাইথন একটি জনপ্রিয় হাই-লেভেল, অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
- এটি ডাইনামিক ওয়েব অ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস, মেশিন লার্নিং, এবং বিভিন্ন ধরনের সফটওয়্যার তৈরি করতে ব্যবহৃত হয়।
- ১৯৮৯ সালে নেদারল্যান্ডের বিজ্ঞানী গিডো ভ্যান রসাম (Guido van Rossum) এই ভাষাটি তৈরি করেন।
- পাইথনের কোর সিনট্যাক্স খুবই সহজ ও সংক্ষিপ্ত, তবে এর সমৃদ্ধ স্ট্যান্ডার্ড লাইব্রেরি রয়েছে যা প্রোগ্রামিংকে আরও সহজ করে তোলে।
- দ্রুত সফটওয়্যার উন্নয়নের জন্য পাইথন বিশেষভাবে জনপ্রিয়।
- গুগল, নাসা, ফেসবুক, ইন্সটাগ্রামসহ বিশ্বখ্যাত প্রতিষ্ঠানগুলো পাইথন ব্যবহার করে।
- ২০১৮ সালে এটি IEEE-এর সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে।
- পাইথন বিভিন্ন প্ল্যাটফর্মে সমানভাবে কার্যকর, যেমন ক্লাউড-ভিত্তিক ওয়েব অ্যাপ্লিকেশন, ডেটা সায়েন্স, অটোমেশন, এবং আর্টিফিশিয়াল ইন্টেলিজেন্স (AI)।

• ডেটা টাইপ:
- int (ইন্টিজার): পূর্ণসংখ্যা বোঝায়, যেমন 5। এটি কোনো দশমিক বা ভগ্নাংশ ছাড়া সংখ্যা ধারণ করে।
- float (ফ্লোট): দশমিক সংখ্যা বোঝায়, যেমন 5.0।
- str (স্ট্রিং): টেক্সট বা অক্ষরের মান ধারণ করে, যেমন '5' বা "Hello"।
- bool (বুলিয়ান): সত্য (True) বা মিথ্যা (False) মান প্রকাশ করতে ব্যবহৃত হয়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান।

১০.
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ নয় কোনটি?
  1. Python
  2. Java
  3. BASIC
  4. C++
ব্যাখ্যা
• BASIC অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়।

• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডাটা ও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়। একে বলা হয় অবজেক্ট।
- মেসেজে আদান-প্রদানের মাধ্যমে অবজেক্টগুলো পরস্পরের সাথে যোগাযোগ রক্ষা করে।
- এই প্রোগ্রামিং পদ্ধতিতে প্রোগ্রামের ইনস্ট্রাকশনগুলো ডাটা দ্বারা নিয়ন্ত্রিত হয়।
- C++, Java, C#, Python ইত্যাদি হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ।

• মূলত ৬টি প্রাথমিক ধারণার দ্বারা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংকে উপস্থাপন করা হয়। যেমন:
১. অবজেক্ট (Object),
২. ক্লাস (Class),
৩. মেসেজ (Message),
৪. পলিমারফিজম (Polymorphism),
৫. ইনহেরিটেন্স (Inheritance) এবং
৬. এনক্যাপসুলেশন (Encapsulation)।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়
১১.
Kotlin কী?
  1. কম্পিউটার ভাইরাস
  2. প্রোগ্রামিং ল্যাঙ্গুয়েজ
  3. ক্লাউড সার্ভিস
  4. ওয়েব সার্ভার
ব্যাখ্যা
• Kotlin:
- Kotlin হলো অ্যান্ড্রয়েড অ্যাপস তৈরির জনপ্রিয় ও ওপেন সোর্স প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- রাশিয়ার দ্বীপের নামে এই ভাষাটির নামকরণ করা হয়।
- ২০১৬ সালে চেক সফটওয়্যার প্রতিষ্ঠান জেটব্রেইন এই প্রোগ্রামিং ভাষাটির প্রবর্ত্ন করে।
- এটি জাভা ভার্চুয়াল মেশিন (JVM) এ চলতে পারে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এসএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১২.
C++, Java, Python কোন ধরণের প্রোগ্রামিং মডেল অনুসরণ করে?
  1. ভিজুয়াল প্রোগ্রামিং
  2. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
  3. ইভেন্ট ড্রাইভেন প্রোগ্রামিং
  4. স্ট্রাকচার্ড প্রোগ্রামিং
ব্যাখ্যা
• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডেটাও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়, একে বলা হয় অবজেক্ট।
- এই প্রোগ্রামিং পদ্ধতিতে প্রোগ্রামের ইনস্ট্রাকশনগুলো ডাটা দ্বারা নিয়ন্ত্রিত হয়।
- C++, Java, C#, Python ইত্যাদি হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ।
- মূলত ৬টি প্রাথমিক ধারণার দ্বারা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংকে উপস্থাপন করা হয়। যেমন:

১. অবজেক্ট (Object),
২. ক্লাস (Class),
৩. মেসেজ (Message),
৪. পলিমারফিজম (Polymorphism),
৫. ইনহেরিটেন্স (Inheritance) এবং
৬. এনক্যাপসুলেশন (Encapsulation)।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৩.
CSS এর পূর্ণরূপ হচ্ছে -
  1. Compound Style Sheets
  2. Collaborative Style Sheets
  3. Computed Style Sheets
  4. Cascading Style Sheets
ব্যাখ্যা
CSS:
- CSS এর পূর্ণরূপ হলো Cascading Style Sheets.
- CSS, HTML এর ডকুমেন্টের স্টাইল বর্ণনা করে।
- কীভাবে HTML উপাদানগুলি স্ক্রিন, বা অন্য মিডিয়ায় প্রদর্শিত হবে তা CSS দ্বারা নির্ধারণ করা যায়।

HTML:
- HTMLএর পূর্ণরূপ হচ্ছে Hypertext Markup Language.
- HTML ওয়েবসাইট এবং ওয়েবপেজ তৈরি করার জন্য ব্যবহার হয়।
- এর মাধ্যমে আমরা টেক্সট, ইমেজ, ভিডিও, অডিও ইত্যাদি কনটেন্ট সুন্দরভাবে বিন্যাস করতে পারি।

সূত্র: ব্রিটানিকা।
১৪.
HTML-এর মূল ব্যবহার কী?
  1. ওয়েব পেজের গঠন ও কনটেন্ট তৈরি করা
  2. ওয়েব পেজের স্টাইল তৈরি করা
  3. ওয়েব অ্যাপ্লিকেশন প্রোগ্রামিং করা
  4. ডাটাবেসে তথ্য সংরক্ষণ করা
ব্যাখ্যা

• HTML-এর মূল ব্যবহার ওয়েব পেজের গঠন ও কনটেন্ট তৈরি করা। এটি একটি মার্কআপ ল্যাঙ্গুয়েজ যা ওয়েব ব্রাউজারকে নির্দেশ দেয় কোন উপাদান কীভাবে প্রদর্শন করতে হবে। HTML দিয়ে আমরা প্যারাগ্রাফ, হেডিং, তালিকা, ছবি, লিঙ্ক ইত্যাদি উপাদান তৈরি করতে পারি। এটি ওয়েব ডিজাইনের ভিত্তি হিসেবে কাজ করে এবং শুধুমাত্র কনটেন্টের কাঠামো নির্ধারণ করে; স্টাইলিং বা ফাংশনালিটি যোগ করতে CSS এবং JavaScript ব্যবহার করা হয়। তাই HTML-এর মূল উদ্দেশ্য হলো ওয়েব পেজে তথ্য এবং উপাদানগুলোর সঠিক কাঠামো গঠন করা, যা ব্যবহারকারীরা সহজে দেখতে এবং পড়তে পারে। সুতরাং সঠিক উত্তর হলো (ক) ওয়েব পেজের গঠন ও কনটেন্ট তৈরি করা।

• HTML:
- ‘HTML’ এর পূর্ণরূপ HyperText Markup Language.
- HTML (HyperText Markup Language) হলো একটি সহজ ডাটা ফরম্যাট, যা প্ল্যাটফর্ম-নিরপেক্ষ হাইপারটেক্সট ডকুমেন্ট তৈরি করতে ব্যবহৃত হয়।
- এটি SGML ভিত্তিক একটি মার্কআপ ভাষা, যা বিভিন্ন তথ্য উপস্থাপনের জন্য উপযুক্ত।
- HTML ওয়ার্ল্ড ওয়াইড ওয়েবে (WWW) ১৯৯০ সাল থেকে ব্যবহৃত হচ্ছে।
- HTML প্ল্যাটফর্ম-নিরপেক্ষ ওয়েবপেজ তৈরির জন্য আদর্শ ভাষা।
- HTML ওয়েবসাইট তৈরি ও তথ্য উপস্থাপনার অন্যতম প্রধান ভাষা, যা আজও ক্রমাগত উন্নত হচ্ছে।

উৎস: w3.org

১৫.
কৃত্রিম বুদ্ধিমত্তায় প্রধানত কোন প্রোগ্রামিং ভাষাটি ব্যবহৃত হয়?
  1. Prolog
  2. JAVA
  3. J2EE
  4. C
ব্যাখ্যা
• Prolog programming language is used for Artificial Intelligence.
• আর্টিফিশিয়াল ইন্টেলিজেন্স (Artificial Intelligence): কৃত্রিম বুদ্ধিমত্তা হলো মানুষের চিন্তাভাবনা গুলোকে কৃত্রিম উপায়ে কম্পিউটার বা কম্পিউটার প্রযুক্তিনির্ভর যন্ত্রের মধ্যে রূপ দেয়ার ব্যবস্থা। 
- আর্টিফিশিয়াল ইন্টেলিজেন্সে ব্যবহৃত প্রোগ্রামিং ভাষা: LISP, PROLOG, CLISP, MATLAB, Python, SHRDLU ইত্যাদি।
- কৃত্রিম বুদ্ধিমত্তার বাস্তব প্রোয়োগ হলো রোবট।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি (মাহবুবুর রহমান), একাদশ-দ্বাদশ শ্রেণি।
১৬.
উচ্চস্তরের ভাষার প্রধান সুবিধা কোনটি?
  1. শুধু ০ ও ১ ব্যবহার করা হয়
  2. মানুষের জন্য সহজে বোঝা যায়
  3. অনুবাদক প্রয়োজন হয় না
  4. কম্পিউটার সরাসরি বুঝতে পারে
ব্যাখ্যা

• উচ্চস্তরের ভাষার প্রধান সুবিধা হলো এটি মানুষের জন্য সহজে বোঝা যায়।

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

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

• উচ্চস্তরের ভাষার উদাহরণ:
- Java,
- C,
- C++,
- Python,
- FORTRAN।

• অন্যান্য অপশন:
- শুধু ০ ও ১ ব্যবহার করা হয় → এটি মেশিন ভাষার বৈশিষ্ট্য।
- অনুবাদক প্রয়োজন হয় না → উচ্চস্তরের ভাষা বুঝতে কম্পিউটারের জন্য অনুবাদক প্রোগ্রাম প্রয়োজন হয়।
- কম্পিউটার সরাসরি বুঝতে পারে → কম্পিউটার সরাসরি মেশিন ভাষা বুঝতে পারে।

উৎস:
- তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়,
- Encyclopaedia Britannica,
- Computer & ICT CLOUD, Live Publications.

১৭.
Which of the following is not a programming language?
  1. C
  2. Java
  3. SQL
  4. HTML
ব্যাখ্যা
• HTML:
- HTML এর পূর্ণরূপ Hyper Text Markup Language.
- HTML হলো ওয়েবপেজ তৈরির জন্য বহুল ব্যবহৃত একটি মার্কাআপ ল্যাঙ্গুয়েজ (Mark-up Language).
- ১৯৯০ সালে টিম বার্নাস লি HTML এর প্রাথমিক রূপ প্রদান করে।

প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা-
1. Machine Language,
2. Assembly Language,
3. High Level Language,
4. Very High-Level Language and
5. Natural Language.

• জাভা (Java):
- জাভা (Java) একটি হাই লেভেল প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- ১৯৯১ সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের সূচনা করে।
- ১৯৯৫ সালে জেমস গসলিং জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবন করে।

• C:
- সি এর জনক হলেন Dennis Ritchie.
- তিনি সর্বপ্রথম Unix অপারেটিং সিস্টেমে DEC PDP-11 মেশিনে ‘সি’ প্রয়োগ করেন।
- সি এসেছে BCPL নামের একটি কম্পিউটার ভাষা থেকে, যা থেকে ‘বি’ নামে অপর একটি ভাষার উদ্ভব ঘটে এবং বি এর পরের উন্নয়ন হলো সি ভাষার উদ্ভবের মধ্য দিয়ে।

• SQL:
- SQL একটি Very High Level প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- SQL (Structured Query Language) কে ডিক্লারেটিভ প্রোগ্রামিং ল্যাঙ্গুয়েজও বলা হয়।
- ডাটাবেজের এক বা একাধিক টেবিলের মধ্যে কোনো নির্দিষ্ট ডেটা খুঁজে বের করা, প্রদর্শন করা, প্রিন্ট করা, শর্ত সাপেক্ষে যেকোনো কাজ করার জন্য SQL এর DDL, DML ইত্যাদি ল্যাঙ্গুয়েজ ব্যবহার করা হয়।
- ১৯৭৪ সালে আইবিএম স্যান জুস গবেষণা কেন্দ্রে SQL উদ্ভাবন করা হয়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান, প্রকৌশলী মুজিবুর রহমান।
১৮.
Which of the following is considered a high-level, interpreted programming language widely used in AI and Data Science?
  1. Python
  2. C
  3. Assembly Language
  4. Fortran
ব্যাখ্যা

• Python হলো একটি হাই-লেভেল এবং ইন্টারপ্রেটেড প্রোগ্রামিং ল্যাঙ্গুয়েজ। এর সিনট্যাক্স বা কোড লেখার নিয়ম ইংরেজি ভাষার মতো সহজ হওয়ায় এটি মানুষের জন্য বুঝতে এবং শিখতে খুব সহজ। বহুমুখী ব্যবহার এবং এর লাইব্রেরিগুলোর (যেমন: NumPy, Pandas) কারণে এটি ওয়েব ডেভেলপমেন্ট, সফটওয়্যার ডেভেলপমেন্ট এবং বিশেষ করে ডেটা সায়েন্স ও আর্টিফিশিয়াল ইন্টেলিজেন্সের ক্ষেত্রে বর্তমানে বিশ্বের সবচেয়ে জনপ্রিয় ভাষা।

• পাইথন (Python):
- পাইথন হচ্ছে প্রোগ্রামিং ভাষাসমূহের অন্যতম হাই-লেভেল অবজেক্ট ওরিয়েন্টেড ভাষা।
- ডাইনামিক ওয়েব অ্যাপ্লিকেশনসহ অনেক সফটওয়্যার বানাতে এটি ব্যবহার করা হয়।
- ১৯৮৯ সালে নেদারল্যান্ডের বিজ্ঞানী ভ্যান রোসাম (Van Rossum) এ ভাষাটি রচনা করেন।
- পাইথনের কোর সিনট্যাক্স খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ।
- অন্যান্য ল্যাঙ্গুয়েজের যতরকম ফিচার বা নতুন নতুন সাপোর্ট আসে, সবই পাইথনে খুব সহজে ব্যবহার করা যায়।
- সাধারণত দ্রুত সফটওয়্যার নির্মাণের জন্য পাইথন ব্যবহৃত হয়।
- যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে, তাদের মধ্যে গুগল ও নাসা উল্লেখযোগ্য।
- ২০১৮ সালে এটি IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে।
- এটি বিভিন্ন প্ল্যাটফর্মে চলে এবং ক্লাউডভিত্তিক ওয়েব এ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস ও মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে ব্যবহার করা হয়।

উৎস:
১। তথ্য ও যোগাযোগ প্রযুক্তি মাহবুবুর রহমান, একাদশ-দ্বাদশ শ্রেণি।
২। অ্যামাজন ওয়েবসাইট। [link]

১৯.
বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে কয় ভাগে ভাগ করা যায়?
  1. ২ ভাগে
  2. ৩ ভাগে
  3. ৪ ভাগে
  4. ৫ ভাগে
ব্যাখ্যা
• প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা-
১। প্রথম প্রজন্মের ভাষা (১৯৪৫): মেশিন ভাষা (Machine Language)
২। দ্বিতীয় প্রজন্মের ভাষা (১৯৫০): অ্যাসেম্বলি ভাষা (Assembly Language)
৩। তৃতীয় প্রজন্মের ভাষা (১৯৬০): উচ্চতর ভাষা (High Level Language)
৪। চতুর্থ প্রজন্মের ভাষা (১৯৭০): অতি উচ্চতর ভাষা (Very High Level Language)
৫। পঞ্চম প্রজন্মের ভাষা (১৯৮০): স্বাভাবিক বা ন্যাচারাল ভাষা (Natural Language)

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
২০.
Which language is used for general-purpose?
  1. C
  2. BASIC
  3. PASCAL
  4. All of the above
ব্যাখ্যা
যে ভাষা সব ধরনের কাজের জন্য ব্যবহার হয় তাকে সাধারণ কাজের ভাষা বলে। যেমন- বেসিক, সি, প্যাসকল ইত্যাদি।

• উচ্চতর ভাষা (High Level Language):
- উচ্চতর ভাষা মানুষের ভাষার (যেমন- ইংরেজি ভাষা) সাথে মিল রেখে তৈরি করা হয়েছে।
- উচ্চতর ভাষার মধ্যে উল্লেখযোগ্য কয়েকটি ভাষা হচ্ছে- BASIC, COBOL, FORTRAN, PASCAL, C++, JAVA, PROLOG ইত্যাদি।
- কম্পাইলার বা ইন্টারপ্রেটার নামক অনুবাদক প্রোগ্রাম ব্যবহার করে এ ভাষায় লিখিত প্রোগ্রাম মেশিনের ভাষায় অনুবাদ করা হয়।
- এরপর কম্পিউটার এ জাতীয় প্রোগ্রাম বুঝতে পারে।

• উচ্চস্তরের ভাষাকে দুভাগে ভাগ করা যায়:
(১) সাধারণ কাজের (General purpose) ভাষা ও
(২) বিশেষ কাজের (Special purpose) ভাষা।

- যে ভাষা সব ধরনের কাজের জন্য ব্যবহার হয় তাকে সাধারণ কাজের ভাষা বলে। যেমন- বেসিক, সি, প্যাসকল ইত্যাদি।
- যে ভাষা শুধু বিশেষ বিশেষ কাজে ব্যবহার হয় তাকে বিশেষ কাজের ভাষা বলে। যেমন- কোবল, ফোরট্রান।

• বিশেষ কাজের ভাষাকে বিভিন্ন ভাগে ভাগ করা যায়:
- বাণিজ্যিক প্রয়োগের ভাষা কোবল।
- বৈজ্ঞানিক প্রয়োগের ভাষা ফরট্রান।
- বহুপ্রয়োগের ভাষা বেসিক, ফরট্রান, এ্যাডা ইত্যাদি।

উৎস: এসএসসি প্রোগ্রাম, কম্পিউটার শিক্ষা, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২১.
কোন প্রোগ্রাম লাইন বাই লাইন ট্রান্সলেট করে এবং সাথে সাথে আউটপুট প্রদান করে?
  1. ইন্টারপ্রেটার
  2. অ্যাসেম্বলার
  3. কম্পাইলার
  4. খ ও গ
ব্যাখ্যা

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

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

তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে:
১. কম্পাইলার:
- কম্পাইলার হল এমন একটি অনুবাদক যা সোর্স প্রোগ্রামকে একসাথে সম্পূর্ণরূপে মেশিনের ভাষায় অনুবাদ করে একটি অবজেক্ট প্রোগ্রাম তৈরি করে এবং একটি এক্সিকিউশন ফাইল (.exe) তৈরি করে।

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

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান, একাদশ- দ্বাদশ শ্রেণি।
২. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

২২.
স্ট্রাকচার্ড প্রোগ্রামিং এর উদাহরণ নয় কোনটি?
  1. ALGOL
  2. Pascal
  3. Ada
  4. C#
ব্যাখ্যা
• C# হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ে ল্যাঙ্গুয়েজের উদাহরণ।

• স্ট্রাকচার্ড প্রোগ্রামিং:

- স্ট্রাকচার্ড প্রোগ্রামিংয়ে প্রোগ্রামের স্টেটমেন্টগুলো ভিন্ন ভিন্ন শ্রেণিতে বিভক্ত করে লেখা হয়।
- স্ট্রাকচার্ড প্রোগ্রামিং এ টপ-ডাউন-অ্যাপ্রোচের মাধ্যমে প্রোগ্রামকে কতকগুলো অংশ বা মডিউলে ভাগ করা হয়।
- C, Pascal, QBASIC, ALGOL, PL/I, Ada ইত্যাদি হলো স্ট্রাকচার্ড প্রোগ্রামিং এর উদাহরণ।
- স্ট্রাকচার্ড প্রোগ্রামিংয়ের গঠন তিন ধরনের হয়ে থাকে। যথা-
১. পর্যায়ক্রমিক গঠন (Sequential Structure),
২. চক্র বা লুপ (Loop) ও
৩. ডিশিসন স্টেটমেন্ট (Desicion Statement)।

• স্ট্রাকচার্ড প্রোগ্রামিংয়ের বৈশিষ্ট্য:
- এটা সহজে অনুধাবনযোগ্য।
- ডিবাগিং করা সহজ।
- সহজে রক্ষণাবেক্ষণ করা যায়।
- সহজে রচনা করা যায়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২৩.
Python কোন প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ?
  1. প্রথম প্রজন্ম
  2. দ্বিতীয় প্রজন্ম
  3. তৃতীয় প্রজন্ম
  4. চতুর্থ প্রজন্ম
ব্যাখ্যা
• বিভিন্ন প্রজন্মের ভাষা:
১) প্রথম প্রজন্মের ভাষা(১৯৪৫ - ১৯৫০)- machine Language বা, যান্ত্রিক ভাষা।
২) দ্বিতীয় প্রজন্মের ভাষা(১৯৫০ - ১৯৬০)- assembly language বা, অ্যাসেম্বলি ভাষা।
৩) তৃতীয় প্রজন্মের ভাষা(১৯৬০ - ১৯৭০)- high level language বা, উচ্চস্তরের ভাষা।
- এই প্রোগ্রাম ভাষা কম্পিউটার সংগঠনের নিয়ন্ত্রণের উর্ধ্বে, এই জন্য এসব ভাষাকে উচ্চতর ভাষা বলা হয়।
কিছু উচ্চতর ভাষার উদাহরণ হলো:
- C
- C++
- Basic
- Java
- ALGOL
- Fortran
- Python

৪) চতুর্থ প্রজন্মের ভাষা(১৯৭০ - ১৯৮০)- very high level language বা, অতি উচ্চস্তরের ভাষা। 
৫) পঞ্চম প্রজন্মের ভাষা (১৯৮০ - বর্তমান)- natural language বা, স্বাভাবিক ভাষা। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান, একাদশ- দ্বাদশ শ্রেণি।
২৪.
Which of the following is not an object-oriented programming language?
  1. C
  2. C++
  3. Python
  4. Java
ব্যাখ্যা
• C হচ্ছে স্ট্রাকচারড প্রোগ্রামিং ল্যাঙ্গুয়েজ।

• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং:

- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডাটা ও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়। একে বলা হয় অবজেক্ট।
- মেসেজে আদান-প্রদানের মাধ্যমে অবজেক্টগুলো পরস্পরের সাথে যোগাযোগ রক্ষা করে।
- এই প্রোগ্রামিং পদ্ধতিতে প্রোগ্রামের ইনস্ট্রাকশনগুলো ডাটা দ্বারা নিয়ন্ত্রিত হয়।
- C++, Java, C#, Python ইত্যাদি হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ।
- মূলত ৬টি প্রাথমিক ধারণার দ্বারা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংকে উপস্থাপন করা হয়।

যেমন:
১. অবজেক্ট (Object),
২. ক্লাস (Class),
৩. মেসেজ (Message),
৪. পলিমারফিজম (Polymorphism),
৫. ইনহেরিটেন্স (Inheritance) এবং
৬. এনক্যাপসুলেশন (Encapsulation)। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২৫.
প্রোগ্রামিং ধারণার প্রবর্তক কে?
  1. টিম বার্নাস লি
  2. অ্যাডা লাভলেস
  3. মার্ক জুকারবার্গ
  4. চার্লস ব্যাবেজ
ব্যাখ্যা
অ্যাডা লাভলেস:
- গণনার কাজটি কিভাবে আরো কার্যকর করা যায় সেটি নিয়ে ভেবেছিলেন কবি লর্ড বায়রনের কণ্যা অ্যাডা লাভলেস।
- তিনি ব্যাবেজের এনালিটিক্যাল ইঞ্জিনকে কাজে লাগানোর জন্য 'প্রোগ্রামিং' এর ধারণা দেন।
- এ কারণে অ্যাডা লাভলেসকে 'প্রোগ্রামিং' ধারণার প্রবর্তক হিসেবে সম্মানিত করা হয়।
- অ্যাডার মৃত্যুর ১০০ বছর পর ১৯৫৩ সালে সেই নোট আবারো প্রকাশিত হলে বিজ্ঞানীরা বুঝতে পারেন, অ্যাডা আসলে অ্যালগরিদম প্রোগ্রামিংয়ের ধারণাটাই প্রকাশ করেছিলেন।

তথ্যসূত্র - তথ্য ও যোগাযোগ প্রযুক্তি, এসএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২৬.
এক লাইন করে অনুবাদ করে -
  1. কম্পাইলার
  2. অ্যাসেম্বলার
  3. ইন্টারপ্রেটার
  4. সবগুলো
ব্যাখ্যা

ইন্টারপ্রেটার এক লাইন এক লাইন করে অনুবাদ করে।

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

সূত্র:
১। একাদশ-দ্বাদশ শ্রেণি তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান।
২। মৌলিক কম্পিউটার শিক্ষা (উন্মুক্ত বিশ্ববিদ্যালয়, বিবিএ প্রোগ্রাম)।

২৭.
জাভা প্রোগ্রামিং ভাষা কোন সংস্থার পরিচালনায় উদ্ভাবিত হয়?
  1. Netflix
  2. SAP
  3. Amazon
  4. Oracle
ব্যাখ্যা
• জাভা প্রোগ্রামিং ভাষাটি সান মাইক্রোসিস্টেমস সংস্থার পরিচালনায় উদ্ভাবিত হয়েছিল। ১৯৯০-এর দশকের শুরুতে জেমস গোসলিং ও তার দল সান মাইক্রোসিস্টেমস-এ কাজ করতে শুরু করে একটি নতুন প্রোগ্রামিং ভাষা তৈরি করতে, যা সহজ, নিরাপদ এবং প্ল্যাটফর্ম নিরপেক্ষ হবে। এই ভাষার নাম রাখা হয় জাভা। জাভার অন্যতম বড় বৈশিষ্ট্য হলো “Write Once, Run Anywhere” অর্থাৎ একবার কোড লিখলেই যেকোনো প্ল্যাটফর্মে চলবে। পরবর্তীতে সান মাইক্রোসিস্টেমসকে ওরাকল কর্পোরেশন ২০১০ সালে কিনে নেয়। তাই জাভা মূলত সান মাইক্রোসিস্টেমসের উদ্যোগে তৈরি হলেও বর্তমানে ওরাকল এর অধীনে রয়েছে। অতএব, সঠিক উত্তর হলো ঘ) Oracle.

• জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ হলো একটি উচ্চস্তরের অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
- ১৯৯১ সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের কাজের সূচনা করে।
- জেমস গসলিং সেই কাজের নেতৃত্ব দেন।
- ১৯৯৫ সালে তারা ভাষাটিকে রিলিজ করেন।
- ২০১০ সালে Oracle Corporation সান মাইক্রো সিস্টেম কিনে নিলে জাভা ভাষার ম্যানেজমেন্টও তাদের মালিকানায় চলে আসে।
- জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজে লেখা প্রোগ্রামগুলোর এক্সটেনশন হিসেবে সাধারণত .java ব্যবহার করা হয়।

উৎস: ব্রিটানিকা।
২৮.
কম্পিউটারের সবচেয়ে নিচের স্তরের ভাষাকে কী বলা হয়? 
  1. প্রাকৃতিক ভাষা
  2. উচ্চস্তরের ভাষা
  3. অ্যাসেম্বলি ভাষা
  4. মেশিন ভাষা
ব্যাখ্যা
মেশিন ভাষা (Machine Language): 
- কম্পিউটারে সবচেয়ে নিচের স্তরের ভাষা হলো মেশিন ভাষা। 
- কম্পিউটারের নিজস্ব ভাষাকে মেশিন ভাষা বা নিম্মস্তরের ভাষা বলা হয়। 
- কম্পিউটারের মৌলিক ভাষা হলো এই নিম্মস্তরের ভাষা। 
- এ ভাষায় বাইনারি সংখ্যা (1 এবং 0) অথবা হেক্সাডেসিম্যাল পদ্ধতি ব্যবহার করে সবকিছু লেখা হয়। 
- কম্পিউটার শুধুমাত্র মেশিন ভাষাই বুঝতে পারে। 
- অন্য কোনো ভাষায় প্রোগ্রাম রচনা করা হলে কম্পিউটার কার্যনির্বাহের আগে উপযুক্ত অনুবাদকের সাহায্যে তাকে মেশিনের ভাষায় পরিণত করে নেয়। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২৯.
কম্পাইলারের মাধ্যমে তৈরি এক্সিকিউশন ফাইলের বৈশিষ্ট্য কী? 
  1. অত্যন্ত ধীরগতিতে চলে 
  2. দ্রুততার সাথে এক্সিকিউট হয়
  3. শুধুমাত্র উৎস কোড সংরক্ষণ করে
  4. ব্যবহারকারীর অনুমতি ছাড়া চলতে পারে না 
ব্যাখ্যা

অনুবাদক প্রোগ্রাম: 
- যে প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে পরিণত করা হয়, তাকে অনুবাদক প্রোগ্রাম বলে। 
- অনুবাদক প্রোগ্রাম তিন ধরনের হয়ে থাকে। 
যথা: ১. কম্পাইলার, ২. ইন্টারপ্রেটার ও ৩. অ্যাসেম্বলার। 

কম্পাইলার: 
- কম্পাইলার হলো এমন একটি অনুবাদক যা সোর্স প্রোগ্রাম একসাথে সম্পূর্ণরূপে মেশিনের ভাষায় অনুবাদ করে একটি অবজেক্ট প্রোগ্রাম তৈরি করে এবং একটি এক্সিকিউশন ফাইল (.exe) তৈরি করে।
- এখানকার এক্সিকিউশন ফাইল অত্যন্ত দ্রুততার সাথে এক্সিকিউট হয়ে থাকে। ফলে প্রোগ্রামিং প্রক্রিয়া অত্যন্ত দ্রুততর হয় এবং প্রোগ্রামারকে নিজ হাতে কোন অনুবাদকের কাজ করতে হয় না। 
- কোন নির্দিষ্ট কম্পাইলার একটি মাত্র উচ্চতর ভাষার প্রোগ্রামকে কম্পাইল করতে পারে। 
- কম্পাইলার অনুবাদ করা ছাড়াও উৎস প্রোগ্রামের গুণাগুণও বিচার করতে পারে। 

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয় এবং কম্পিউটার ও তথ্য প্রযুক্তি-১, এসএসসি, ভোকেশনাল।

৩০.
পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়?
  1. prolog
  2. Java
  3. OPS5
  4. Mercury
ব্যাখ্যা
• পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ হলো অ্যালগরিদম ব্যবহার না করে সহজভাবে সমস্যা সমাধান করার ল্যাঙ্গুয়েজ।
- এ ভাষাকে এমনভাবে ডিজাইন করা হয়েছে, যেন পূর্বের প্রোগ্রামিং ল্যাঙ্গুয়েজের মতো জটিল কোড লিখতে পারে এমন প্রোগ্রামার ছাড়াই কম্পিউটার দিয়ে সমস্যা সমাধান করা যায়।
- ফলে প্রোগ্রামারদেরকে কিভাবে একটি রুটিন অথবা অ্যালগরিদম প্রয়োগ করতে হবে, তা চিন্তা না করে কী সমস্যা সমাধান করতে হবে, কী শর্ত পূরণ করতে হবে, তা নিয়ে ভাবলেই চলে ।
- পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ মূলত কৃত্রিম বুদ্ধিমত্তা গবেষণায় ব্যবহৃত হয়।
- Prolog, OPS5 ও Mercury হলো পঞ্চম প্রজন্মের ল্যাঙ্গুয়েজের উদাহরণ।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
৩১.
নিচের কোনটি প্রোগ্রামিং ল্যাঙ্গুয়েজ?
  1. jQuery
  2. CSS
  3. Ruby
  4. All of the above
ব্যাখ্যা
• Ruby:
- Ruby হলো একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ।

- ১৯৯০ সালে ইউকিহিরো ম্যাটসুমোটো নামক একজন জাপানি প্রোগ্রামার রুবি প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি করেন।
- 'রুবি অন রেইলস' ফ্রেমওয়ার্ক এর জন্য খুব অল্প সময়ের মধ্যে এই প্রোগ্রামিং ল্যাঙ্গুয়েজটি জনপ্রিয় হয়ে উঠে।
- রুবি ল্যাঙ্গুয়েজ এর লাইব্রেরি ব্যবহার করে বিভিন্ন রকমের ওয়েব অ্যাপ্লিকেশন তৈরি করে যায়।

• CSS এর মাধ্যমে ওয়েব পেইজের ডিজাইন করা হয়।
• jQuery হলো একটি Javascript Library.

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
৩২.
Which of these programming languages is typically executed using an interpreter?
  1. Go (Golang)
  2. Assembly Language
  3. Python
  4. C++
ব্যাখ্যা

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

অনুবাদক প্রোগ্রাম (Translator Program):
- যে প্রোগ্রামের মাধ্যমে উৎস (সোর্স) প্রোগ্রামকে বস্তু (অবজেক্ট) প্রোগ্রামে পরিণত করা হয়, তাকে অনুবাদক প্রোগ্রাম বলা হয়।
- হাই-লেভেল ল্যাঙ্গুয়েজে লিখিত প্রোগ্রামকে মেশিন ল্যাঙ্গুয়েজে রূপান্তরের জন্য অনুবাদক প্রোগ্রাম ব্যবহৃত হয়।
তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে। যথা-
১. কম্পাইলার (Compiler),
২. ইন্টারপ্রেটার (Interpreter),
৩. অ্যাসেম্বলার (Assembler)।

১। কম্পাইলার (Compiler):

- যে অনুবাদক প্রোগ্রাম হাই-লেভেল ল্যাঙ্গুয়েজে লেখা সম্পূর্ণ প্রোগ্রামটিকে একসাথে পড়ে এবং একসাথে অনুবাদ করে, তাকে কম্পাইলার বলা হয়।
- কম্পাইলার চালনার জন্য বেশি পরিমাণ মেমোরির প্রয়োজন হয়।
- কম্পাইলার যেহেতু পুরো প্রোগ্রামটি একবারে কম্পাইল করে, তাই প্রোগ্রামে কোনো ভুল থাকলে একসাথে তা জানিয়ে দেয়।
- সে কারণে ভুলগুলো শুদ্ধ করা একটু জটিল। তবে কম্পাইল করার পর প্রোগ্রামগুলো অনেক দ্রুতগতিতে কাজ করে।
- ভিন্ন ভিন্ন ল্যাঙ্গুয়েজের জন্য ভিন্ন ভিন্ন কম্পাইলার থাকে।
- যেমন- সি ল্যাঙ্গুয়েজের জন্য Turbo C/C++, Codeblocks, Dev C, Borland C++, Erlang, Haskell, Rust, Go ইত্যাদি কম্পাইলার রয়েছে।

২। ইন্টারপ্রেটার (Interpreter):
- যে অনুবাদক প্রোগ্রাম হাই-লেভেল ভাষার উৎস প্রোগ্রামকে এক লাইন এক লাইন করে মেশিন ভাষার অবজেক্ট প্রোগ্রামে অনুবাদ করে, তাকে ইন্টারপ্রেটার বলে।
- একটি লাইন নির্বাহ শেষ হলে ইন্টারপ্রেটার একইভাবে সোর্স প্রোগ্রামের পরবর্তী লাইনে গিয়ে মেশিন ভাষায় অনুবাদ করে তা নির্বাহ করে।
- ইন্টারপ্রেটার প্রোগ্রাম নির্বাহ (রান) করার সময় প্রোগ্রামের ভুল দেখা ও সংশোধন করার সুযোগ দেয়।
- একটি একটি লাইন করে অনুবাদ করে বিধায় এতে তুলনামূলকভাবে সময় বেশি লাগে।
ইন্টারপ্রেটার ল্যাঙ্গুয়েজ দ্বারা ব্যবহৃত হয়।
- যেমন- PHP, Ruby, Python, and JavaScript.

৩। অ্যাসেম্বলার (Assembler):
- অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ল্যাঙ্গুয়েজে অনুবাদ করার জন্য ব্যবহৃত অনুবাদককে অ্যাসেম্বলার বলা হয়।
-এটি সব ডেটা ও নির্দেশ প্রধান মেমোরিতে রাখে এবং প্রোগ্রামের কোথাও কোনো ভুল থাকলে এরর মেসেজ দিয়ে জানিয়ে দেয়।
- উদাহরণ: GAS, GNU assemblers.

উৎস:
১। তথ্য ও যোগাযোগ প্রযুক্তি: একাদশ-দ্বাদশ শ্রেণি মাহবুবুর রহমান।
২। freeCodeCamp website (link).

৩৩.
স্ট্রাকচার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজ নয় কোনটি?
  1. QBASIC
  2. Java
  3. Pascal
  4. C
ব্যাখ্যা
• "Java" অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ।

• স্ট্রাকচার্ড প্রোগ্রামিং:

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

• স্ট্রাকচার্ড প্রোগ্রামিং এর উদাহরণ:
- C,
- Pascal,
- QBASIC,
- ALGOL,
- PL/I,
- Ada ইত্যাদি।

• স্ট্রাকচার্ড প্রোগ্রামিংয়ের গঠন তিন ধরনের হয়ে থাকে। যথা:
১. পর্যায়ক্রমিক গঠন (Sequential Structure),
২. চক্র বা লুপ (Loop) ও
৩. ডিশিসন স্টেটমেন্ট (Desicion Statement)।

• স্ট্রাকচার্ড প্রোগ্রামিংয়ের বৈশিষ্ট্য:
- এটা সহজে অনুধাবনযোগ্য।
- ডিবাগিং করা সহজ।
- সহজে রক্ষণাবেক্ষণ করা যায়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
৩৪.
'সি' প্রোগ্রামিং ভাষা সম্পর্কিত কোন তথ্যটি সঠিক নয়?
  1. প্রতিটি C প্রোগ্রামিংয়ে একটি main () ফাংশন থাকে
  2. C ভাষা একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা
  3. Turbo C, C ভাষার একটি সংস্করণ
  4. সিস্টেম প্রোগ্রামিং-এর ক্ষেত্রে সি ভাষা অধিক হারে ব্যবহৃত হয়
ব্যাখ্যা
• 'সি' প্রোগ্রামিং ভাষা:
- সি একটি বহুল ব্যবহৃত উচ্চ স্তরের প্রোগ্রামিং ভাষা।
- আমেরিকার বেল ল্যাবরেটরির ডেনিস রিচি ১৯৭০ সালে এ ভাষার উদ্ভাবন করেন।
- সিস্টেম প্রোগ্রামিং-এর ক্ষেত্রে সি ভাষা অধিক হারে ব্যবহৃত হয়।
- C ভাষাকে কম্পিউটার ভাষার জনক বলা হয়ে থাকে।
- এ ভাষারও অনেক সংস্করণ রয়েছে। যেমন- C, ANSI C, Visual C, Turbo C প্রভৃতি। 

• সি প্রোগ্রামিং ভাষার বৈশিষ্ট্য:
- এটি একটি উচ্চ স্তরের প্রোগ্রামিং ভাষা।
- C ভাষা একটি স্ট্রাকচার্ড প্রোগ্রামিং ভাষা।
- প্রতিটি C প্রোগ্রামিংয়ে একটি main () ফাংশন (Function) থাকে।
- প্রতিটি প্রোগ্রামিং স্টেটমেন্ট শেষ হয় সেমিকোলন দ্বারা।
- প্রতিটি চলক ব্যবহারের পূর্বেই তাদের ডাটা টাইপ উল্লেখ থাকে।
- Header ফাইলগুলো #include দ্বারা যুক্ত করা হয়।
- সি ভাষায় অনেক লাইব্রেরী ফাংশন, কন্ট্রোল স্টেটমেন্ট ইত্যাদির সুবিধা আছে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম উন্মুক্ত বিশ্ববিদ্যালয়।
৩৫.
print(2 + 3 * 4)
পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ-এ এর আউটপুট কী হবে?
  1. 20
  2. 14
  3. 24
  4. কোনোটিই নয় 
ব্যাখ্যা

• Python প্রোগ্রামিং ভাষায় গাণিতিক অপারেশনের ক্ষেত্রে operator precedence বা অপারেটরের অগ্রাধিকার অনুসরণ করা হয়। এখানে print(2 + 3 * 4) কোডে প্রথমে * (গুণ) অপারেটর কাজ করবে, কারণ গুণের অগ্রাধিকার যোগের চেয়ে বেশি। তাই প্রথমে 3 * 4 = 12 হিসাব করা হবে। এরপর সেই ফলাফলের সাথে 2 যোগ করা হবে অর্থাৎ 2 + 12 = 14। সুতরাং প্রোগ্রামের আউটপুট হবে 14। সঠিক উত্তর হলো খ) 14। এভাবে Python সবসময় PEMDAS (Parentheses, Exponent, Multiplication/Division, Addition/Subtraction) নিয়ম অনুসরণ করে।

⚪ পাইথন (Python):
- পাইথন হচ্ছে প্রোগ্রামিং ভাষাসমূহের অন্যতম হাই-লেভেল অবজেক্ট ওরিয়েন্টেড ভাষা।
- ডাইনামিক ওয়েব অ্যাপ্লিকেশনসহ অনেক সফটওয়্যার বানাতে এটি ব্যবহার করা হয়।
- ১৯৮৯ সালে নেদারল্যান্ডের বিজ্ঞানী ভ্যান রোসাম (Van Rossum) এ ভাষাটি রচনা করেন।
- পাইথনের কোর সিনট্যাক্স খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ।

- অন্যান্য ল্যাঙ্গুয়েজের যতরকম ফিচার বা নতুন নতুন সাপোর্ট আসে, সবই পাইথনে খুব সহজে ব্যবহার করা যায়।
- সাধারণত দ্রুত সফটওয়‍্যার নির্মাণের জন্য পাইথন ব্যবহৃত হয়।
- যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে, তাদের মধ্যে গুগল ও নাসা উল্লেখযোগ্য।
- ২০১৮ সালে এটি IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে।
- এটি বিভিন্ন প্ল্যাটফর্মে চলে এবং ক্লাউডভিত্তিক ওয়েব এ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস ও মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে ব্যবহার করা হয়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ শ্রেণি, মাহবুবুর রহমান।

৩৬.
কোন প্রোগ্রামিং ভাষায় লিখিত প্রোগ্রাম নির্বাহের জন্য অনুবাদক প্রোগ্রাম দরকার হয় না? 
  1. High-Level Language
  2. Mid-Level Language
  3. Assembly Language
  4. Machine Language
ব্যাখ্যা
- যে প্রোগ্রাম সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তরিত করে তাকে অনুবাদক প্রোগ্রাম বলে। 
- অনুবাদক প্রোগ্রাম অ্যাসেম্বলার, কম্পাইলার ও ইন্টারপ্রেটার এই তিন ধরনের হয়ে থাকে। 
- অ্যাসেম্বলার শুধুমাত্র অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তরিত করে। 
- অন্যদিকে কম্পাইলার ও ইন্টারপ্রেটার উচ্চস্তরের ভাষায় লিখিত প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তরিত করে। 
- মেশিন ভাষায় লিখিত প্রোগ্রামের জন্য কোনো অনুবাদকের প্রয়োজন পড়ে না। 

উৎস: কম্পিউটার ও তথ্য প্রযুক্তি-১, এসএসসি (ভোকেশনাল)।
৩৭.
অ্যালগরিদমের চিত্ররূপকে বলা হয় -
  1. বেসিক কমান্ড
  2. সুডােকোড
  3. ফ্লোচার্ট
  4. ছদ্ম-প্রােগ্রাম
ব্যাখ্যা
• প্রবাহচিত্র/ফ্লোচার্ট:
- এটি অ্যালগরিদমের চিত্ররূপ।
- এই চিত্রে প্রােগ্রামের পূর্ণাঙ্গ পরিকল্পনা দেয়া হল।
- ফ্লোচার্ট অনুসরণ করে প্রকৃত প্রােগ্রাম রচনা করা হয়।

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

• বেসিক কমান্ড:
- বেসিক প্রােগ্রাম লেখার জন্য ব্যবহৃত শব্দ, যেমন- PRINT, LET, GOTo ইত্যাদি।

• বেসিক সংরক্ষিত শব্দ:
- এসব শব্দ বেসিক চলক হিসেবে ব্যবহার করা নিষেধ। যেমন- LIST, PRINT, READ ইত্যাদি।

• অ্যালগরিদম:
- সমস্যা সমাধানের যৌক্তিক ক্রমানুসারী বর্ণনা। এই বর্ণনার ভিত্তিতে ফ্লোচার্ট অঙ্কন করা হয়।

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রােগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৩৮.
Y2K কী?
  1. একটি সফ্টওয়্যার যা কম্পিউটারে নিরাপত্তা নিশ্চিত করে
  2. একটি কম্পিউটার ভাইরাস-এর নাম
  3. একটি কোডিং সমস্যা যা ২০০০ সালের তারিখ পরিবর্তনে সমস্যা তৈরি করে
  4. কম্পিউটার-এর একটি নতুন অপারেটিং সিস্টেম
ব্যাখ্যা
• Y2K বাগ:
- Y2K বাগ ছিল একটি কম্পিউটারাইজড সিস্টেমের কোডিং সমস্যা, যা 2000 সালের শুরুতে সারা বিশ্বে কম্পিউটার এবং নেটওয়ার্কে বিপর্যয় ঘটানোর আশঙ্কা তৈরি করেছিল।
- 1990-এর দশক পর্যন্ত অনেক কম্পিউটার প্রোগ্রাম মেমরি সংরক্ষণের জন্য চার-সংখ্যার বছরের পরিবর্তে দুই অঙ্ক ব্যবহার করত।
- উদাহরণ: "1998" কে "98" এবং "2000" কে "00" হিসাবে সংরক্ষণ করা। "00" কে 1900 হিসেবে ভুল ব্যাখ্যা করার ঝুঁকি ছিল।
- ভবিষ্যতের বাজেট বা ঋণের অনুমান করতে গিয়ে 1999 সালেই ত্রুটি ঘটার শঙ্কা ছিল।
- কিছু সফ্টওয়্যার 2000 সালকে লিপ ইয়ার হিসেবে বিবেচনা করেনি।
9 সেপ্টেম্বর, 1999 (9/9/99) তারিখেও ব্যর্থতার আশঙ্কা ছিল, কারণ অনেক প্রোগ্রামে 9-এর একটি ধারাবাহিক ব্যবহার করা হতো প্রোগ্রামের সমাপ্তি নির্দেশ করতে।
প্রতিরোধমূলক ব্যবস্থা:
- 1999 সালের 31 ডিসেম্বর থেকে 2000 সালের 1 জানুয়ারির মধ্যে পরিবর্তনগুলির জন্য বিশ্বব্যাপী ব্যাপক প্রস্তুতি ও প্রোগ্রামিং সংশোধন করা হয়েছিল।
- নির্ভুল প্রস্তুতির কারণে Y2K বাগের কারণে বড় কোনো ব্যর্থতা ঘটেনি।

উৎস: ব্রিটানিকা।
৩৯.
নিচের কোনটি তৃতীয় প্রজন্মের প্রোগ্রামিং ভাষা?
  1. Machine Language
  2. Assembly Language
  3. Java
  4. Prolog
ব্যাখ্যা

• তৃতীয় প্রজন্মের প্রোগ্রামিং ভাষার উদাহরণ হলো Java, যা উচ্চস্তরের প্রোগ্রামিং ভাষার অন্তর্ভুক্ত।

• প্রোগ্রামিং ভাষার প্রজন্ম:
- প্রোগ্রামিং ভাষাকে সাধারণত বিভিন্ন প্রজন্মে ভাগ করা হয়।
- প্রতিটি প্রজন্মের ভাষা পূর্ববর্তী ভাষার তুলনায় বেশি সহজ ও উন্নত বৈশিষ্ট্যযুক্ত।

• প্রথম প্রজন্মের ভাষা (1GL):
- এটি মেশিন ভাষা।
- এতে শুধুমাত্র ০ এবং ১ ব্যবহার করে নির্দেশ লেখা হয়।
- কম্পিউটার সরাসরি এই ভাষা বুঝতে পারে।
- মানুষের জন্য এটি বোঝা অত্যন্ত কঠিন।

• দ্বিতীয় প্রজন্মের ভাষা (2GL):
- এটি অ্যাসেম্বলি ভাষা।
- এতে নেমোনিক কোড ব্যবহার করা হয়।
- উদাহরণ: ADD, SUB, MUL ইত্যাদি।
- অ্যাসেম্বলি ভাষাকে মেশিন ভাষায় রূপান্তরের জন্য অ্যাসেম্বলার ব্যবহৃত হয়।

• তৃতীয় প্রজন্মের ভাষা (3GL):
- এটি উচ্চস্তরের প্রোগ্রামিং ভাষা।
- মানুষের জন্য সহজবোধ্য ও ব্যবহারযোগ্য।
- উদাহরণ: Java, C, C++, FORTRAN ইত্যাদি।
- এই ভাষায় লেখা প্রোগ্রাম কম্পাইলার বা ইন্টারপ্রেটারের মাধ্যমে মেশিন ভাষায় রূপান্তরিত হয়।

• অন্যান্য অপশন:
- Machine Language → প্রথম প্রজন্মের প্রোগ্রামিং ভাষা।
- Assembly Language → দ্বিতীয় প্রজন্মের প্রোগ্রামিং ভাষা।
- Prolog → পঞ্চম প্রজন্মের (5GL) ভাষার উদাহরণ।

উৎস:
- তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়,
- Encyclopaedia Britannica,
- Computer & ICT CLOUD, Live Publications.

৪০.
কোনটি ডাটাবেজ ল্যাংগুয়েজ? 
  1. C
  2. C++
  3. SQL
  4. Cobol
ব্যাখ্যা
SQL: 
- SQL এর পূর্ণরূপ হলো Structured Query Language. 
- এটি একটি অনন্য শক্তিশালী ডাটা মেনিপুলেশন ও ডেফিনেশন ল্যাংগুয়েজ। 
- রিলেশনাল ডাটাবেজ এ্যাকসেস করার জন্য SQL হচ্ছে একটি হাতিয়ার। 
- অতীতে SQL কেবল মেইনফ্রেম কম্পিউটারে ব্যবহার করা হতো। বর্তমানে ডেস্কটপ কম্পিউটারেও রিলেশনাল ডাটাবেজ প্লাটফর্ম ব্যবহৃত হওয়ার ফলে SQL ব্যবহার শুরু হয়েছে। 
- এগুলো এক বা একাধিক ডাটাবেজ, টেবিল, কলাম ইনডেক্স ইত্যাদিতে প্ৰয়োগ করা যায়। 
- অধিকাংশ SQL স্টেটমেন্টই ফলাফল হিসেবে এক সেট রেকর্ড প্রদান করে। 
- ১৯৭৪ সালে IBM (International Business Machine) এর Research Center এ SQL তৈরি করা হয়। 

অন্যদিকে, 
- C, Cobol এবং C++ প্রোগ্রামিং ল্যাঙ্গুয়েজ এর উদাহরণ। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৪১.
কাকে প্রোগ্রামিং এর ধারণা প্রবর্তক হিসেবে গণনা করা হয়?
  1. চার্লস ব্যাবেজ
  2. অ্যাডা লাভলেস
  3. স্টিভ জজনিয়াক
  4. টিমোথি জন বার্নাস লি
ব্যাখ্যা

• প্রোগ্রামিং ধারণার প্রবর্তক হিসেবে সাধারণত Ada Lovelace-কে গণ্য করা হয়। তিনি ১৯ শতকের মাঝামাঝি সময়ে Charles Babbage-এর Analytical Engine-এর জন্য প্রথম অ্যালগরিদম তৈরি করেন, যা আজকের প্রোগ্রামিং-এর মূল ভিত্তি হিসেবে বিবেচিত হয়। Ada Lovelace এই যন্ত্রটি কিভাবে কাজ করবে তা বিশ্লেষণ করে দেখিয়েছিলেন এবং প্রথমবারের মতো একটি যান্ত্রিক কম্পিউটারের মাধ্যমে গণনা সম্পাদনের ধারণা দিয়েছিলেন।

অন্যদিকে,

- চার্লস ব্যাবেজ: চার্লস ব্যাবেজ (Charles Babbage) ছিলেন একজন ব্রিটিশ গণিতবিদ ও কম্পিউটিং পথিকৃৎ, যাকে "কম্পিউটারের জনক" বলা হয়। তিনি ১৮৩৭ সালে অ্যানালিটিক্যাল ইঞ্জিন ডিজাইন করেছিলেন, যা ছিল একটি যান্ত্রিক জেনারেল-পারপাস কম্পিউটার। তিনি ডিফারেন্স ইঞ্জিন ও এনালিটিক্যাল ইঞ্জিন নামের দুইটি গণনা যন্ত্র তৈরি করেন।
- স্টিভ জজনিয়াক: অ্যাপল কম্পিউটারের সহ-প্রতিষ্ঠাতা।
- টিমোথি জন বার্নাস লি: ওয়ার্ল্ড ওয়াইড ওয়েবের আবিষ্কারক।

• Ada Lovelace:
- Ada Lovelace সাধারণত প্রোগ্রামিং ধারণার প্রথম প্রবর্তক হিসেবে পরিচিত।
- তিনি আধুনিক কম্পিউটার প্রোগ্রামিং এর ভিত্তি তৈরি করেছিলেন।
- Ada Lovelace ছিল প্রথম ব্যক্তি যিনি চার্লস ব্যাবেজের 'অ্যানালিটিক্যাল ইঞ্জিন' (Analytical Engine) এর জন্য একটি আলগোরিদম ডিজাইন করেছিলেন, যা পরবর্তীকালে কম্পিউটার প্রোগ্রামিং এর সূচনা হিসাবে গণ্য হয়।
- তাঁর ডিজাইন করা এই অ্যালগরিদমকে প্রথম প্রোগ্রাম হিসেবে গণ্য করা হয়।
- তিনি আধুনিক গণনা এবং কম্পিউটিং এর ধারণাগুলি তৈরি করতে সহায়ক হয়েছিলেন, যা পরবর্তীতে প্রোগ্রামিং ভাষার উত্থানকে প্রভাবিত করেছে।
- প্রোগ্রামিং ধারণার প্রবর্তক হিসেবে অ্যাডা লাভলেস (Ada Lovelace)-কে গণ্য করা হয়।
- তিনি বিখ্যাত গণিতবিদ চার্লস ব্যাবেজের প্রস্তাবিত অ্যানালিটিক্যাল ইঞ্জিনের জন্য প্রথম অ্যালগরিদম লিখেছিলেন, যা তাকে বিশ্বের প্রথম প্রোগ্রামার হিসেবে স্বীকৃতি দিয়েছে।
- ১৮৪০-এর দশকে তিনি এমন একটি অ্যালগরিদম তৈরি করেছিলেন যা মেশিন দ্বারা সম্পাদন করা যেতে পারে, যা আধুনিক প্রোগ্রামিংয়ের সূচনা হিসেবে বিবেচিত হয়।
- অ্যাডা লাভলেস ছিলেন চার্লস ব্যাবেজের অন্যতম একজন সহযোগী।
- অ্যাডা লাভলেস চার্লস ব্যাবেজের এনালিটিক্যাল ইঞ্জিনকে কাজে লাগানোর জন্য প্রোগ্রামিং এর ধারণা দেন।
- অ্যাডা লাভলেসকে প্রোগ্রামিং ধারণার প্রবর্তক বলা হয়।
- ১৮৪২ সালে চার্লস ব্যাবেজ তুরিন বিশ্ববিদ্যালয়ে তাঁর ইঞ্জিন সম্পর্কে বক্তব্য দেন। অ্যাডা লাভলেস সে সময় ব্যাবেজের সহায়তায় পুরো বক্তব্যে ইঞ্জিনের কাজের ধারাণাটি বর্ণনা করেন।
- অ্যাডা লাভলেসের মৃত্যুর ১০০ বছর পর ১৯৫৩ সালে সেই নোট আবারো প্রকাশিত হয়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্রি, এসএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।

৪২.
সি প্রোগ্রামিং ভাষায় কী-বোর্ড থেকে ইনপুট নেওয়ার জন্য নিচের কোন ফাংশনটি ব্যবহার করা হয়?
  1. printf()
  2. abs()
  3. scanf()
  4. get input()
ব্যাখ্যা
• সি প্রোগ্রামিং ভাষার প্রয়োজনীয় লাইব্রেরি ফাংশন:
- প্রোগ্রামের শুরুতে #include স্টেটমেন্টের সাহায্যে কোন হেডার ফাইল সংযুক্ত করা হলে তা ঐ ফাইলে বর্ণিত সকল ফাংশনের জন্য কাজ করে।
- কোন লাইব্রেরি ফাংশনের হেডার ফাইল এবং ব্যবহারবিধি কি তা জানার জন্য ঐ লাইব্রেরি ফাংশনের উপর কার্সর রেখে বা সিলেক্ট করে Ctrl+F1 চাপলে হেল্প ফাইল থেকে তা জানা যায়।
- সি প্রোগ্রামিং এর কয়েকটি লাইব্রেরি ফাংশনের নাম ও ব্যবহার নিচে দেওয়া হলো:


উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়। 
৪৩.
ওয়েবপেজে ছবি দেখানোর জন্য কোন HTML ট্যাগটি ব্যবহৃত হয়?
  1. < figure >
  2. < img >
  3. < image >
  4. < pic >
ব্যাখ্যা

• ওয়েবপেজে ছবি দেখানোর জন্য প্রধান HTML ট্যাগ হলো < img >। এটি একটি self-closing ট্যাগ, অর্থাৎ এটি বন্ধ করার জন্য আলাদা closing ট্যাগের প্রয়োজন হয় না। < img > ট্যাগ ব্যবহার করে আমরা পেইজে ছবি যোগ করতে পারি এবং তার উৎস বা লোকেশন নির্দিষ্ট করতে src attribute ব্যবহার করি। এছাড়া, ছবি লোড না হলে বা ব্যবহারকারী স্ক্রীন রিডার ব্যবহার করলে প্রদর্শনের জন্য alt attribute দেওয়া গুরুত্বপূর্ণ। অন্য ট্যাগগুলো যেমন < figure > মূলত ছবি এবং তার ক্যাপশন একত্রে প্রদর্শনের জন্য ব্যবহৃত হয়, < image > বা < pic > HTML-এ বৈধ ট্যাগ নয়। তাই ওয়েবপেজে ছবি দেখানোর জন্য সঠিক ট্যাগ হলো < img >

• এইচটিএমএল (HTML):
- HTML-এর পূর্ণরূপ হলো HyperText Markup Language। এটি World Wide Web-এ তথ্য উপস্থাপন ও ফরমেট করার জন্য ব্যবহৃত হয়।
- HTML ফাইল সাধারণভাবে ওয়েব পেইজ (Web Page) নামে পরিচিত।
- জেনেভায় অবস্থিত CERN এ কাজ করার সময় টিম বার্নার্স-লি (Tim Berners-Lee) ১৯৯০ সালে সর্বপ্রথম HTML আবিষ্কার করেন।
- উল্লেখ্য যে, HTML ফাইলের এক্সটেনশন হলো ".html বা.htm" ।

উৎস:
- তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
- Mozilla. [link]

৪৪.
What is an assembler?
  1. Software used to write web code.
  2. A type of programming language C.
  3. A hardware component in a computer system.
  4. A tool used to convert assembly language into machine code.
ব্যাখ্যা
• অনুবাদক প্রোগ্রাম:
- যে প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে পরিণত করা হয়, তাকে অনুবাদক প্রোগ্রাম বলে।
- তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে। যথা:

১. কম্পাইলার (Compiler):
- যে অনুবাদক প্রোগ্রাম হাই-লেভেল ল্যাঙ্গুয়েজে লেখা সম্পূর্ণ প্রোগ্রামটিকে একসাথে পড়ে এবং একসাথে অনুবাদ করে, তাকে কম্পাইলার বলে।
- কম্পাইলার চালনার জন্য বেশি পরিমাণ মেমোরির প্রয়োজন হয়।
- যেমন: সি ল্যাঙ্গুয়েজের জন্য Turbo C/C++, Codeblocks, Dev C, Borland C++ ইত্যাদি কম্পাইলার রয়েছে। 

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

৩. অ্যাসেম্বলার (Assembler):
- অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ল্যাঙ্গুয়েজে অনুবাদ করার জন্য ব্যবহৃত অনুবাদককে অ্যাসেম্বলার বলা হয়।
- যেমন: GAS, GNU Assembler.

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
৪৫.
কোনটি CSS-এর বৈশিষ্ট্য নয়?
  1. ফন্ট স্টাইল ও সাইজ পরিবর্তন
  2. ওয়েবসাইট ডাটাবেসে রাখা
  3. অ্যানিমেশন ও ট্রানজিশন তৈরি
  4. পেজ লেআউট ও এলাইনমেন্ট ঠিক করা
ব্যাখ্যা

• CSS বা Cascading Style Sheets হল একটি স্টাইলিং ভাষা যা ওয়েবপেজের ভিজ্যুয়াল লেআউট ও ডিজাইন নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এটি ব্যবহার করে ফন্টের স্টাইল ও সাইজ পরিবর্তন করা, পেজের লেআউট ও এলাইনমেন্ট ঠিক করা, অ্যানিমেশন ও ট্রানজিশন তৈরি করা সম্ভব। তবে CSS ডাটাবেসে তথ্য সংরক্ষণ করতে সক্ষম নয়। ওয়েবসাইটের ডাটাবেস ম্যানেজমেন্ট বা তথ্য সংরক্ষণ মূলত সার্ভার-সাইড প্রযুক্তি যেমন PHP, SQL বা অন্যান্য ব্যাকএন্ড টুলসের মাধ্যমে করা হয়। সুতরাং, CSS-এর বৈশিষ্ট্য নয় ওয়েবসাইট ডাটাবেসে রাখা। এটি শুধুমাত্র ওয়েবপেজের সৌন্দর্য ও ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সাহায্য করে।

• HTML (HyperText Markup Language):
- ওয়েব পৃষ্ঠার মূল কাঠামো গঠন করে
- সমস্ত ওয়েবসাইটের ভিত্তি হিসেবে কাজ করে

• CSS (Cascading Style Sheets):
- ওয়েব পৃষ্ঠার ভিজ্যুয়াল উপস্থাপনা নিয়ন্ত্রণ করে
- রেস্পন্সিভ ডিজাইনের জন্য অপরিহার্য

• JavaScript:
- ক্লায়েন্ট-সাইড ইন্টারঅ্যাক্টিভিটি প্রদান করে
- আধুনিক ওয়েব অ্যাপ্লিকেশনের মূল চালিকাশক্তি

• JavaScript- এর ব্যবহার:
- ব্যাকএন্ড ডেভেলপমেন্টে,
- ডেটা সায়েন্সে,
- মেশিন লার্নিং,
- অটোমেশন ইত্যাদিতে।

তথ্যসূত্র:
- তথ্য ও যোগাযোগ প্রযুক্তি, মাহবুবুর রহমান।
- "Web Design with HTML, CSS, JavaScript and jQuery" by Jon Duckett.

৪৬.
Which language belongs to the very high-level language category?
  1. C++
  2. Python
  3. JAVA
  4. Fortran
ব্যাখ্যা
Python is a very high-level programming language.

• প্রোগ্রামিং ভাষা:
যে ভাষার সাহায্যে একটি যন্ত্রকে নির্দেশনা দিয়ে কোন সমস্যা সমাধান করা যায় তাকে প্রোগ্রামিং ভাষা বলে।
সহজে বলা যায়, প্রোগ্রাম লিখতে বা নির্দেশাবলী সেট করতে যেসকল ভাষা ব্যবহৃত হয় তাদের "প্রোগ্রামিং ভাষা" বলা হয়।

• প্রোগ্রাম রচনার বৈশিষ্ট্যের ভিত্তিতে প্রোগ্রামিং ভাষাসমূহকেবিভিন্ন স্তরে বিভক্ত করা হয়:
১। নিম্নস্তরের ভাষা (Low Level Language)
- Machine Language, Assembly Language।
২। মধ্যমস্তরের ভাষা (Mid Level Language)
- C, C++, JAVA, Forth, Dbase, WordStar.
৩। উচ্চস্তরের ভাষা (High Level Language-3GL)
- Fortran, Basic, Pascal, Cobol, C, C++, C#, Visual Basic, Java, ইত্যাদি।
৪। অতি উচ্চস্তরের ভাষা (Very High Level Languag)
- Perl, Python, Ruby, SQL, ইত্যাদি।

উৎস: বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৪৭.
সি++ প্রোগ্রামিং ভাষার উদ্ভাবক কে ছিলেন?
  1. Bill Gates
  2. Bjarne Stroustrup
  3. Dennis Ritchie
  4. Guido van Rossum
ব্যাখ্যা

• সি++ প্রোগ্রামিং ভাষার উদ্ভাবক হলেন Bjarne Stroustrup। ১৯৮০-এর দশকে তিনি Bell Labs-এ কাজ করার সময় C ভাষার ভিত্তিতে একটি নতুন ভাষা তৈরি করেছিলেন, যা মূলত বড় এবং জটিল সফটওয়্যার সিস্টেম তৈরি করতে সাহায্য করার জন্য OOP (Object-Oriented Programming) ধারণা সংযুক্ত করে। C++ ভাষা C ভাষার গতি এবং ক্ষমতা বজায় রেখে ক্লাস, অবজেক্ট, ইনহেরিট্যান্স, পলিমরফিজম ইত্যাদি বৈশিষ্ট্য প্রদান করে। এটি সিস্টেম প্রোগ্রামিং, গেম ডেভেলপমেন্ট, গ্রাফিক্স, এন্ড এম্বেডেড সিস্টেমসহ বিভিন্ন ক্ষেত্রে ব্যাপকভাবে ব্যবহৃত হয়। Bjarne Stroustrup-এর কাজ আধুনিক প্রোগ্রামিং বিশ্বে গুরুত্বপূর্ণ অবদান হিসেবে গণ্য হয়।

উত্তর: খ) Bjarne Stroustrup.

• সি++:
- সি++ এক ধরনের অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
- ১৯৮০ সালে বিয়ার্নে স্ট্রোট্রুপ (Biarne Stroustrup) যুক্তরাষ্ট্রের এটিএন্ডটি বেল ল্যাবরোটরিতে (AT&T Bell Laboratary) এটি ডেভেলপ করেন।
- মূলত সিমলা ৬৭ এবং সি প্রোগ্রামিং ভাষার সুবিধাজনক বৈশিষ্ট্যগুলোর সমন্বয় সাধন করে সি++ তৈরি হয়।
- সি++ একটি মধ্যম শ্রেণীর প্রোগ্রামিং ভাষা যাতে উচ্চ স্তর এবং নিম্ন স্তর ভাষাগুলোর সুবিধা সংযুক্ত আছে।
- এটি সর্বকালের অন্যতম জনপ্রিয় প্রোগ্রামিং ভাষা এবং সফ্টওয়্যার শিল্পে এটি বহুল ব্যবহৃত হয়। যেমন-সিস্টেম সফ্টওয়‍্যার, এপ্লিকেশন সফ্টওয়‍্যার, ডিভাইস ড্রাইভার, এম্বেডেড সফ্টওয়্যার, উচ্চ মানের সার্ভার ও ক্লায়েন্ট এপ্লিকেশন, বিনোদন সফ্টওয়্যার ইত্যাদি।
- সি++ পরবর্তী সময়ে বিভিন্ন প্রোগ্রামিং ভাষাকে প্রভাবিত করেছে যার মধ্যে সর্বাপেক্ষা উল্লেখযোগ্য হচ্ছে জাভা।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।

৪৮.
কোনটি প্রোগ্রামিং ভাষা হিসেবে ব্যবহৃত হয় না?
  1. Excel
  2. Rust
  3. Fortran
  4. Kotlin
ব্যাখ্যা

• উল্লিখিত অপশন গুলোর মধ্যে Excel প্রোগ্রামিং ভাষা হিসেবে ব্যবহৃত হয় না। Excel মূলত একটি স্প্রেডশিট সফটওয়্যার, যা তথ্য সংরক্ষণ, হিসাব-নিকাশ, চার্ট তৈরি এবং ডেটা বিশ্লেষণের কাজে ব্যবহৃত হয়। যদিও Excel-এ কিছু ফাংশন ও ফর্মুলা ব্যবহার করা যায় এবং VBA নামে একটি স্ক্রিপ্টিং সুবিধা আছে, তবুও Excel নিজে একটি পূর্ণাঙ্গ প্রোগ্রামিং ভাষা নয়। অন্যদিকে Rust, Fortran এবং Kotlin সবই প্রকৃত প্রোগ্রামিং ভাষা, যেগুলো সফটওয়্যার, অ্যাপ্লিকেশন ও সিস্টেম ডেভেলপমেন্টে ব্যবহৃত হয়।
- তাই সঠিক উত্তর হলো ক) Excel.

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

• বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা:
1. Machine Language,
2. Assembly Language,
3. High Level Language,
4. Very High Level Language and
5. Natural Language.

উল্লেখযোগ্য প্রোগ্রামিং ল্যাঙ্গুয়েজ:

• জাভা (Java):
- জাভা (Java) একটি হাই লেভেল প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- ১৯৯১ সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের সূচনা করে।
- ১৯৯৫ সালে জেমস গসলিং জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবন করে।

• পাইথন (Python):
- পাইথন(Python) একটি হাই লেভেল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- ১৯৮৯ সালে ভ্যান রোসাম পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবন করে।

• C#:
- C# একটি অবজেক্ট-ওরিয়েন্টেড, কম্পোনেন্ট-ভিত্তিক প্রোগ্রামিং ভাষা।

উৎস:
১) তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান, প্রকৌশলী মুজিবুর রহমান।
২) সংশ্লিষ্ট ওয়েবসাইট।

৪৯.
কোন প্রোগ্রাম লাইন-বাই-লাইন অনুবাদ করে আউটপুট প্রদর্শন করে?
  1. ইন্টারপ্রেটার
  2. কম্পাইলার
  3. অ্যাসেম্বলার
  4. খ ও গ
ব্যাখ্যা

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

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

তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে:
১. কম্পাইলার:
- কম্পাইলার হল এমন একটি অনুবাদক যা সোর্স প্রোগ্রামকে একসাথে সম্পূর্ণরূপে মেশিনের ভাষায় অনুবাদ করে একটি অবজেক্ট প্রোগ্রাম তৈরি করে এবং একটি এক্সিকিউশন ফাইল (.exe) তৈরি করে।

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

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান, একাদশ- দ্বাদশ শ্রেণি।
২. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

৫০.
Who is commonly credited as the inventor of the C programming language?
  1. Ken Thompson
  2. Alan Turing
  3. Dennis Ritchie
  4. John McCarthy
ব্যাখ্যা
• সি প্রোগ্রামিং ভাষা:
- যুক্তরাষ্ট্রের বেল ল্যাবরেটরিতে ১৯৭০ সালে ডেনিস রিচি (Dennis Ritchie) প্রথম C ভাষা তৈরি করেন।
- Dennis Ritchie-কে সি প্রোগ্রামিং ভাষার জনক বলা হয়।
- তিনি সর্বপ্রথম Unix অপারেটিং সিস্টেমে DEC PDP-11 মেশিনে 'সি' প্রয়োগ করেন।
- ‘সি’ এসেছে BCPL নামের একটি কম্পিউটার ভাষা থেকে, যা থেকে ‘বি’ নামে অপর একটি ভাষার উদ্ভব ঘটে এবং 'বি' এর পরের উন্নয়ন হলো ‘সি’ ভাষার উদ্ভবের মধ্য দিয়ে।
- প্রথমে ‘সি’ সরবরাহ হতো Unix অপারেটিং সিস্টেমে। পরে ‘সি' এর প্রয়োগ ঘটে আরো বহুভাবে।
- বহু সুবিধার কারণে এখনও 'সি' প্রোগ্রামিং ভাষা প্রচলিত আছে।

বেল ল্যাবরেটরি:
→ সদর দপ্তর: নিউ জার্সি, আমেরিকা।
→ প্রতিষ্ঠাকাল: জানুয়ারি, ১৯২৫।
→ প্রতিষ্ঠাতা: আলেক্সান্ডার গ্রাহাম বেল।

উৎস:
১) তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
২) bell-labs.com
৫১.
Which of the following translates source code into machine code line by line?
  1. Compiler
  2. Interpreter
  3. Assembler
  4. Debugger
ব্যাখ্যা
• অনুবাদক প্রোগ্রাম:
- যে প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে পরিণত করা হয়, তাকে অনুবাদক প্রোগ্রাম বলে।
- তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে। যথা:

১. কম্পাইলার (Compiler):
- যে অনুবাদক প্রোগ্রাম হাই-লেভেল ল্যাঙ্গুয়েজে লেখা সম্পূর্ণ প্রোগ্রামটিকে একসাথে পড়ে এবং একসাথে অনুবাদ করে, তাকে কম্পাইলার বলে।
- কম্পাইলার চালনার জন্য বেশি পরিমাণ মেমোরির প্রয়োজন হয়।
- যেমন: সি ল্যাঙ্গুয়েজের জন্য Turbo C/C++, Codeblocks, Dev C, Borland C++ ইত্যাদি কম্পাইলার রয়েছে। 

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

৩. অ্যাসেম্বলার (Assembler):
- অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ল্যাঙ্গুয়েজে অনুবাদ করার জন্য ব্যবহৃত অনুবাদককে অ্যাসেম্বলার বলা হয়।
- যেমন: GAS, GNU Assembler.

অন্যদিকে,
Debugger: কম্পিউটারে প্রোগ্রাম লেখার সময় কোনো ভুল হলে তাকে bug বলে। এই ভুল গুলো সংশোধন করাকে debug বলে আর যে tool- এর দ্বারা debug করা হয়, তাকে Debugger বলে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
৫২.
মেশিন ভাষায় প্রোগ্রাম লেখার জন্য কোন পদ্ধতিটি ব্যবহার করা হয়?
  1. ইংরেজি শব্দ ও বাক্য
  2. গ্রাফিক্যাল ইন্টারফেস
  3. গাণিতিক সূত্র
  4. বাইনারি সংখ্যা বা হেক্সাডেসিম্যাল
ব্যাখ্যা

- সঠিক উত্তর: ঘ) বাইনারি সংখ্যা বা হেক্সাডেসিম্যাল।

• মেশিন ভাষা:
- কম্পিউটারে সবচেয়ে নিচের স্তরের ভাষা হলো মেশিন ভাষা।
- কম্পিউটারের নিজস্ব ভাষাকে মেশিন ভাষা বা নিম্নস্তরের ভাষা বলা হয়।
- কম্পিউটারের মৌলিক ভাষা হলো এই নিম্নস্তরের ভাষা।
- এ ভাষায় বাইনারি সংখ্যা (1) এবং (0) অথবা হেক্সাডেসিম্যাল পদ্ধতি ব্যবহার করে সবকিছু লেখা হয়
- কম্পিউটার শুধুমাত্র মেশিন ভাষাই বুঝতে পারে।
- কম্পিউটারের অভ্যন্তরীণ কার্যনির্বাহের জন্য বিদ্যুৎ তরঙ্গের পারস্পরিক ক্রিয়া-প্রতিক্রিয়ার সাথে মেশিনের ভাষার সরাসরি মিল রয়েছে।

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

• মেশিন ভাষার অসুবিধা:
- এই ভাষায় প্রোগ্রাম লেখা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ।
- এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য ধরনের মেশিনে ব্যবহার করা যায় না।
- মেশিন ভাষায় প্রোগ্রাম লিখতে দক্ষ প্রোগ্রামার প্রয়োজন।
- প্রোগ্রামের ভুল-ত্রুটি সনাক্ত ও সংশোধন কষ্টসাধ্য।

তথ্যসূত্র:
- তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

৫৩.
UNIVAC কোন প্রজন্মের কম্পিউটার?
  1. প্রথম প্রজন্ম
  2. তৃতীয় প্রজন্ম
  3. চতুর্থ প্রজন্ম
  4. দ্বিতীয় প্রজন্ম
ব্যাখ্যা
প্রথম প্রজন্মের কম্পিউটার: 
- ১৯৪২ থেকে ১৯৫৯ সাল পর্যন্ত সময়কালকে কম্পিউটারের প্রথম প্রজন্ম বলে ধরা হয়। 
- এ প্রজন্মের কম্পিউটারের সার্কিটে ভ্যাকুয়াম টিউব ব্যবহার করা হতো। 
- অসংখ্য ডায়োড, ট্রায়োড, ভালভ, রেজিস্টার, ক্যাপাসিটর ইত্যাদি দিয়ে তৈরি হতো বলে প্রথম প্রজন্মের কম্পিউটার ছিল আকৃতিতে বড় এবং স্বল্প গতিসম্পন্ন। 
- আকৃতিতে বড় থাকার কারণে সহজে বহনযোগ্য ছিল না। 
- প্রথম প্রজন্মের কম্পিউটারে পাঞ্চ কার্ডের মাধ্যমে ইনপুট দেওয়ার ব্যবস্থা ছিল। 
- প্রথম প্রজন্মের কম্পিউটারে প্রোগ্রামের জন্য মেশিন ও অ্যাসেম্বলি ভাষা ব্যবহার করা হতো। 
- UNIVAC, ENIAC, EDSAC, IBM 650, IBM 704, Mark I, Mark IV ইত্যাদি প্রথম প্রজন্মের কম্পিউটারের উদাহরণ। 

প্রথম প্রজন্মের কম্পিউটারের বৈশিষ্ট্যসমূহ: 
১. বায়ুশূন্য টিউবের ব্যবহার। 
২. আকারে অনেক বড়। 
৩. সীমিত তথ্য ধারণক্ষমতা। 
৪. মেশিন ভাষার (0/1) মাধ্যমে নির্দেশ প্রদান ৷ 
৫. ইনপুট-আউটপুট ব্যবস্থার জন্য পাঞ্চ কার্ডের ব্যবহার। 
৬. সহজে স্থানান্তর যোগ্য ছিল না। 
৭. অত্যধিক বিদ্যুৎ শক্তির প্রয়োজন। 
৮. অনুন্নত রক্ষণাবেক্ষণ ব্যবস্থা, ইত্যাদি। 

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৫৪.
প্রোগ্রামে কয় ধরনের ভুল হতে পারে?
  1. দুই ধরনের
  2. তিন ধরনের
  3. চার ধরনের
  4. পাঁচ ধরনের
ব্যাখ্যা
• প্রোগ্রামের ভুল:
- প্রোগ্রামের ভুলকে বলে বাগ (Bug)।
- প্রোগ্রামে তিন ধরনের ভুল হতে পারে। যথা-
১। সিনট্যাক্স ভুল,
২। লজিক ভুল ও
৩। রান টাইম ও এক্সিকিউশন টাইম ভুল।


- সিনট্যাক্স ভুল বলতে বোঝায় প্রোগ্রামিং ভাষার ব্যাকরণগত ভুল। 
- প্রোগ্রামে যুক্তির ভুল থাকলে তাকে বলে লজিক ভুল। 
- কম্পিউটারকে ভুল ডেটা জানালে বা ডেটার ফরমেট ঠিক না থাকলে রান টাইম এরোর ছাপায়।

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান। 
৫৫.
নিচের কোনটি উচ্চ স্তরের পোগ্রামিং ভাষা নয়?
  1. PROLOG
  2. Oracle
  3. JAVA
  4. BASIC
ব্যাখ্যা
• Oracle উচ্চ স্তরের ভাষা নয়।

• উচ্চ স্তরের ভাষা:

- হাই-লেভেল বা উচ্চ স্তরের ভাষা কোন সংকেত বা সাংকেতিক কোড নির্ভর নয়।
- মেশিন বা অ্যাসেম্বলি ভাষার প্রধান অসুবিধা হলো, এক ধরনের কম্পিউটারের জন্য প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না।
- তাছাড়া মেশিন ও অ্যাসেম্বলি ভাষায় প্রোগ্রাম লিখা অনেক কষ্টকর ও শ্রমসাধ্য ব্যাপার।
- এছাড়া মানুষের পক্ষে লো-লেভেল ভাষা বোঝা সহজসাধ্য নয়।
- এই অসুবিধা দুর করার জন্য উচ্চ স্তরের ভাষার উদ্ভব হয়।
- এই স্তরের ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব।
- উচ্চ স্তরের ভাষা মানুষের ভাষার (যেমন- ইংরেজি ভাষা) সাথে মিল রেখে তৈরি করা হয়েছে।
- কম্পাইলার বা ইন্টারপ্রেটার নামক প্রোগ্রাম ব্যবহার করে এ ভাষায় লিখিত প্রোগ্রাম মেশিনের ভাষায় অনুবাদ করা হয়।
- ফলে কম্পিউটার এ জাতীয় প্রোগ্রাম বুঝতে পারে।
- উচ্চ স্তরের ভাষার মধ্যে উল্লেখযোগ্য কয়েকটি ভাষা হচ্ছে:
- BASIC,
- COBOL,
- FORTRAN,
- PASCAL,
- C++,
- JAVA,
- PROLOG ইত্যাদি।

• উচ্চ স্তরের ভাষার সুবিধা:
- এ ভাষায় লিখিত প্রোগ্রাম যে কোনো কম্পিউটারে ব্যবহার করা যায়।
- এ ভাষায় প্রোগ্রাম রচনা সহজ ও যুক্তিনির্ভর।
- প্রোগ্রামের ভুল নির্ণয় ও সংশোধন অপেক্ষাকৃত সহজ।
- উচ্চ স্তরের ভাষায় অসংখ্য লাইব্রেরি ফাংশনের সুবিধা আছে।
- প্রোগ্রাম লেখার সময় কম্পিউটারের অভ্যন্তরীণ গঠন সম্পর্কে ধারণার প্রয়োজন নেই।

• অপশন আলোচনা:
- Oracle হলো ডাটাবেজ মেনেজমেন্ট সিস্টেম।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি প্রকৌশলী মুজিবুর রহমান।
৫৬.
কোন প্রোগ্রাম লাইন ধরে ধরে অনুবাদ করে এবং কোথাও বাগ খুঁজে পেলে সাথে সাথে অনুবাদ বন্ধ হয়ে যায় ?
  1. অ্যাসেম্বলার
  2. কম্পাইলার
  3. ইন্টারপ্রেটর
  4. কোনটি নয়
ব্যাখ্যা
• অনুবাদক প্রোগ্রাম:
- উৎস প্রোগ্রামকে অবজেক্ট প্রোগ্রামে পরিণত করতে যে সফটওয়্যারের প্রয়োজন হয়, তাকে বলা হয় অনুবাদক সফটওয়্যার।
- কম্পিউটার কেবল মেশিনের ভাষা বোঝে।
- সেজন্যে কম্পিউটার প্রোগ্রাম যন্ত্র ভাষা ভিন্ন অন্য কোন ভাষায় রচিত হলে তা যান্ত্রিক ভাষা রূপান্তর করতে হয়। এজন্যে অনুবাদক প্রোগ্রাম ব্যবহৃত হয়।

• অনুবাদক প্রোগ্রাম তিন প্রকার। 
যথা- 
১। কম্পাইলার, 
২। ইন্টারপ্রেটার এবং 
৩। অ্যাসেম্বলার। 

১) কম্পাইলার: সম্পূর্ণ প্রোগ্রামকে একসাথে অনুবাদ করে সব ভুল এক সাথে দেখায় ডিবাগিং করার জন্য।

২) ইন্টারপ্রেটর: লাইন ধরে ধরে অনুবাদ করে এবং কোথাও বাগ খুঁজে পেলে সাথে সাথে অনুবাদ বন্ধ হয়ে যায়। ডিবাগ করে তারপর পরবর্তী লাইন থেকে অনুবাদ শুরু হয়।

৩) অ্যাসেম্বলার: শুধু মাত্র অ্যাসেম্বলি ভাষার জন্য প্রযোজ্য।

উৎস: উচ্চ মাধ্যমিকের তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান।
৫৭.
নিচের কোনটি প্রোগ্রামিং ভাষা নয়?
  1. Python
  2. Java
  3. Ruby
  4. Excel
ব্যাখ্যা

• সঠিক  উত্তর হলো Excel। Python, Java এবং Ruby হলো জনপ্রিয় প্রোগ্রামিং ভাষা যেগুলো দিয়ে সফটওয়্যার, ওয়েব অ্যাপ্লিকেশন এবং বিভিন্ন সিস্টেম ডেভেলপ করা যায়। এদের নিজস্ব সিনট্যাক্স, নিয়ম এবং লজিক আছে যা প্রোগ্রামিংয়ের মাধ্যমে কম্পিউটারকে নির্দিষ্ট কাজ সম্পাদন করতে নির্দেশ দেয়। অপরদিকে, Excel মূলত একটি স্প্রেডশিট সফটওয়্যার যা তথ্য সংরক্ষণ, বিশ্লেষণ ও গণনার কাজে ব্যবহৃত হয়। যদিও Excel-এ কিছু ফর্মুলা ও ফাংশন ব্যবহার করা যায়, সেটি পূর্ণাঙ্গ প্রোগ্রামিং ভাষা নয়। তাই সঠিক উত্তর হবে ঘ) Excel.

• প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা:
1. Machine Language,
2. Assembly Language,
3. High Level Language,
4. Very High Level Language and
5. Natural Language

• জাভা (Java):
- জাভা (Java) একটি হাই লেভেল প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- ১৯৯১ সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের সূচনা করে।
- ১৯৯৫ সালে জেমস গসলিং জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবন করে।

• পাইথন (Python):
- পাইথন(Python) একটি হাই লেভেল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- ১৯৮৯ সালে ভ্যান রোসাম পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবন করে।

• C#:
- C# একটি অবজেক্ট-ওরিয়েন্টেড, কম্পোনেন্ট-ভিত্তিক প্রোগ্রামিং ভাষা।

উৎস:
১) তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান, প্রকৌশলী মুজিবুর রহমান।
২) সংশ্লিষ্ট ওয়েবসাইট।

৫৮.
HTML প্রধানত কী কাজে ব্যবহৃত হয়?
  1. ডেটাবেস ডিজাইন
  2. ওয়েব পেজ স্ট্রাকচার তৈরি
  3. গেম তৈরি
  4. সার্ভার ম্যানেজমেন্ট
ব্যাখ্যা

• HTML প্রধানত ওয়েব পেজের স্ট্রাকচার তৈরি করার জন্য ব্যবহৃত হয়। এটি একটি মার্কআপ ভাষা যা ওয়েব পেজে টেক্সট, ছবি, লিংক, তালিকা, টেবিল এবং অন্যান্য উপাদানগুলো সঠিকভাবে প্রদর্শনের জন্য ব্যবহার করা হয়। HTML-এর মাধ্যমে ব্রাউজার জানে কোন অংশ শিরোনাম, অনুচ্ছেদ, ছবি বা বাটন হিসেবে দেখাতে হবে। এটি ডেটাবেস ডিজাইন, গেম তৈরি বা সার্ভার ম্যানেজমেন্টের জন্য সরাসরি ব্যবহৃত হয় না, তবে ওয়েব ডেভেলপমেন্টে অন্যান্য প্রযুক্তির সাথে মিলিয়ে HTML প্রয়োজনীয় ভিত্তি প্রদান করে। তাই HTML-এর মূল কাজ হলো ওয়েব পেজের স্ট্রাকচার তৈরি করা এবং কনটেন্ট সঠিকভাবে উপস্থাপন করা। সঠিক উত্তর হলো: খ) ওয়েব পেজ স্ট্রাকচার তৈরি।
 
• HTML:
- ‘HTML’ এর পূর্ণরূপ HyperText Markup Language.
- HTML (HyperText Markup Language) হলো একটি সহজ ডাটা ফরম্যাট, যা প্ল্যাটফর্ম-নিরপেক্ষ হাইপারটেক্সট ডকুমেন্ট তৈরি করতে ব্যবহৃত হয়।
- এটি SGML ভিত্তিক একটি মার্কআপ ভাষা, যা বিভিন্ন তথ্য উপস্থাপনের জন্য উপযুক্ত।
- HTML ওয়ার্ল্ড ওয়াইড ওয়েবে (WWW) ১৯৯০ সাল থেকে ব্যবহৃত হচ্ছে।
- HTML প্ল্যাটফর্ম-নিরপেক্ষ ওয়েবপেজ তৈরির জন্য আদর্শ ভাষা।
- HTML ওয়েবসাইট তৈরি ও তথ্য উপস্থাপনার অন্যতম প্রধান ভাষা, যা আজও ক্রমাগত উন্নত হচ্ছে।

উৎস: w3.org

৫৯.
অনুবাদক প্রোগ্রাম কয় ধরনের?
  1. তিন
  2. পাঁচ
  3. দুই
  4. কোনটিই নয়
ব্যাখ্যা
• অনুবাদক প্রোগ্রাম:
- যে প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে পরিণত করা হয়, তাকে অনুবাদক প্রোগ্রাম বলে।
- তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে। যথা:

১. কম্পাইলার (Compiler):
- যে অনুবাদক প্রোগ্রাম হাই-লেভেল ল্যাঙ্গুয়েজে লেখা সম্পূর্ণ প্রোগ্রামটিকে একসাথে পড়ে এবং একসাথে অনুবাদ করে, তাকে কম্পাইলার বলে।
- কম্পাইলার চালনার জন্য বেশি পরিমাণ মেমোরির প্রয়োজন হয়।
- এখানকার এক্সিকিউশন ফাইল অত্যন্ত দ্রুততার সাথে এক্সিকিউট হয়ে থাকে।
- ফলে প্রোগ্রামিং প্রক্রিয়া অত্যন্ত দ্রুততর হয় এবং প্রোগ্রামারকে নিজ হাতে কোন অনুবাদকের কাজ করতে হয় না।
- সি ল্যাঙ্গুয়েজের জন্য Turbo C/C++, Codeblocks, Dev C, Borland C++ ইত্যাদি কম্পাইলার রয়েছে।

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

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

৩. অ্যাসেম্বলার (Assembler):
- অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ল্যাঙ্গুয়েজে অনুবাদ করার জন্য ব্যবহৃত অনুবাদককে অ্যাসেম্বলার বলা হয়।
- যেমন: GAS, GNU Assembler.

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
৬০.
ওয়েব ডিজাইনের জন্য ব্যবহৃত ভাষা নয় কোনটি?
  1. HTML
  2. CSS
  3. JavaScript
  4. Python
ব্যাখ্যা
• ওয়েব ডিজাইনের মূল ভাষাগুলো হলো HTML, CSS, এবং JavaScript। এগুলো ফ্রন্ট-এন্ড ডেভেলপমেন্টের জন্য ব্যবহৃত হয়।

• HTML (HyperText Markup Language)
- ওয়েব পৃষ্ঠার মূল কাঠামো গঠন করে
- সমস্ত ওয়েবসাইটের ভিত্তি হিসেবে কাজ করে

• CSS (Cascading Style Sheets)
- ওয়েব পৃষ্ঠার ভিজ্যুয়াল উপস্থাপনা নিয়ন্ত্রণ করে
- রেস্পন্সিভ ডিজাইনের জন্য অপরিহার্য

• JavaScript
- ক্লায়েন্ট-সাইড ইন্টারঅ্যাক্টিভিটি প্রদান করে
- আধুনিক ওয়েব অ্যাপ্লিকেশনের মূল চালিকাশক্তি

অন্যদিকে,
পাইথন একটা General Purpose High Level প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটি ওয়েব জিজাইনিং এর মূল ভাষা নয়।

• এটির ব্যবহার:
- ব্যাকএন্ড ডেভেলপমেন্টে,
- ডেটা সায়েন্সে,
- মেশিন লার্নিং,
- অটোমেশন ইত্যাদিতে।

তথ্যসূত্র:
- তথ্য ও যোগাযোগ প্রযুক্তি, মাহবুবুর রহমান।
- "Web Design with HTML, CSS, JavaScript and jQuery" by Jon Duckett. 
৬১.
What is the main function of a compiler in programming?
  1. To find errors in code line by line
  2. To convert source code into machine code
  3. To connect computers in a network
  4. To debug and test the program
ব্যাখ্যা

• কম্পাইলার হল এমন একটি অনুবাদক যা সোর্স প্রোগ্রাম একসাথে সম্পূর্ণরূপে মেশিনের ভাষায় অনুবাদ করে একটি অবজেক্ট প্রোগ্রাম তৈরি করে এবং একটি এক্সিকিউশন ফাইল (.exe) তৈরি করে।  

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

তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে:

১. কম্পাইলার (Compiler):  
- কম্পাইলার হল এমন একটি অনুবাদক যা সোর্স প্রোগ্রাম একসাথে সম্পূর্ণরূপে মেশিনের ভাষায় অনুবাদ করে একটি অবজেক্ট প্রোগ্রাম তৈরি করে এবং একটি এক্সিকিউশন ফাইল (.exe) তৈরি করে। 
- এখানকার এক্সিকিউশন ফাইল অত্যন্ত দ্রুততার সাথে এক্সিকিউট হয়ে থাকে।
- ফলে প্রোগ্রামিং প্রক্রিয়া অত্যন্ত দ্রুততর হয় এবং প্রোগ্রামারকে নিজ হাতে কোন অনুবাদকের কাজ করতে হয় না।
- কারণ কোন নির্দিষ্ট কম্পাইলার একটি মাত্র উচ্চতর ভাষার প্রোগ্রামকে কম্পাইল করতে পারে। যেমন- যে কম্পাইলার  COBOL প্রোগ্রামকে কম্পাইল করতে পারে সেই কম্পাইলার বেসিক প্রোগ্রাম কম্পাইল করতে পারে না।
- কম্পাইলার অনুবাদ করা ছাড়াও উৎস প্রোগ্রামের গুণাগুণও বিচার করতে পারে।

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

৬২.
কম্পিউটারের নিজস্ব ভাষা হচ্ছে -
  1. জাভা
  2. মেশিন ভাষা
  3. আসেম্বলি ভাষা
  4. উচ্চ স্তরের ভাষা
ব্যাখ্যা

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

- উত্তর: খ) মেশিন ভাষা।

• মেশিন ভাষা:
- কম্পিউটারে সবচেয়ে নিচের স্তরের ভাষা হলো মেশিন ভাষা।
- কম্পিউটারের নিজস্ব ভাষাকে মেশিন ভাষা বা নিম্নস্তরের ভাষা বলা হয়।
- কম্পিউটারের মৌলিক ভাষা হলো এই নিম্নস্তরের ভাষা।
- এ ভাষায় বাইনারি সংখ্যা (1) এবং (0) অথবা হেক্সাডেসিম্যাল পদ্ধতি ব্যবহার করে সবকিছু লেখা হয়।
- কম্পিউটার শুধুমাত্র মেশিন ভাষাই বুঝতে পারে।
- কম্পিউটারের অভ্যন্তরীণ কার্যনির্বাহের জন্য বিদ্যুৎ তরঙ্গের পারস্পরিক ক্রিয়া-প্রতিক্রিয়ার সাথে মেশিনের ভাষার সরাসরি মিল রয়েছে।

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

• মেশিন ভাষার অসুবিধা:
-  এই ভাষায় প্রোগ্রাম লেখা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ।
- এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য ধরনের মেশিনে ব্যবহার করা যায় না।
- মেশিন ভাষায় প্রোগ্রাম লিখতে দক্ষ প্রোগ্রামার প্রয়োজন।
- প্রোগ্রামের ভুল-ত্রুটি সনাক্ত ও সংশোধন কষ্টসাধ্য।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

৬৩.
প্রোগ্রামিং ভাষা -
  1. ক) Ruby
  2. খ) CSS
  3. গ) jQuery
  4. ঘ) ক ও গ উভয়ই
ব্যাখ্যা

CSS - Cascading Style Sheets
jQuery - Is a Javascript Library.
Ruby - Programming Language

৬৪.
প্রথম সফল কম্পিউটার প্রোগ্রামিং ভাষা কোনটি?
  1. C
  2. FORTRAN
  3. Python
  4. Java
ব্যাখ্যা
• ফোরট্রান (FORTRAN):
- FORTRAN এর পূর্ণরূপ Formula Translation.
- FORTRAN হলো বিশ্বের প্রথম সফল কম্পিউটার প্রোগ্রামিং ভাষা।
- ফোরট্রান আদিতম উচ্চস্তরের নির্দেশমূলক প্রোগ্রামিং ভাষা।
- জন বাকাস ও তাঁর সহযোগীরা আইবিএম-এ কর্মরত থাকা অবস্থায় ১৯৫০-এর দশকের মাঝামাঝি এটি তৈরি করেন।
- ফোরট্রানের সবচেয়ে গুরুত্বপূর্ণ সংস্করণগুলো হচ্ছে ফোরট্রান I, ফোরট্রান II, ফোরট্রান iv, ফোরট্রান ৭৭, এবং ফোরট্রান ৯০।

উৎস:
১. তথ্য ও যোগা
৬৫.
লেক্সিক্যাল অ্যানালাইজার (লেক্সার) কী কাজ করে?
  1. সোর্স কোডকে টোকেনে ভাগ করে 
  2. টোকেনগুলোকে মেশিন কোডে রূপান্তর করে
  3. সিনট্যাক্স ত্রুটি পরীক্ষা করে
  4. কোডকে অপ্টিমাইজ করে
ব্যাখ্যা

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

• লেক্সিক্যাল অ্যানালাইজার (Lexical Analyzer / Lexer):
- লেক্সিক্যাল অ্যানালাইজার হলো একটি প্রোগ্রামিং কম্পাইলারের প্রথম ধাপের অংশ যা সোর্স কোডকে প্রক্রিয়াকরণ করে।
- এটি সোর্স কোডকে ছোট ছোট একক অর্থপূর্ণ অংশে ভাগ করে, যেগুলোকে টোকেন (Token) বলা হয়।
- প্রতিটি টোকেন সাধারণত একটি কীওয়ার্ড, আইডেন্টিফায়ার, অপারেটর বা প্রতীক হতে পারে।
- লেক্সার মূলত সোর্স কোডকে টোকেনে ভাগ করার কাজ করে, যাতে পরবর্তী ধাপে সিনট্যাক্স বিশ্লেষণ সহজ হয়।
- এটি কোডকে সরাসরি মেশিন কোডে রূপান্তর করে না।
- লেক্সার সাধারণত সিনট্যাক্স ত্রুটি বা কোড অপ্টিমাইজেশনও করে না; শুধুমাত্র টোকেন তৈরির কাজ সম্পন্ন করে।

সুতরাং, লেক্সিক্যাল অ্যানালাইজারের কাজ হল সোর্স কোডকে টোকেনে ভাগ করা।  
সঠিক উত্তর: ক) সোর্স কোডকে টোকেনে ভাগ করে। 

উৎস: geeksforgeeks [link]

৬৬.
FORTRAN কোন প্রজন্মের প্রোগ্রামিং ভাষা?
  1. দ্বিতীয় প্রজন্ম
  2. তৃতীয় প্রজন্ম
  3. চতুর্থ প্রজন্ম
  4. পঞ্চম প্রজন্ম
ব্যাখ্যা
• ফোরট্রান:
- FORTRAN এর পূর্ণরূপ Formula Translation.
- FORTRAN হলো বিশ্বের প্রথম সফল কম্পিউটার প্রোগ্রামিং ভাষা।
- ফোরট্রান আদিতম উচ্চস্তরের নির্দেশমূলক প্রোগ্রামিং ভাষা।
- জন বাকাস ও তাঁর সহযোগীরা আইবিএম-এ কর্মরত থাকা অবস্থায় ১৯৫০-এর দশকের মাঝামাঝি এটি তৈরি করেন।
- ফোরট্রানের সবচেয়ে গুরুত্বপূর্ণ সংস্করণগুলো হচ্ছে ফোরট্রান Ⅰ, ফোরট্রান II, ফোরট্রান iv, ফোরট্রান ৭৭, এবং ফোরট্রান ৯০।
- FORTRAN হলো তৃতীয় প্রজন্ম বা হাই লেভেলের প্রোগ্রামিং ভাষা।

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২. ব্রিটানিকা।
৬৭.
নিচের কোনটি প্রোগ্রামিং-এর উচ্চস্তরের ভাষা?
  1. ফোকাস
  2. সি
  3. অ্যাপেল
  4. সি++
ব্যাখ্যা
উচ্চ স্তরের ভাষা:
- হাই-লেভেল বা উচ্চ স্তরের ভাষা কোন সংকেত বা সাংকেতিক কোড নির্ভর নয়।
- তাছাড়া মেশিন ও অ্যাসেম্বলি ভাষায় প্রোগ্রাম লিখা অনেক কষ্টকর ও শ্রমসাধ্য ব্যাপার। এছাড়া মানুষের পক্ষে লো-লেভেল ভাষা বোঝা সহজসাধ্য নয়। এই অসুবিধা দুর করার জন্য উচ্চ স্তরের ভাষার উদ্ভব হয়।
- এই স্তরের ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব।
- উচ্চ স্তরের ভাষা মানুষের ভাষার (যেমন- ইংরেজি ভাষা) সাথে মিল রেখে তৈরি করা হয়েছে।
- উচ্চ স্তরের ভাষার মধ্যে উল্লেখযোগ্য কয়েকটি ভাষা হচ্ছে- COBOL, FORTRAN, PASCAL, C++, JAVA, PROLOG ইত্যাদি।
- কম্পাইলার বা ইন্টারপ্রেটার নামক প্রোগ্রাম ব্যবহার করে এ ভাষায় লিখিত প্রোগ্রাম মেশিনের ভাষায় অনুবাদ করা হয়।

• উল্লেখ্য,
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা-
১। প্রথম প্রজন্মের ভাষা (১৯৪৫): মেশিন ভাষা (Machine Language)
২। দ্বিতীয় প্রজন্মের ভাষা (১৯৫০): অ্যাসেম্বলি ভাষা (Assembly Language)
৩। তৃতীয় প্রজন্মের ভাষা (১৯৬০): উচ্চতর ভাষা (High Level Language)
৪। চতুর্থ প্রজন্মের ভাষা (১৯৭০): অতি উচ্চতর ভাষা (Very High Level Language)
৫। পঞ্চম প্রজন্মের ভাষা (১৯৮০): স্বাভাবিক বা ন্যাচারাল ভাষা (Natural Language)

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
৬৮.
Which of the following tags is used to create a line break in HTML?
  1. < break >
  2. < br >
  3. < lb >
  4. < line >
ব্যাখ্যা
HTML:
→ HTML এর পূর্নরূপ Hyper Text Markup Language. যা মূলত ব্রাউজারে তথ্য প্রদর্শন বা ওয়েবপেইজে তথ্য উপস্থাপন ও ফরম্যাট করতে প্রোগ্রামারগণ ব্যবহার করেন।
→ HTML দ্বারা তৈরি ফাইলসমূহের এক্সটেনশন .html হয় যা সাধারণত ওয়েবপেইজ নামে পরিচিত।
→ জেনেভার সার্ন (CERN) এ কাজ করার সময় টিম বার্নাস-লী (Tim Berners-Lee) সর্বপ্রথম ১৯৯০ সালে HTML আবিষ্কার করেন।
→  HTML এর সর্বশেষ ভার্সন হচ্ছে HTML 5.

HTML এ ট্যাগ ব্যবহার এর কয়েকটি নিয়ম হল:
• ট্যাগ এঙ্গেল ব্র্যাকেটের মধ্যে রাখতে হয়
• কন্টেইনার ট্যাগ এর ক্ষেত্রে  শুরুর ট্যাগ ব্যবহার করলে সমাপনী ট্যাগ ব্যবহার করতে হয়। তবে এম্পটি ট্যগে এ সমাপনী ট্যাগের প্রয়োজন নেই।
• ট্যাগের বানান শুদ্ধ হওয়া আবশ্যক
• প্রতিটি ট্যাগে নির্দিষ্ট সীমারেখা অতিক্রম করা যায়  না।
• শুন্য ট্যাগের ক্ষেত্রে শুধু শুরুর ট্যাগ ব্যবহার করা হয়।

HTML- এর কয়েকটি গুরুত্বপূর্ণ ট্যাগ হলো:
<!DOCTYPE> → Defines the document type.
<html> → Defines an HTML document.
<head> → Contains metadata/information for the document.
<title> → Defines a title for the document.
<h1> to <h6> → Defines HTML headings
<body> → Defines the document's body.
<p> → Defines a paragraph.
<br> → Inserts a single line break.

উৎস:
১) তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
২) তথ্য ও যোগাযোগ প্রযুক্তি, উন্মুক্ত বিশ্ববিদ্যালয়।
৩) w3schools.com
৬৯.
নিচের কোন প্রোগ্রামিং ভাষার জনক গুইডো ভ্যান রোসাম?
  1. PHP
  2. JavaScript
  3. Swift
  4. Python
ব্যাখ্যা
• পাইথন (Python):
- পাইথন হচ্ছে প্রোগ্রামিং ভাষাসমূহের অন্যতম হাই-লেভেল অবজেক্ট ওরিয়েন্টেড ভাষা।
- ডাইনামিক ওয়েব অ্যাপ্লিকেশনসহ অনেক সফটওয়্যার বানাতে এটি ব্যবহার করা হয়।
- ১৯৮৯ সালে নেদারল্যান্ডের বিজ্ঞানী গুইডো ভ্যান রোসাম (Guido van Rossum) এ ভাষাটি রচনা করেন।
- পাইথনের কোর সিনট্যাক্স খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ।
- অন্যান্য ল্যাঙ্গুয়েজের যতরকম ফিচার বা নতুন নতুন সাপোর্ট আসে, সবই পাইথনে খুব সহজে ব্যবহার করা যায়।

- সাধারণত দ্রুত সফটওয়‍্যার নির্মাণের জন্য পাইথন ব্যবহৃত হয়।
- যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে, তাদের মধ্যে গুগল ও নাসা উল্লেখযোগ্য।
- ২০১৮ সালে এটি IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে।
- এটি বিভিন্ন প্ল্যাটফর্মে চলে এবং ক্লাউডভিত্তিক ওয়েব এ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস ও মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে ব্যবহার করা হয়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি (মাহবুবুর রহমান)।
৭০.
কোন ভাষাকে কম্পিউটার ভাষার জনক বলা হয়ে থাকে?
  1. Python
  2. C
  3. Java
  4. PHP
ব্যাখ্যা
'সি' প্রোগ্রামিং ভাষা:
- সি একটি বহুল ব্যবহৃত উচ্চ স্তরের প্রোগ্রামিং ভাষা।
- এটি অন্যান্য উচ্চ স্তর ল্যাংগুয়েজগুলোর মধ্যে অনেক সমৃদ্ধ ও জনপ্রিয় ভাষা।
- আমেরিকার বেল ল্যাবরেটরির ডেনিস রিচি ১৯৭০ সালে এ ভাষার উদ্ভাবন করেন।
- ভাষাটির নাম 'C' রাখা হয়েছে কারণ, B নামের অপর একটি ভাষা আগেই তৈরি হয়েছে।
- C যাতে তার গুণাগুণ না হারায় সেজন্য ১৯৮৩ সালে কম্পাইলার এবং সফ্টওয়্যার প্রস্তুতকারকদের একটি গ্রুপ আমেরিকান ন্যাশনাল স্ট্যান্ডার্ড ইনস্টিটিউট (ANSI)-কে C এর জন্য একটি নীতি নির্ধারণের আবেদন জানান।
- ১৯৮৯ সালের শেষের দিকে নির্ধারিত কমিটি C এর জন্য ANSI নীতি নির্ধারণ করে।
- সিস্টেম প্রোগ্রামিং-এর ক্ষেত্রে এ ভাষা অধিক হারে ব্যবহৃত হয়।
- উপাত্ত সঞ্চালনের বর্ণনার জন্য এ ভাষার সুবিধা অনেক বেশি বলে ভাষাটি অন্যান্য ভাষার চেয়ে অনেক বেশি জনপ্রিয়।
- C ভাষাকে কম্পিউটার ভাষার জনক বলা হয়ে থাকে।
- এ ভাষারও অনেক সংস্করণ রয়েছে। যেমন- C, ANSI C, Visual C, Turbo C প্রভৃতি।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৭১.
কোন ট্যাগ দিয়ে HTML-এ একটি সংখ্যাযুক্ত লিস্ট কিভাবে তৈরি করবেন?
  1. <ol>
  2. <dl>
  3. <list>
  4. <ul>
ব্যাখ্যা

• HTML:
- 'HTML' এর পূর্ণরূপ HyperText Markup Language.
- HTML (HyperText Markup Language) হলো একটি সহজ ডাটা ফরম্যাট, যা প্ল্যাটফর্ম-নিরপেক্ষ হাইপারটেক্সট ডকুমেন্ট তৈরি করতে ব্যবহৃত হয়।
- এটি SGML ভিত্তিক একটি মার্কআপ ভাষা, যা বিভিন্ন তথ্য উপস্থাপনের জন্য উপযুক্ত।

- HTML ওয়ার্ল্ড ওয়াইড ওয়েবে (WWW) ১৯৯০ সাল থেকে ব্যবহৃত হচ্ছে।
- HTML প্ল্যাটফর্ম-নিরপেক্ষ ওয়েবপেজ তৈরির জন্য আদর্শ ভাষা।
- HTML ওয়েবসাইট তৈরি ও তথ্য উপস্থাপনার অন্যতম প্রধান ভাষা, যা আজও ক্রমাগত উন্নত হচ্ছে।


• HTML-এ একটি সংখ্যাযুক্ত লিস্ট তৈরি করতে আমরা <ol> ট্যাগ ব্যবহার করি।

নিচে বিস্তারিত ব্যাখ্যা দেওয়া হলো:

HTML লিস্টের প্রকার:

(1)সংখ্যাযুক্ত লিস্ট (Ordered List):

এটি একটি তালিকা যেখানে প্রতিটি আইটেম একটি নির্দিষ্ট ক্রমে সাজানো থাকে, সাধারণত সংখ্যা বা অক্ষরের মাধ্যমে।

ট্যাগ: <ol>

উদাহরণ:

<ol>
<li>প্রথম আইটেম</li>
<li>দ্বিতীয় আইটেম</li>
<li>তৃতীয় আইটেম</li>
</ol>
এখানে <li> (list item) ট্যাগ ব্যবহার করে তালিকার আইটেমগুলি প্রদর্শন করা হয়।

(2) অনির্দিষ্ট লিস্ট (Unordered List):

এটি একটি তালিকা যেখানে আইটেমগুলির মধ্যে কোনো নির্দিষ্ট ক্রম নেই, প্রতিটি আইটেম একটি বুলেট পয়েন্ট দ্বারা চিহ্নিত হয়।

ট্যাগ: <ul>

(3) ডেস্ক্রিপশন লিস্ট (Description List):

এটি সাধারণত টার্ম এবং তার বর্ণনা বা সংজ্ঞা প্রদর্শন করার জন্য ব্যবহৃত হয়।

ট্যাগ: <dl>

প্রশ্নের উত্তর:
কোন ট্যাগ দিয়ে HTML-এ একটি সংখ্যাযুক্ত লিস্ট তৈরি করবেন?

সঠিক উত্তর: ক) <ol>

সূত্র: w3schools.com

৭২.
সফটওয়্যার ডেভেলপমেন্টে কোড ব্যবস্থাপনা এবং একাধিক ডেভেলপারের মধ্যে সমন্বয় সাধনের জন্য জনপ্রিয় প্ল্যাটফর্ম কোনটি?
  1. গিটহাব
  2. ওরাকল ডাটাবেজ
  3. লিনাক্স ওএস
  4. ওয়ার্ডপ্রেস
ব্যাখ্যা

• গিটহাব (GitHub) হলো একটি ক্লাউড-ভিত্তিক প্ল্যাটফর্ম যা কোড সংরক্ষণ ও ভার্সন নিয়ন্ত্রণে ব্যবহৃত হয়। এটি মূলত 'Git' প্রযুক্তি ব্যবহারের মাধ্যমে একাধিক ডেভেলপারকে একই প্রজেক্টে কাজ করার সুবিধা প্রদান করে। এর ফলে কোডের পরিবর্তনগুলো সহজেই ট্র্যাক করা এবং অন্যদের সাথে শেয়ার করা সম্ভব হয়। 
- সঠিক উত্তর: ক) গিটহাব।

• GitHub:
- GitHub হলো একটি ওপেন-সোর্স সফটওয়্যার ডেভেলপমেন্ট প্ল্যাটফর্ম, যা ব্যবহারকারীদের তাদের প্রোগ্রামিং কোড অনলাইনে শেয়ার, এডিট এবং সংরক্ষণ করার সুযোগ দেয়।
- এটি ক্লাউড কম্পিউটিং-এর মাধ্যমে একাধিক ব্যবহারকারীর জন্য অ্যাক্সেসযোগ্য।
- GitHub-এর প্রধান বৈশিষ্ট্যগুলোর মধ্যে রয়েছে ভার্সন কন্ট্রোল, সোর্স কোড ম্যানেজমেন্ট, এবং রিভিশন কন্ট্রোল।
- মাইক্রোসফট জুন ২০১৮-এ GitHub $7.5 বিলিয়ন স্টক অপশন দিয়ে কিনে। কোম্পানিটির  নতুন ফাংশন যোগ, নিরাপত্তা বৃদ্ধি এবং ডেভেলপারদের প্ল্যাটফর্মে যোগ দিতে উৎসাহিত করে GitHub-কে আরও জনপ্রিয় করেছে।
- GitHub সফটওয়্যার ডেভেলপমেন্টের জন্য প্রধান ভার্সন কন্ট্রোল সিস্টেম হিসেবে ব্যবহৃত হয়।
- এটি ব্যক্তিগত ও কোম্পানির উভয় ব্যবহারকারীর দ্বারা ব্যবহৃত হয়, যেমন Microsoft, Netflix, এবং Google।
- Fortune 100 কোম্পানির প্রায় ৯০% এই প্ল্যাটফর্ম ব্যবহার করে।

উৎস: ব্রিটানিকা।

৭৩.
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের বৈশিষ্ট্য নয় কোনটি?
  1. পলিমারফিজম
  2. ইনহেরিটেন্স
  3. এনক্যাপসুলেশন
  4. অ্যাসিনক্রোনাস
ব্যাখ্যা
• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডাটা ও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়। একে বলা হয় অবজেক্ট।
- মেসেজে আদান-প্রদানের মাধ্যমে অবজেক্টগুলো পরস্পরের সাথে যোগাযোগ রক্ষা করে।
- এই প্রোগ্রামিং পদ্ধতিতে প্রোগ্রামের ইনস্ট্রাকশনগুলো ডাটা দ্বারা নিয়ন্ত্রিত হয়।
- C++, Java, C#, Python ইত্যাদি হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ।

• মূলত ৬টি প্রাথমিক ধারণার দ্বারা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংকে উপস্থাপন করা হয়। যথা:
১. অবজেক্ট (Object),
২. ক্লাস (Class),
৩. মেসেজ (Message),
৪. পলিমারফিজম (Polymorphism),
৫. ইনহেরিটেন্স (Inheritance) এবং
৬. এনক্যাপসুলেশন (Encapsulation)।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৭৪.
কোন প্রোগ্রামটি লাইন-বাই-লাইন কোড রূপান্তর করে তাত্ক্ষণিক আউটপুট দেয়?
  1. ইন্টারপ্রেটার
  2. ডিবাগার
  3. কম্পাইলার
  4. অ্যাসেম্বলার
ব্যাখ্যা

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

১. কম্পাইলার:
- কম্পাইলার হল এমন একটি অনুবাদক যা সোর্স প্রোগ্রামকে একসাথে সম্পূর্ণরূপে মেশিনের ভাষায় অনুবাদ করে একটি অবজেক্ট প্রোগ্রাম তৈরি করে এবং একটি এক্সিকিউশন ফাইল (.exe) তৈরি করে।

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

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান, একাদশ- দ্বাদশ শ্রেণি।
২. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

৭৫.
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে একটা ক্লাসকে বর্ধিত করে নতুন আরেকটি ক্লাস সৃষ্টি করাকে কী বলে?
  1. এনক্যাপসুলেশন
  2. ইনহেরিটেন্স
  3. অ্যাবস্ট্রাকশন
  4. পলিমারফিজম
ব্যাখ্যা
• ইনহেরিটেন্স:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে একটা ক্লাসকে বর্ধিত করে নতুন আরেকটি ক্লাস সৃষ্টি করাকে ইনহেরিটেন্স বলে।
- এর ফলে নতুন ক্লাস এ পূর্বের ক্লাস এর গুণাবলি বজায় রেখে নতুন নতুন গুণাবলির সমন্বয় ঘটতে পারে।
- এখানে যে ক্লাসকে inherit করা হয় তাকে বলে base class এবং যে ক্লাস অন্য ক্লাসকে inherit করে তাকে বলে derived class ।

• পলিমারফিজম:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের এই ফিচারের মাধ্যমে প্রোগ্রামে পলিমরফিক অবজেক্ট তৈরি করে।
- পলিমরফিক অবজেক্ট হলো এমন ধরনের অবজেক্ট যার মাধ্যমে ভিন্ন ভিন্ন গঠন পাওয়া সম্ভব।

• এনক্যাপসুলেশন:
- অবজেক্ট এর attributes এবং behaviours কে একত্রিত করে ক্লাস তৈরি করাকে বলে এনক্যাপসুলেশন।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
৭৬.
Who is known as the father of the C programming language?
  1. Dennis Ritchie
  2. Bjarne Stroustrup
  3. James Gosling
  4. Guido van Rossum
ব্যাখ্যা

• Dennis Ritchie-কে সি প্রোগ্রামিং ভাষার জনক বলা হয়।

• সি প্রোগ্রামিং ভাষা:
- ডেনিস রিচি (Dennis Ritchie) বেল ল্যাবরেটরিতে UNIX অপারেটিং সিস্টেম ডেভেলপ করার জন্য প্রথম C ভাষা তৈরি করেন।
- ১৯৭০ সালে PDP-11 কম্পিউটারে প্রথম C প্রোগ্রামিং ভাষা প্রয়োগ করা হয়েছিলো।
- ১৯৭২ সালে এই ভাষার প্রথম রিলিজ হয়।
- C ভাষা একটি স্ট্রাকচার্ড প্রোগ্রামিং ভাষা।
- প্রতিটি C প্রোগ্রামিংয়ে একটি main() ফাংশন থাকে।
- বহু সুবিধার কারণে এখনও 'সি' প্রোগ্রামিং ভাষা প্রচলিত আছে।
- ডেনিস রিচি (Dennis Ritchie) এবং কেন থম্পসন (Ken Thompson) একত্রে ইউনিক্স (Unix) অপারেটিং সিস্টেম তৈরি করেছিলেন।

অন্যান্য অপশন:
- Bjarne Stroustrup: সি++ (C++) ল্যাঙ্গুয়েজ উদ্ভাবন করেন, যা মূলত সি-এর একটি অবজেক্ট ওরিয়েন্টেড সংস্করণ।
- James Gosling: জাভা (Java) প্রোগ্রামিং ল্যাঙ্গুয়েজের জনক।
- Guido van Rossum: পাইথন (Python) প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি করেন, যা বর্তমানে অত্যন্ত জনপ্রিয়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান। ব্রিটানিকা।

৭৭.
In programming, what is the term for an error in the logic or syntax of a program that prevents it from running correctly?
  1. Bug
  2. Patch
  3. Malware
  4. Script
ব্যাখ্যা

• প্রোগ্রামিংয়ের ভাষায় সফটওয়্যার বা কোডের মধ্যে থাকা ভুলকে Bug (বাগ) বলা হয়। এই ভুলটি সিনট্যাক্সগত (Syntax) হতে পারে, যার ফলে প্রোগ্রামটি রানই হবে না, অথবা এটি লজিক্যাল (Logic) হতে পারে, যার ফলে প্রোগ্রামটি ভুল ফলাফল দেবে। 
- বাগ সাধারণত প্রোগ্রামারের অসাবধানতা বা যুক্তিতে ভুলের কারণে তৈরি হয়।
- এটি সফটওয়্যারের স্থায়িত্ব নষ্ট করে এবং অনাকাঙ্ক্ষিত আচরণ তৈরি করে।
- এই বাগ খুঁজে বের করে তা ঠিক করার প্রক্রিয়াকে বলা হয় 'Debugging' (ডিবাগিং)।

• প্রোগ্রাম ডিবাগিং:
- প্রোগ্রাম তৈরির সময় বিভিন্ন কারণে প্রোগ্রামে ভুল হতে পারে, প্রোগ্রামের ভুলকে বাগ (Bug) বলে।
- প্রোগ্রামের ভুল-ত্রুটি খুঁজে বের করা এবং সংশোধন করাকে ডিবাগিং (Debugging) বলা হয়।
- সব ভুল-ত্রুটি দূর না হওয়া পর্যন্ত কোনো প্রোগ্রামই ব্যবহার করা যায় না।

• প্রোগ্রামে তিন ধরনের ভুল হতে পারে। যথা:
- ডেটা ভুল,
- যুক্তিগত ভুল এবং
- সিনট্যাক্স ভুল।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি মাহবুবুর রহমান, একাদশ-দ্বাদশ শ্রেণি।

৭৮.
কোন HTML ট্যাগ ছবি প্রদর্শনের জন্য ব্যবহৃত হয়?
  1. < image >
  2. < pic >
  3. < img >
  4. < src >
ব্যাখ্যা
• HTML-এ ছবি প্রদর্শনের জন্য <img> ট্যাগ ব্যবহার করা হয়। এটি একটি সেলফ-ক্লোজিং ট্যাগ, অর্থাৎ এর জন্য বন্ধ ট্যাগের প্রয়োজন হয় না। <img> ট্যাগের মধ্যে src অ্যাট্রিবিউট দিয়ে ছবির উৎস বা ফাইলের লিঙ্ক দেওয়া হয়, যা ব্রাউজারকে ছবিটি কোথা থেকে আনতে হবে তা নির্দেশ করে। উদাহরণস্বরূপ, <img src="image.jpg" alt="Description"> এর মাধ্যমে একটি ছবি ওয়েবপেজে দেখানো যায়। অন্যদিকে, <image>, <pic>, বা <src> ট্যাগগুলো HTML-এ ছবি প্রদর্শনের জন্য ব্যবহৃত হয় না। তাই ছবি দেখাতে হলে অবশ্যই <img> ট্যাগই ব্যবহার করতে হবে।

• এইচটিএমএল (HTML):
- Hyper Text Markup Language এর সংক্ষিপ্ত রূপ হলো HTML যা World Wide Web (www) তথ্য প্রদর্শন বা ওয়েব পেইজে তথ্য উপস্থাপন ও ফরমেট করতে প্রোগ্রামারগণ ব্যবহার করেন।
- HTML ফাইল সাধারণভাবে ওয়েব পেইজ (Web Page) নামে পরিচিত।
- জেনেভায় অবস্থিত CERN এ কাজ করার সময় টিম বার্নার্স-লি (Tim Berners-Lee) ১৯৯০ সালে সর্বপ্রথম HTML আবিষ্কার করেন। 
- উল্লেখ্য যে, HTML ফাইলের এক্সটেনশন হলো .html বা .htm।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
৭৯.
প্রথম উচ্চস্তরের প্রোগ্রামিং ভাষা কোনটি?
  1. COBOL
  2. BASIC
  3. Pascal
  4. FORTRAN
ব্যাখ্যা

◉ প্রথম উচ্চস্তরের প্রোগ্রামিং ভাষা ছিল FORTRAN (Formula Translation), যা ১৯৫৭ সালে IBM দ্বারা উন্নত করা হয়। 
এটি মূলত বৈজ্ঞানিক ও প্রকৌশল গণনার জন্য তৈরি করা হয়েছিল এবং মানুষের পড়া ও বোঝার উপযোগী সিনট্যাক্স ব্যবহার করত, যা মেশিন ভাষা বা অ্যাসেম্বলি ভাষার তুলনায় অনেক সহজ ছিল।

উচ্চ স্তরের ভাষা:
- হাই-লেভেল বা উচ্চ স্তরের ভাষা কোন সংকেত বা সাংকেতিক কোড নির্ভর নয়।
- তাছাড়া মেশিন ও অ্যাসেম্বলি ভাষায় প্রোগ্রাম লিখা অনেক কষ্টকর ও শ্রমসাধ্য ব্যাপার। এছাড়া মানুষের পক্ষে লো-লেভেল ভাষা বোঝা সহজসাধ্য নয়। এই অসুবিধা দুর করার জন্য উচ্চ স্তরের ভাষার উদ্ভব হয়।
- এই স্তরের ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব।
- উচ্চ স্তরের ভাষা মানুষের ভাষার (যেমন- ইংরেজি ভাষা) সাথে মিল রেখে তৈরি করা হয়েছে।
- উচ্চ স্তরের ভাষার মধ্যে উল্লেখযোগ্য কয়েকটি ভাষা হচ্ছে- BASIC, COBOL, FORTRAN, PASCAL, C++, JAVA, PROLOG ইত্যাদি।
- কম্পাইলার বা ইন্টারপ্রেটার নামক প্রোগ্রাম ব্যবহার করে এ ভাষায় লিখিত প্রোগ্রাম মেশিনের ভাষায় অনুবাদ করা হয়।

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

উৎস: 
১। তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
২। IBM ওয়েবসাইট। 

৮০.
পাইথন প্রোগ্রামিং ভাষার প্রবর্তক হিসেবে কে পরিচিত?
  1. Guido Van Rossum
  2. James Gosling
  3. Dennis Ritchie
  4. Bjarne Stroustrup
ব্যাখ্যা

• Guido van Rossum- হলেন পাইথন প্রোগ্রামিং ভাষার উদ্ভাবক।

• পাইথন (Python):
- পাইথন হচ্ছে প্রোগ্রামিং ভাষাসমূহের অন্যতম হাই-লেভেল অবজেক্ট ওরিয়েন্টেড ভাষা।
-ডাইনামিক ওয়েব অ্যাপ্লিকেশনসহ অনেক সফটওয়্যার বানাতে এটি ব্যবহার করা হয়।
-১৯৮৯ সালে নেদারল্যান্ডের বিজ্ঞানী ভ্যান রোসাম (Van Rossum) এ ভাষাটি রচনা করেন।
পাইথনের কোর সিনট্যাক্স খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ।
অন্যান্য ল্যাঙ্গুয়েজের যতরকম ফিচার বা নতুন নতুন সাপোর্ট আসে, সবই পাইথনে খুব সহজে ব্যবহার করা যায়।
-সাধারণত দ্রুত সফটওয়্যার নির্মাণের জন্য পাইথন ব্যবহৃত হয়।
-যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে, তাদের মধ্যে গুগল ও নাসা উল্লেখযোগ্য।
- ২০১৮ সালে এটি IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে।
-এটি বিভিন্ন প্ল্যাটফর্মে চলে এবং ক্লাউডভিত্তিক ওয়েব এ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস ও মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে ব্যবহার করা হয়।

উল্লেখ্য,
- James Gosling: Java প্রোগ্রামিং ভাষার প্রধান উদ্ভাবক।
- Dennis Ritchie: 'C' প্রোগ্রামিং ভাষার উদ্ভাবক।
- Bjarne Stroustrup: (C++) প্রোগ্রামিং ভাষার প্রবর্তক হিসেবে পরিচিত।

উৎস:
১। তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
২। ব্রিটানিকা।

৮১.
জাভা প্রোগ্রামিং ভাষার উদ্ভাবক প্রতিষ্ঠান কোনটি?
  1. Oracle
  2. Intel
  3. IBM
  4. Microsoft
ব্যাখ্যা
• জাভা প্রোগ্রামিং ভাষার উদ্ভাবক প্রতিষ্ঠান হচ্ছে "Oracle"।

• জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ:

- জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ হলো একটি উচ্চস্তরের অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
- ১৯৯১ সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের কাজের সূচনা করে।
- জেমস গসলিং সেই কাজের নেতৃত্ব দেন।
- ১৯৯৫ সালে তারা ভাষাটিকে রিলিজ করেন।
- ২০১০ সালে Oracle Corporation সান মাইক্রো সিস্টেম কিনে নিলে জাভা ভাষার ম্যানেজমেন্টও তাদের মালিকানায় চলে আসে।
- জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজে লেখা প্রোগ্রামগুলোর এক্সটেনশন হিসেবে সাধারণত .java ব্যবহার করা হয়।

• অন্যান্য অপশন আলোচনা:
• IBM:
- IBM একটি আমেরিকান বহুজাতিক প্রযুক্তি কোম্পানি।
- IBM এর পুরো নাম International Business Machines Corporation.

• Microsoft:
- কম্পিউটার সফটওয়্যার জগতে সবচেয়ে নামকরা প্রতিষ্টান হচ্ছে মাইক্রোসফট।
- মাইক্রোসফটের সদরদপ্তর অবস্তিত যুক্তরাষ্ট্রের ওয়াশিংটনে।
- মাইক্রোসফটের প্রতিষ্ঠাতা Bill Gates এবং Paul Allen.

• Intel:

- এটি পৃথিবীর প্রথম মাইক্রোপ্রসেসর

উৎস: ব্রিটানিকা।
৮২.
কম্পিউটারের নিজস্ব ভাষা বলা হয় কোনটিকে?
  1. মেশিন ভাষা
  2. ন্যাচারাল ল্যাঙ্গুয়েজ
  3. অ্যাসেম্বলি ভাষা
  4. অতি উচ্চ স্তরের ভাষা
ব্যাখ্যা

• মেশিন ভাষা:
- কম্পিউটারে সবচেয়ে নিচের স্তরের ভাষা হলো মেশিন ভাষা।
- কম্পিউটারের নিজস্ব ভাষাকে মেশিন ভাষা বা নিম্নস্তরের ভাষা বলা হয়।
- কম্পিউটারের মৌলিক ভাষা হলো এই নিম্নস্তরের ভাষা।
- এ ভাষায় বাইনারি সংখ্যা (1) এবং (0) অথবা হেক্সাডেসিম্যাল পদ্ধতি ব্যবহার করে সবকিছু লেখা হয়।
- কম্পিউটার শুধুমাত্র মেশিন ভাষাই বুঝতে পারে।
- কম্পিউটারের অভ্যন্তরীণ কার্যনির্বাহের জন্য বিদ্যুৎ তরঙ্গের পারস্পরিক ক্রিয়া-প্রতিক্রিয়ার সাথে মেশিনের ভাষার সরাসরি মিল রয়েছে।

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

৮৩.
নিচের কোন ক্ষেত্রে C++ প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহৃত হয়?
  1. ডিভাইস ড্রাইভার
  2. এম্বেডেড সফট্ওয়্যার
  3. সিস্টেম সফট্ওয়্যার
  4. উপরের সকল ক্ষেত্রে
ব্যাখ্যা
• C++:
- C++ এক ধরনের অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
- ১৯৮০ সালে বিয়ার্নে স্ট্রোভস্ট্রপ যুক্তরাষ্ট্রের AT&T Bell Laboratory এটি তৈরি করেন।
- মূলত সিমুলা 67 এবং C প্রোগ্রামিং ভাষার সুবিধাজনক বৈশিষ্ট্যগুলোর সমন্বয় সাধন করে C++ তৈরি হয়।
- এটি তৃতীয় প্রজন্মের একটি প্রোগ্রামিং ভাষা।
- এটি একটি মধ্যম স্তরের প্রোগ্রামিং ভাষা যাতে উচ্চ স্তর এবং নিম্ন স্তরের ভাষাগুলোর সুবিধা সংযুক্ত আছে।
- এটি সর্বকালের অন্যতম জনপ্রিয় প্রোগ্রামিং ভাষা এবং সফটওয়্যার শিল্পে এটি বহুল ব্যবহৃত হয়।
- সিস্টেম সফট্ওয়্যার, অ্যাপ্লিকেশন সফট্ওয়্যার, ডিভাইস ড্রাইভার, এম্বেডেড সফট্ওয়্যার, উচ্চমানের সার্ভার ও ক্লাইন্ট অ্যাপ্লিকেশন, বিনোদন সফট্ওয়্যার যেমন- ভিডিও গেইম ইত্যাদি ক্ষেত্রে C++ ব্যবহৃত হচ্ছে।
- C++ এর বিভিন্ন মুক্ত এবং মালিকানাধীন কম্পাইলার আছে যা বিভিন্ন দল যেমন- জিএনইউ প্রকল্প, মাইক্রোসফট, ইন্টেল এবং বোরল্যান্ড সরবরাহ করে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
৮৪.
FORTRAN - এ TRAN এর পূর্ণ রূপ কোনটি?
  1. Translation
  2. Transfer
  3. Transition
  4. Transaction
ব্যাখ্যা
• ফোরট্রান (FORTRAN):
- FORTRAN এর পূর্ণরূপ Formula Translation.
- FORTRAN হলো বিশ্বের প্রথম সফল কম্পিউটার প্রোগ্রামিং ভাষা।
- ফোরট্রান আদিতম উচ্চস্তরের নির্দেশমূলক প্রোগ্রামিং ভাষা।

- জন বাকাস ও তাঁর সহযোগীরা আইবিএম-এ কর্মরত থাকা অবস্থায় ১৯৫০-এর দশকের মাঝামাঝি এটি তৈরি করেন।
- ফোরট্রানের সবচেয়ে গুরুত্বপূর্ণ সংস্করণগুলো হচ্ছে:
- ফোরট্রান I,
- ফোরট্রান II,
- ফোরট্রান iv,
- ফোরট্রান ৭৭, এবং
- ফোরট্রান ৯০।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৮৫.
সর্বপ্রথম উদ্ভাবিত স্প্রেডশিট সফটওয়্যার কোনটি?
  1. কেস্প্রেড
  2. ভিসিক্যালক
  3. ওপেন অফিস ক্যাল্ক
  4. মাইক্রোসফট এক্সেল
ব্যাখ্যা
স্প্রেডশিট: 
- স্প্রেডশিটের আভিধানিক অর্থ হলো ছড়ানো বড় মাপের কাগজ, ব্যবসায় প্রতিষ্ঠানের আর্থিক হিসাব সংরক্ষণের জন্য এ ধরনের কাগজ ব্যবহার করা হয়। 
- বর্তমানে কাগজের স্প্রেডশিটের স্থান দখল করেছে সফটওয়্যার নির্ভর স্প্রেডশিট প্রোগ্রাম। 
- সত্তর দশকের শেষের দিকে অ্যাপল কোম্পানি সর্বপ্রথম ভিসিক্যালক (VisiCalc) স্প্রেডশিট সফটওয়্যার উদ্ভাবন করে। 
- পরবর্তীকালে মাইক্রোসফট এক্সেল (Microsoft Excel), ওপেন অফিস ক্যাল্ক (Open office Calc) কেস্প্রেড (Kspread) নামের স্প্রেডশিট সফটওয়্যার উদ্ভাবিত হয়। 
- বর্তমানে বহুল ব্যবহৃত ও জনপ্রিয় স্প্রেডশিট সফটওয়্যার হলো মাইক্রোসফট কোম্পানির এক্সেল (Excel)। 

স্প্রেডশিট প্রোগ্রাম: 
- স্প্রেডশিট হলো এক ধরনের অ্যাপ্লিকেশন কম্পিউটার প্রোগ্রাম। 
- এটিকে কখনো কখনো ওয়ার্কবুক বলা হয়। 
- একটি রেজিস্টার খাতায় যেমন অনেকগুলো পৃষ্ঠা থাকে, তেমনি একটি ওয়ার্কবুকে অনেকগুলো ওয়ার্কশিট থাকে। 
- একেকটা ওয়ার্কশিটে বহুসংখ্যক সারি (row) ও কলাম (column) থাকে। 
- স্প্রেডশিট প্রোগ্রামে একটা ওয়ার্কশিটে সবধরনের উপাত্ত প্রবেশ করানো যায়। 
- ফলে যেকোনো ধরনের, যেকোনো সংখ্যক উপাত্ত অল্প সময়ে সম্পাদনা করা, হিসাব করা, বিশ্লেষণ করা এবং প্রতিবেদন তৈরি করার কাজ স্প্রেডশিট প্রোগ্রামের মাধ্যমে করা যায়। 

উৎস: তথ্য ও যোগাযোগ  প্রযুক্তি, অষ্টম শ্রেণি।
৮৬.
নিম্নের কোনটি Compiler এর কাজ নয়?
  1. Source Code কে Machine Code এ রূপান্তর
  2. Syntax Error খুঁজে বের করা
  3. Program Runtime এ Execute করা
  4. Code Optimization করা
ব্যাখ্যা

Compiler হলো একটি সফটওয়্যার, যা উচ্চ-স্তরের প্রোগ্রামিং ভাষা (High-level Language) কে Machine Code/Executable File-এ রূপান্তর করে। এর প্রধান কাজগুলো হলো—
• Source Code কে Machine Code এ রূপান্তর – Compiler-এর মূল কাজ।
• Syntax Error খুঁজে বের করা – কোডে ভাষাগত ভুল (syntax errors) থাকলে Compiler তা শনাক্ত করে।
• Code Optimization করা – Compiler প্রোগ্রামের কর্মদক্ষতা বাড়াতে অপ্রয়োজনীয় অংশ বাদ দেয় বা অপ্টিমাইজ করে।

​কিন্তু, Program Runtime এ Execute করা → এটি Compiler-এর কাজ নয়। Runtime এ execution করার কাজ হলো Interpreter-এর।

​কম্পাইলার:
- কম্পাইলার হলো এমন একটি অনুবাদক যা সোর্স প্রোগ্রাম একসাথে সম্পূর্ণরূপে মেশিনের ভাষায় অনুবাদ করে একটি অবজেক্ট প্রোগ্রাম তৈরি করে এবং একটি এক্সিকিউশন ফাইল (.exe) তৈরি করে।
- এখানকার এক্সিকিউশন ফাইল অত্যন্ত দ্রুততার সাথে এক্সিকিউট হয়ে থাকে।
- ফলে প্রোগ্রামিং প্রক্রিয়া অত্যন্ত দ্রুততর হয় এবং প্রোগ্রামারকে নিজ হাতে কোন অনুবাদকের কাজ করতে হয় না।
- কোন নির্দিষ্ট কম্পাইলার একটি মাত্র উচ্চতর ভাষার প্রোগ্রামকে কম্পাইল করতে পারে।
- কম্পাইলার অনুবাদ করা ছাড়াও উৎস প্রোগ্রামের গুণাগুণও বিচার করতে পারে।

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
২. কম্পিউটার ও তথ্য প্রযুক্তি-১, এসএসসি, ভোকেশনাল।

৮৭.
উৎস প্রোগ্রাম → ? → বস্তু প্রোগ্রাম। (?) প্রশ্নবোধক স্থানে কি হবে?
  1. ইন্টারপ্রেটার
  2. অ্যাসেম্বলার
  3. কম্পাইলার
  4. লিংকার
ব্যাখ্যা

উৎস প্রোগ্রাম → কম্পাইলার → বস্তু প্রোগ্রাম

অনুবাদক প্রোগ্রাম:
- যে প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে পরিণত করা হয়, তাকে অনুবাদক প্রোগ্রাম বলে।
- তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে। যথা-
১. কম্পাইলার
২. ইন্টারপ্রেটার
৩. অ্যাসেম্বলার

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

উল্লেখ্য,
ইন্টারপ্রেটার:
- ইন্টারপ্রেটার প্রোগ্রামকে এক লাইন করে সম্পাদন করে এবং তাৎক্ষণিক ফলাফল প্রদান করে।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি।(মাহবুবুর রহমান)

৮৮.
এনক্যাপসুলেশন নিচের কোন ভাষার বৈশিষ্ট্য নয়?
  1. Python
  2. Java
  3. C
  4. C#
ব্যাখ্যা
• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডাটা ও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়। একে বলা হয় অবজেক্ট।
- মেসেজে আদান-প্রদানের মাধ্যমে অবজেক্টগুলো পরস্পরের সাথে যোগাযোগ রক্ষা করে।
- এই প্রোগ্রামিং পদ্ধতিতে প্রোগ্রামের ইনস্ট্রাকশনগুলো ডাটা দ্বারা নিয়ন্ত্রিত হয়।
- C++, Java, C#, Python ইত্যাদি হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ
- মূলত ৬টি প্রাথমিক ধারণার দ্বারা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংকে উপস্থাপন করা হয়।

যেমন:
১. অবজেক্ট (Object),
২. ক্লাস (Class),
৩. মেসেজ (Message),
৪. পলিমারফিজম (Polymorphism),
৫. ইনহেরিটেন্স (Inheritance) এবং
৬. এনক্যাপসুলেশন (Encapsulation)। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৮৯.
নিম্নলিখিত কোনটি JSON এর সঠিক পূর্ণরূপ?
  1. JavaScript Object Notation
  2. Java Standard Object Notation
  3. JavaScript Oriented Notation
  4. Java Structured Object Notation
ব্যাখ্যা

JSON এর পূর্ণরূপ হলো JavaScript Object Notation।

• JSON:
- JSON এর পূর্ণরূপ হলো JavaScript Object Notation.
- একটি হালকা ডেটা-ইন্টারচেঞ্জ ফরম্যাট। এটি মানুষের কাছে সহজে পাঠযোগ্য এবং লেখার উপযোগী, এবং কম্পিউটারের কাছে সহজে পার্স ও জেনারেট করার উপযোগী।
- এটি মূলত ডেটার কাঠামো বজায় রাখার জন্য একটি টেক্সট বেইজড ডেটা বিনিময় বিন্যাস।
- JSON হলো JSON-এ XML ডেটা এক্সচেঞ্জ ফরম্যাটের প্রতিস্থাপন।
- JSON একটি ল্যাঙ্গুয়েজ ইনডিপেন্ডেন্ট ফরম্যাট যা জাভাস্ক্রিপ্ট থেকে উদ্ভূত।
- JSON-এর অফিসিয়াল মিডিয়া টাইপ হল application/json এবং .json এক্সটেনশনে ফাইল সংরক্ষণ করে।
- JSON প্রাথমিকভাবে 2000 এর দশকের গোড়ার দিকে ডগলাস ক্রকফোর্ড দ্বারা তৈরি করা হয়েছিল।

উৎস: ব্রিটানিকা।

৯০.
জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবন করেন কে?
  1. ভ্যান রোসাম
  2. জেমস গসলিং
  3. মার্শাল ম্যাকলুহান
  4. অগাস্টা অ্যাডা
ব্যাখ্যা
• জেমস গসলিং জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবন করে।

• Java programming language:
- Java programming language হলো একটি উচ্চস্তরের অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা।
- ১৯৯১ সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের কাজের সূচনা করে।
- জেমস গসলিং সেই কাজের নেতৃত্ব দেন।
- ১৯৯৫ সালে তারা ভাষাটিকে রিলিজ করেন।
- ২০১০ সালে Oracle Corporation সান মাইক্রো সিস্টেম কিনে নিলে জাভা ভাষার ম্যানেজমেন্টও তাদের মালিকানায় চলে আসে।

উৎস: ব্রিটানিকা।
৯১.
নিচের কোনটি স্প্রেডশিট প্যাকেজ প্রোগ্রাম?
  1. Word Note
  2. dBase
  3. Lotus 1-2-3
  4. Foxpro
ব্যাখ্যা
• অ্যাপ্লিকেশন সফটওয়্যার:
- ব্যবহারকারী যে সকল সফটওয়্যার ব্যবহার করে ব্যবহারিক সমস্যা সমাধান বা ডেটা প্রক্রিয়াকরণের কাজ করতে পারে তাকে অ্যাপ্লিকেশন প্রোগ্রাম বা ব্যবহারিক সফটওয়্যার বলা হয়। যেমন-
• Word Processing Package Program: Word Star, Word Perfect, Ms-Word, Word Note ইত্যাদি।
• Spreadsheet Package Program: Lotus 1-2-3, Ms-Excel, Qrater Pro ইত্যাদি।
• Database Package Program: dBase, Foxpro, Oracle, Informix, Access ইত্যাদি।

- অ্যাপ্লিকেশন প্রোগ্রামকে দুই ভাগে ভাগ করা যায়। যথা-
১. সাধারণ ব্যবহারিক প্রোগ্রাম বা প্যাকেজ প্রোগ্রাম (General Application Program or Package Program):
- বাণিজ্যিকভাবে সুনির্দিষ্ট কাজের জন্য তৈরীকৃত সফটওয়্যার বা প্রোগ্রামকে সাধারণ ব্যবহারিক প্রোগ্রাম বলা হয়।
- উল্লেখযোগ্য সাধারণ অ্যাপ্লিকেশন প্রোগ্রামগুলো হলো:
• এমএস অফিস,
• ইন্টারনেট এক্সপ্লোরার,
• নেটস্কেপ নেভিগেটর,
• নেটস্কেপ কমিউনিকেটর,
• ইলেকট্রনিক মেইল,
• পেজ মেকার,
• ফটোশপ,
• ইলাস্ট্রেটর ইত্যাদি।

২. অ্যাপ্লিকেশন সুনির্দিষ্ট প্রোগ্রাম বা কাস্টমাইজড প্রোগ্রাম (Application Specific or Customized Program):
- অ্যাপ্লিকেশন সুনির্দিষ্ট প্রোগ্রাম বা কাস্টমাইজড হলো কাজের ধরন ও সমস্যা অনুযায়ী ব্যবহারকারীর জন্য কোনো দক্ষ প্রোগ্রামার বা কোনো বাণিজ্যিক প্রতিষ্ঠান দ্বারা বিশেষভাবে তৈরীকৃত প্রোগ্রাম।
- কাস্টমাইজড প্রোগ্রাম মূলত ব্যাংক, বীমা, হাসপাতাল ও বিভিন্ন বাণিজ্যিক প্রতিষ্ঠানে ব্যবহৃত হয়ে থাকে।
- উল্লেখযোগ্য কাস্টমাইজড প্রোগ্রাম হলোঃ
• ব্যাংকিং সফটওয়্যার,
• ইলেকট্রনিস কমার্স,
• পেরোল সিস্টেম ইত্যাদি হলো অ্যাপ্লিকেশন সুনির্দিষ্ট প্রোগ্রাম। 

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রােগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৯২.
কৃত্রিম বুদ্ধিমত্তা প্রয়োগের ক্ষেত্রে কোন প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করা হয়? 
  1. Python
  2. Java
  3. PROLOG
  4. সবগুলোই
ব্যাখ্যা
কৃত্রিম বুদ্ধিমত্তা: 
- কৃত্রিম বুদ্ধিমত্তা প্রয়োগের ক্ষেত্রে প্রধানত Java, MATLAB, Python, SHRDLU, PROLOG LISP, CLISP, R ইত্যাদি প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করা হয়। 
- কার্যকারিতা ও প্রয়োজনীয়তার ভিত্তিতে ডেভেলপারগণ তাঁদের পছন্দসই প্রোগ্রাম ব্যবহার করে থাকেন। 
- আর্টিফিশিয়াল ইন্টেলিজেন্সের সবচেয়ে সফল ক্ষেত্র হিসেবে মেশিন লার্নিং-এর কথা বলা যায়। 
- মেশিন লার্নিং-কে মোটা দাগে তিন ভাগে ভাগ করা যায়। 
যথা - 
১। সুপারভাইজড লার্নিং, 
২। আনসুপারভাইজড লার্নিং এবং 
৩। রিইনফোর্সমেন্ট লার্নিং। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ ও আলিম শ্রেণি।
৯৩.
নিচের কোনটি উচ্চতর প্রোগ্রামিং ভাষা?
  1. COBOL
  2. ORACLE
  3. HTML
  4. SQL
ব্যাখ্যা
COBOL একটি উচ্চতর ভাষা।

• উচ্চতর ভাষা (High Level Language):
- উচ্চতর ভাষা মানুষের ভাষার (যেমন- ইংরেজি ভাষা) সাথে মিল রেখে তৈরি করা হয়েছে।
- উচ্চতর ভাষার মধ্যে উল্লেখযোগ্য কয়েকটি ভাষা হচ্ছে- BASIC, COBOL, FORTRAN, PASCAL, C++, JAVA, PROLOG ইত্যাদি।
- কম্পাইলার বা ইন্টারপ্রেটার নামক অনুবাদক প্রোগ্রাম ব্যবহার করে এ ভাষায় লিখিত প্রোগ্রাম মেশিনের ভাষায় অনুবাদ করা হয়।
- এরপর কম্পিউটার এ জাতীয় প্রোগ্রাম বুঝতে পারে।

• উচ্চস্তরের ভাষাকে দুভাগে ভাগ করা যায়:
(১) সাধারণ কাজের (General purpose) ভাষা ও
(২) বিশেষ কাজের (Special purpose) ভাষা।

- যে ভাষা সব ধরনের কাজের জন্য ব্যবহার হয় তাকে সাধারণ কাজের ভাষা বলে। যেমন- বেসিক, সি, প্যাসকল ইত্যাদি।
- যে ভাষা শুধু বিশেষ বিশেষ কাজে ব্যবহার হয় তাকে বিশেষ কাজের ভাষা বলে। যেমন- কোবল, ফোরট্রান।

• বিশেষ কাজের ভাষাকে বিভিন্ন ভাগে ভাগ করা যায়:
- বাণিজ্যিক প্রয়োগের ভাষা কোবল।
- বৈজ্ঞানিক প্রয়োগের ভাষা ফরট্রান।
- বহুপ্রয়োগের ভাষা বেসিক, ফরট্রান, এ্যাডা ইত্যাদি।

অন্যান্য অপশন:
খ) ORACLE - ডাটাবেজ ব্যবস্থাপনার জন্য বিশেষ সফটওয়্যার এবং ভাষা।
গ) HTML - ওয়েব পেজ তৈরির জন্য মার্কআপ ভাষা,
ঘ) SQL - ডাটাবেজ ব্যবস্থাপনার জন্য বিশেষ ভাষা।

উৎস: এসএসসি প্রোগ্রাম, কম্পিউটার শিক্ষা, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৯৪.
কোন প্রজন্মের কম্পিউটারে প্রথম উচ্চতর প্রোগ্রামিং ল্যাঙ্গুয়েজের উদ্ভব ও প্রচলন শুরু হয়?
  1. প্রথম প্রজন্ম
  2. দ্বিতীয় প্রজন্ম
  3. তৃতীয় প্রজন্ম
  4. চতুর্থ প্রজন্ম
ব্যাখ্যা
• কম্পিউটারের দ্বিতীয় প্রজন্ম:
- ১৯৫৯ সাল হতে ১৯৬৫ সাল পর্যন্ত আবিষ্কৃত কম্পিউটারেকে দ্বিতীয় প্রজন্মের কম্পিউটার হিসাবে ধরা হয়।
- ট্রানজিস্ট্রর আবিষ্কার হওয়ার ফলে এই প্রজন্মের কম্পিউটারে বায়ুশূন্য ভালবের পরিবর্তে ট্রানজিস্ট্রর ব্যবহৃত হয়।
- এই প্রজন্মের কম্পিউটারে ট্রানজিস্ট্রর ব্যবহারের ফলে কম্পিউটারের আকার ছোট হয়, দাম কমে যায়, কম্পিউটারের গতি বৃদ্ধি পায় এবং বিদ্যুৎ খরচের পরিমাণও অনেক কমে যায়।
- দ্বিতীয় প্রজন্মের কম্পিউটারেই প্রথম উচ্চতর প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন ফোরট্রান (FORTRAN), কোবল (COBOL) ইত্যাদির উদ্ভব ও প্রচলন শুরু হয়।
- IBM-1400, CDC 1604, RCA 301, RCA 501, NCR 300, GE 200 ইত্যাদি দ্বিতীয় প্রজন্মের কম্পিউটার।

উৎস: কম্পিউটার শিক্ষা, এসএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
৯৫.
FORTRAN-এর মধ্যে TRAN এর পূর্ণ রূপ কী?
  1. Transaction
  2. Transition
  3. Translation
  4. Transfer
ব্যাখ্যা
• ফোরট্রান (FORTRAN):
- FORTRAN এর পূর্ণরূপ Formula Translation.
- FORTRAN হলো বিশ্বের প্রথম সফল কম্পিউটার প্রোগ্রামিং ভাষা।
- ফোরট্রান আদিতম উচ্চস্তরের নির্দেশমূলক প্রোগ্রামিং ভাষা।

- জন বাকাস ও তাঁর সহযোগীরা আইবিএম-এ কর্মরত থাকা অবস্থায় ১৯৫০-এর দশকের মাঝামাঝি এটি তৈরি করেন।
- ফোরট্রানের সবচেয়ে গুরুত্বপূর্ণ সংস্করণগুলো হচ্ছে:
- ফোরট্রান I,
- ফোরট্রান II,
- ফোরট্রান iv,
- ফোরট্রান ৭৭, এবং
- ফোরট্রান ৯০।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
৯৬.
'সি' প্রোগ্রামিং ভাষায় সমজাতীয় ডেটা সংরক্ষণের জন্য কোনটি ব্যবহৃত হয়?
  1. অ্যারে
  2. পয়েন্টার
  3. স্ট্রাকচার
  4. ফাইল
ব্যাখ্যা
- 'সি' প্রোগ্রামিং ভাষায় সমজাতীয় ডেটা সংরক্ষণের জন্য অ্যারে ব্যবহৃত হয়।

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

- সি একটি বহুল ব্যবহৃত উচ্চ স্তরের প্রোগ্রামিং ভাষা।
- আমেরিকার বেল ল্যাবরেটরির ডেনিস রিচি ১৯৭০ সালে এ ভাষার উদ্ভাবন করেন।
- ১৯৮৩ সালে কম্পাইলার এবং সফ্টওয়্যার প্রস্তুতকারকদের একটি গ্রুপ আমেরিকান ন্যাশনাল স্ট্যান্ডার্ড ইনস্টিটিউট (ANSI)-কে C এর জন্য একটি নীতি নির্ধারণের আবেদন জানান। অতঃপর ১৯৮৯ সালের শেষের দিকে নির্ধারিত কমিটি C এর জন্য ANSI নীতি নির্ধারণ করে।
- C ভাষাকে কম্পিউটার ভাষার জনক বলা হয়ে থাকে। এ ভাষারও অনেক সংস্করণ রয়েছে। যেমন- C, ANSI C, Visual C, Turbo C প্রভৃতি।
- C ভাষা একটি স্ট্রাকচারড প্রোগ্রামিং ভাষা।
- প্রতিটি C প্রোগ্রামিংয়ে একটি main () ফাংশন (Function) থাকে।
- প্রতিটি প্রোগ্রামিং স্টেটমেন্ট শেষ হয় সেমিকোলন দ্বারা।
- প্রতিটি চলক ব্যবহারের পূর্বেই তাদের ডাটা টাইপ উল্লেখ থাকে।
- Header ফাইলগুলো #include দ্বারা যুক্ত করা হয়।
- সি ভাষায় অনেক লাইব্রেরী ফাংশন, কন্ট্রোল স্টেটমেন্ট ইত্যাদির সুবিধা আছে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
৯৭.
Prolog প্রোগ্রামিং ল্যাঙ্গুয়েজটি কোথায় সবচেয়ে বেশি ব্যবহৃত হয়?
  1. UX/UI Design
  2. Data Analysis
  3. Artificial Intelligence
  4. Website Development
ব্যাখ্যা
• আর্টিফিশিয়াল ইন্টেলিজেন্স (Artificial Intelligence):
- কৃত্রিম বুদ্ধিমত্তা হলো মানুষের চিন্তাভাবনা গুলোকে কৃত্রিম উপায়ে কম্পিউটার বা কম্পিউটার প্রযুক্তি নির্ভর যন্ত্রের মধ্যে রূপ দেয়ার ব্যবস্থা। 
- ১৯৫৬ সালে জন ম্যাকার্থী সর্বপ্রথম আর্টিফিশিয়াল ইন্টেলিজেন্স শব্দটি উল্লেখ করেন।
- আর্টিফিশিয়াল ইন্টেলিজেন্সে ব্যবহৃত প্রোগ্রামিং ভাষা: LISP, PROLOG, C/C++, CLISP, JAVA, MATLAB, Python, SHRDLU ইত্যাদি।
- কৃত্রিম বুদ্ধিমত্তার বাস্তব প্রোয়োগ হলো রোবট।
- আর্টিফিশিয়াল ইন্টেলিজেন্সের আওতায় বেশ কিছু ক্ষেত্র রয়েছে, যার মধ্যে উল্লেখযোগ্য হচ্ছে: মেশিন লার্নিং, রোবটিক্স, কম্পিউটার ভিশন, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP), স্পিচ প্রসেসিং ইত্যাদি। 

 উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
২. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ- দ্বাদশ ও আলিম শ্রেণি।
৯৮.
নিচের কোনটি স্ট্রাকচার্ড প্রোগ্রামিং এর উদাহরণ নয়?
  1. C
  2. ALGOL
  3. Fortran
  4. Pascal
ব্যাখ্যা
• Fortran অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ।

• স্ট্রাকচার্ড প্রোগ্রামিং:

- স্ট্রাকচার্ড প্রোগ্রামিং এমন এক ধরনের প্রোগ্রামিং যেখানে প্রোগ্রামের স্টেটমেন্টগুলো ভিন্ন ভিন্ন শ্রেণিতে বিভক্ত করে লেখা হয়।
- স্ট্রাকচার্ড প্রোগ্রামিং এ টপ-ডাউন-অ্যাপ্রোচের মাধ্যমে প্রোগ্রামকে কতকগুলো অংশ বা মডিউলে ভাগ করা হয়।
- C, Pascal, QBASIC, ALGOL, PL/I, Ada ইত্যাদি হলো স্ট্রাকচার্ড প্রোগ্রামিং এর উদাহরণ।
- স্ট্রাকচার্ড প্রোগ্রামিংয়ের গঠন তিন ধরনের হয়ে থাকে। যথা-
১। পর্যায়ক্রমিক গঠন (Sequential Structure),
২। চক্র বা লুপ (Loop) ও
৩। ডিশিসন স্টেটমেন্ট (Desicion Statement)

• স্ট্রাকচার্ড প্রোগ্রামিংয়ের বৈশিষ্ট্য:
- এটা সহজে অনুধাবনযোগ্য।
- ডিবাগিং করা সহজ।
- সহজে রক্ষণাবেক্ষণ করা যায়।
- সহজে রচনা করা যায়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
৯৯.
২০১৮ সালে IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে কোন প্রোগ্রামিং ভাষাটি?
  1. Python
  2. Java
  3. Sql
  4. C++
ব্যাখ্যা
• পাইথন (Python):
- পাইথন হচ্ছে প্রোগ্রামিং ভাষাসমূহের অন্যতম হাই-লেভেল অবজেক্ট ওরিয়েন্টেড ভাষা।
- ডাইনামিক ওয়েব অ্যাপ্লিকেশনসহ অনেক সফটওয়্যার বানাতে এটি ব্যবহার করা হয়।
- ১৯৮৯ সালে নেদারল্যান্ডের বিজ্ঞানী ভ্যান রোসাম (Van Rossum) এ ভাষাটি রচনা করেন।
- পাইথনের কোর সিনট্যাক্স খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ।
- অন্যান্য ল্যাঙ্গুয়েজের যতরকম ফিচার বা নতুন নতুন সাপোর্ট আসে, সবই পাইথনে খুব সহজে ব্যবহার করা যায়।
- সাধারণত দ্রুত সফটওয়‍্যার নির্মাণের জন্য পাইথন ব্যবহৃত হয়।
- যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে, তাদের মধ্যে গুগল ও নাসা উল্লেখযোগ্য।
- ২০১৮ সালে এটি IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে।
- এটি বিভিন্ন প্ল্যাটফর্মে চলে এবং ক্লাউডভিত্তিক ওয়েব এ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস ও মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে ব্যবহার করা হয়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ মাহবুবুর রহমান।
১০০.
কোডে থাকা ত্রুটিগুলি শনাক্ত ও সমাধান করার প্রক্রিয়ার নাম কী?
  1. Installation
  2. Compiling
  3. Programming
  4. Debugging
ব্যাখ্যা
• প্রোগ্রাম ডিবাগিং:
- প্রোগ্রাম তৈরির সময় বিভিন্ন কারণে প্রোগ্রামে ভুল হতে পারে, প্রোগ্রামের ভুলকে বাগ (Bug) বলে।
- প্রোগ্রামের ভুল-ত্রুটি খুঁজে বের করা এবং সংশোধন করাকে ডিবাগিং (Debugging) বলা হয়।
- সব ভুল-ত্রুটি দূর না হওয়া পর্যন্ত কোনো প্রোগ্রামই ব্যবহার করা যায় না।

• প্রোগ্রামে তিন ধরনের ভুল হতে পারে। যথা:
- ডেটা ভুল,
- যুক্তিগত ভুল এবং
- সিনট্যাক্স ভুল।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি মাহবুবুর রহমান, একাদশ-দ্বাদশ শ্রেণি।