বিষয়সমূহ

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

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

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

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

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

১০১.
কম্পাইলার কিভাবে কাজ করে? 
  1. শুধু প্রোগ্রামের ভুলগুলো পরীক্ষা করে
  2. প্রোগ্রামের প্রতিটি স্টেটমেন্টকে এক এক করে পরীক্ষা করে
  3. একটি স্টেটমেন্ট একবারে মেশিন কোডে রূপান্তর করে
  4. পুরো প্রোগ্রামটি একবারে কম্পাইল করে মেশিন কোডে রূপান্তর করে
সঠিক উত্তর:
পুরো প্রোগ্রামটি একবারে কম্পাইল করে মেশিন কোডে রূপান্তর করে
উত্তর
সঠিক উত্তর:
পুরো প্রোগ্রামটি একবারে কম্পাইল করে মেশিন কোডে রূপান্তর করে
ব্যাখ্যা
অনুবাদক প্রোগ্রাম (Translator Program): 
- বর্তমানে হাজার খানেক প্রোগ্রামিং ভাষা প্রচলিত, যদিও সব ভাষা সমানভাবে জনপ্রিয় নয়। 
- কম্পিউটারের প্রসেসর 1 আর 0 ছাড়া কিছু বোঝে না। তাই বিভিন্ন ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে রূপান্তর করতে হয়। 
- এই কাজটি করার জন্য বিশেষ প্রোগ্রাম তৈরি করা হয়, যাকে বলে অনুবাদক প্রোগ্রাম। 
- নিচে তিন ধরনের অনুবাদকের বর্ণনা দেওয়া হলো: 
১। কম্পাইলার (Compiler): 
- কম্পাইলার প্রথমে পুরো প্রোগ্রামটি পরীক্ষা করে দেখে যে এর ভাষার নিয়মকানুন (যাকে ইংরেজিতে বলে সিনট্যাক্স Syntax) ঠিক আছে কি না। যদি ঠিক থাকে, তখন সে পুরো প্রোগ্রামটি কম্পাইল করে মেশিন কোডে রূপান্তর করে। 
- যেহেতু পুরো প্রোগ্রামটি একবারে কম্পাইল করা হয় তাই প্রোগ্রামে কোনো ভুল থাকলে সব একসাথে দেখানো হয়। সে কারণে ভুলগুলো শুদ্ধ করা একটু জটিল। 
- তবে কম্পাইল করার পর এই প্রোগ্রামগুলো অনেক দ্রুতগতিতে কাজ করে। 

২। অ্যাসেম্বলার (Assembler): 
- অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে অনুবাদ করে অ্যাসেম্বলার নামক একটি প্রোগ্রাম। 
- উচ্চ স্তরের যেসব প্রোগ্রামিং ভাষা সেগুলোকে মেশিন কোডে অনুবাদ করার কাজটি করার জন্য দু ধরনের প্রোগ্রাম রয়েছে- কম্পাইলার (Compiler) ও ইন্টারপ্রেটার (Interpreter)। 
- প্রতিটি উচ্চ স্তরের প্রোগ্রামিং ভাষারই পৃথক কম্পাইলার অথবা ইন্টারপ্রেটার রয়েছে। 
- এই দুই ধরনের অনুবাদক প্রোগ্রামের উদ্দেশ্য এক হলেও কাজের ধরনে কিছুটা ভিন্নতা রয়েছে। 

৩। ইন্টারপ্রেটার (Interpreter): 
- ইন্টারপ্রেটার পুরো প্রোগ্রাম পরীক্ষা না করে প্রোগ্রামের প্রতিটি স্টেটমেন্ট (statement বা নির্দেশ) মেশিন কোডে রূপান্তর করে সেটিকে এক্সিকিউট করে। 
অর্থাৎ, কোনো প্রোগ্রামে যদি দশটি স্টেটমেন্ট থাকে, তাহলে প্রথম স্টেটমেন্ট আগে মেশিন কোডে রূপান্তর হয়ে চলবে, তারপর দ্বিতীয় স্টেটমেন্ট, তারপর তৃতীয় স্টেটমেন্ট, একে একে সব স্টেটমেন্ট এক্সিকিউট হবে। এ কারণে ভুল শুদ্ধ করা অনেক সহজ। 
- কিন্তু একটি একটি করে স্টেটমেন্ট মেশিন কোডে রূপান্তর হয় বলে সময় তুলনামূলকভাবে বেশি লাগে। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ ও আলিম শ্রেণি।
১০২.
JSON এর পূর্ণরূপ কী?
  1. JavaScript Oriented Notation
  2. JavaScript Object Notation
  3. Java Source Oriented Notation
  4. Java Source Object Notation
সঠিক উত্তর:
JavaScript Object Notation
উত্তর
সঠিক উত্তর:
JavaScript Object Notation
ব্যাখ্যা
  • JSON এর পূর্ণরূপ হলো খ) JavaScript Object Notation।
  • JSON কি?
    • JSON (JavaScript Object Notation) হলো একটি হালকা-ওজনের ডাটা বিনিময় ফরম্যাট যা মানুষ ও মেশিন দ্বারা সহজে পড়া এবং লেখা যায়। এটি সাধারণত ওয়েব অ্যাপ্লিকেশন এবং সার্ভারের মধ্যে ডাটা ট্রান্সফারের জন্য ব্যবহৃত হয়।
  • JSON এর বৈশিষ্ট্য:
    1. সহজ পাঠযোগ্য: JSON ফরম্যাটটি সহজে পাঠযোগ্য এবং লেখার জন্য মানুষের পক্ষে সহজ।
    2. টেক্সট বেসড: JSON কাঁচা টেক্সট হিসেবে থাকে, যা যেকোনো প্রোগ্রামিং ভাষায় ব্যবহার করা যায়।
    3. ডাটা স্ট্রাকচার: JSON ডাটা স্ট্রাকচার সাধারণত কী: মান এর মাধ্যমে উপস্থাপন করা হয়।
    • JSON এর সাধারণ উদাহরণ:
{ "নাম": "আলম", "বয়স": ২৫, "শখ": ["গান শোনা", "ভ্রমণ"] }
  • এখানে "নাম", "বয়স", এবং "শখ" হল কী, এবং তাদের মান (value) হলো যথাক্রমে "আলম", ২৫ এবং একটি অ্যারে ["গান শোনা", "ভ্রমণ"]।
  • এভাবে, JSON বিভিন্ন ধরনের ডাটা একত্রিত করতে এবং ওয়েব সার্ভিসের সাথে তথ্য আদান-প্রদান করতে সাহায্য করে।
উৎস: ব্রিটানিকা।
১০৩.
স্ট্রাকচার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজ নয় কোনটি?
  1. QBASIC
  2. ALGOL
  3. C
  4. C#
সঠিক উত্তর:
C#
উত্তর
সঠিক উত্তর:
C#
ব্যাখ্যা
♦ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডাটা ও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়। একে বলা হয় অবজেক্ট।
- মেসেজে আদান-প্রদানের মাধ্যমে অবজেক্টগুলো পরস্পরের সাথে যোগাযোগ রক্ষা করে।
- এই প্রোগ্রামিং পদ্ধতিতে প্রোগ্রামের ইনস্ট্রাকশনগুলো ডাটা দ্বারা নিয়ন্ত্রিত হয়।
- C++, Java, C#, Python ইত্যাদি হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ।
- মূলত ৬টি প্রাথমিক ধারণার দ্বারা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংকে উপস্থাপন করা হয়। যেমন:
১. অবজেক্ট (Object),
২. ক্লাস (Class),
৩. মেসেজ (Message),
৪. পলিমারফিজম (Polymorphism),
৫. ইনহেরিটেন্স (Inheritance) এবং
৬. এনক্যাপসুলেশন (Encapsulation)। 

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

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

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

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

- সঠিক উত্তর: গ) ফ্লোচার্ট। 

• প্রবাহচিত্র/ফ্লোচার্ট:
- এটি অ্যালগরিদমের চিত্ররূপ।
- এই চিত্রে প্রােগ্রামের পূর্ণাঙ্গ পরিকল্পনা দেয়া হল।
- ফ্লোচার্ট অনুসরণ করে প্রকৃত প্রােগ্রাম রচনা করা হয়।

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

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

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

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

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রােগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।

১০৫.
'Inheritance' কোন ধরনের প্রোগ্রামিং ল্যাঙ্গুয়েজকে প্রতিনিধিত্ব করে?
  1. স্ট্রাকচার্ড প্রোগ্রামিং
  2. ইভেন্ট ড্রাইভেন প্রোগ্রামিং
  3. ভিজ্যুয়াল প্রোগ্রামিং
  4. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
সঠিক উত্তর:
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
উত্তর
সঠিক উত্তর:
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
ব্যাখ্যা
• 'Inheritance' অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজকে প্রতিনিধিত্ব করে।

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

• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ:
- C++,
- Java,
- C#,
- Python ইত্যাদি।

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচ এস সি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১০৭.
আর্টিফিশিয়াল ইন্টেলিজেন্স-এ ব্যবহৃত হয়না কোন প্রোগ্রামিং ভাষাটি?
  1. JAVA
  2. Python
  3. Perl
  4. LISP
সঠিক উত্তর:
Perl
উত্তর
সঠিক উত্তর:
Perl
ব্যাখ্যা
• Perl একটি উচ্চস্তরের ডাইনামিক প্রোগ্রামিং ল্যাঙ্গুয়েজ। তবে এটি আর্টিফিশিয়াল ইন্টেলিজেন্সে ব্যবহৃত হয়না।

• আর্টিফিশিয়াল ইন্টেলিজেন্স:
- কৃত্রিম বুদ্ধিমত্তা হলো মানুষের চিন্তাভাবনা গুলোকে কৃত্রিম উপায়ে কম্পিউটার বা কম্পিউটার প্রযুক্তি নির্ভর যন্ত্রের মধ্যে রূপ দেয়ার ব্যবস্থা।
- ১৯৫৬ সালে জন ম্যাকার্থী সর্বপ্রথম আর্টিফিশিয়াল ইন্টেলিজেন্স শব্দটি উল্লেখ করেন।
- আর্টিফিশিয়াল ইন্টেলিজেন্সে ব্যবহৃত প্রোগ্রামিং ভাষা: LISP, PROLOG, C/C++, CLISP, JAVA, MATLAB, Python, SHRDLU ইত্যাদি।
- কৃত্রিম বুদ্ধিমত্তার বাস্তব প্রোয়োগ হলো রোবট।
- আর্টিফিশিয়াল ইন্টেলিজেন্সের আওতায় বেশ কিছু ক্ষেত্র রয়েছে, যার মধ্যে উল্লেখযোগ্য হচ্ছে: মেশিন লার্নিং, রোবটিক্স, কম্পিউটার ভিশন, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP), স্পিচ প্রসেসিং ইত্যাদি।

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
২. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ- দ্বাদশ ও আলিম শ্রেণি।
১০৮.
নিচের কোনটি সিস্টেম সফটওয়্যার?
  1. ক) Microsoft Edge
  2. খ) Ubuntu
  3. গ) Avast
  4. ঘ) Google drive
সঠিক উত্তর:
খ) Ubuntu
উত্তর
সঠিক উত্তর:
খ) Ubuntu
ব্যাখ্যা
System সফটওয়্যার হলো কম্পিউটারের জন্য আবশ্যক। 
যেমন, Microsoft Edge, internet ব্রাউজ করার জন্য ব্যবহৃত্ত হয়, কিন্তু এটি না থাকলে যে কোন কম্পিউটার  চালাতে অসুবিধা হয় না। 
কিন্তু কোন কম্পিউটারের যদি অপারেটিং সিস্টেম (সিস্টেম সফটওয়্যার ) না থাকে ,তাহলে এটি ব্যবহার করা সম্ভব হয় না। 
যেহেতু Ubuntu একটি অপারেটিং সিস্টেম, তাই এটি সিস্টেম সফটওয়্যার। 
১০৯.
Which of the following is an object-oriented programming language?
  1. Pascal
  2. C
  3. FORTRAN
  4. Java
সঠিক উত্তর:
Java
উত্তর
সঠিক উত্তর:
Java
ব্যাখ্যা

• জাভা (Java) হলো একটি অত্যন্ত জনপ্রিয় অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ (OOPL)। এটি মূলত 'Class' এবং 'Object' ধারণার ওপর ভিত্তি করে তৈরি করা হয়েছে। জাভার একটি প্রধান বৈশিষ্ট্য হলো 'Write Once, Run Anywhere' (WORA), যার মানে হলো একবার লেখা প্রোগ্রাম যেকোনো প্ল্যাটফর্মে চালানো সম্ভব। জেমস গসলিং (James Gosling) ১৯৯৫ সালে সান মাইক্রোসিস্টেমসে এটি উদ্ভাবন করেন।

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

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

অন্যান্য অপশন:
- C, Pascal এবং FORTRAN হলো Structured Programming ভাষা।

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

১১০.
"Encapsulation" কোন ধরনের প্রোগ্রামিং ল্যাঙ্গুয়েজকে প্রতিনিধিত্ব করে?
  1. ভিজ্যুয়াল প্রোগ্রামিং
  2. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
  3. স্ট্রাকচার্ড প্রোগ্রামিং
  4. ইভেন্ট ড্রাইভেন প্রোগ্রামিং
সঠিক উত্তর:
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
উত্তর
সঠিক উত্তর:
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
ব্যাখ্যা
• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডাটা ও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়। একে বলা হয় অবজেক্ট।
- মেসেজে আদান-প্রদানের মাধ্যমে অবজেক্টগুলো পরস্পরের সাথে যোগাযোগ রক্ষা করে।

• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ:
- C++,
- Java,
- C#,
- Python ইত্যাদি।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১১১.
What is the correct definition of BUG?
  1. A type of computer virus
  2. A logical error in a program
  3. Documenting programs
  4. All of the above
সঠিক উত্তর:
A logical error in a program
উত্তর
সঠিক উত্তর:
A logical error in a program
ব্যাখ্যা

• কম্পিউটার প্রোগ্রামিংয়ে কোনো ভুল বা ত্রুটিকে 'Bug' (বাগ) বলা হয়।
- এটি মূলত প্রোগ্রামের এমন একটি ত্রুটি যার ফলে প্রোগ্রামটি ভুল ফলাফল দেয় বা অপ্রত্যাশিতভাবে আচরণ করে। সহজভাবে বলতে গেলে, প্রোগ্রামের যুক্তিতে (Logic) ভুল থাকাই হলো বাগ।

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

• প্রোগ্রামে তিন ধরনের ভুল হতে পারে। যথা:
- লজিক্যাল এরর (Logical Error): প্রোগ্রামের যুক্তিতে ভুল, যা ডিটেক্ট করা সবচেয়ে কঠিন।
- সিনট্যাক্স এরর (Syntax Error): প্রোগ্রামিং ভাষার ব্যাকরণগত ভুল।
- রান-টাইম এরর (Run-time Error) ও এক্সিকিউশন টাইম ভুল: মেমোরি বা অন্য কোনো সীমাবদ্ধতার কারণে প্রোগ্রাম চলাকালীন ত্রুটি।

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

১১২.
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ নয় কোনটি?
  1. C#
  2. Python
  3. COBOL
  4. C++
সঠিক উত্তর:
COBOL
উত্তর
সঠিক উত্তর:
COBOL
ব্যাখ্যা
• COBOL অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়।

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

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

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

তৃতীয় প্রজন্মের ভাষা: 
- যে প্রোগ্রামিং ভাষার প্রতীক এবং শব্দসমূহ সাধারণত গাণিতিক ও ইংরেজি ভাষার মতো এবং যা মযনুষের জন্য সহজে বোধগম্য, সেই প্রোগ্রামিং ভাষাকে উচ্চস্তরের (3G) প্রোগ্রামিং ভাষা বলে। 
- কয়েকটি জনপ্রিয় উচ্চস্তরের প্রোগ্রামিং ভাষা হলো- C, C++, Python, FORTRAN, ALGOL, COBOL, BASIC, PASCAL, Visual Basic, PHP, Java, Javascript ইত্যাদি। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
১১৪.
সি প্রোগ্রামিং ভাষা উদ্ভাবনের সাথে সম্পর্কিত প্রতিষ্ঠান কোনটি?
  1. Bell Labs
  2. MIT Lincoln Laboratory
  3. CERN
  4. JPL
সঠিক উত্তর:
Bell Labs
উত্তর
সঠিক উত্তর:
Bell Labs
ব্যাখ্যা
• সি প্রোগ্রামিং ভাষা:
- যুক্তরাষ্ট্রের বেল ল্যাবরেটরিতে ১৯৭০ সালে ডেনিস রিচি (Dennis Ritchie) প্রথম C ভাষা তৈরি করেন।
- Dennis Ritchie-কে সি প্রোগ্রামিং ভাষার জনক বলা হয়।
- তিনি সর্বপ্রথম Unix অপারেটিং সিস্টেমে DEC PDP-11 মেশিনে 'সি' প্রয়োগ করেন।

- ‘সি’ এসেছে BCPL নামের একটি কম্পিউটার ভাষা থেকে, যা থেকে ‘বি’ নামে অপর একটি ভাষার উদ্ভব ঘটে এবং 'বি' এর পরের উন্নয়ন হলো ‘সি’ ভাষার উদ্ভবের মধ্য দিয়ে।
- প্রথমে ‘সি’ সরবরাহ হতো Unix অপারেটিং সিস্টেমে। পরে ‘সি' এর প্রয়োগ ঘটে আরো বহুভাবে।
- বহু সুবিধার কারণে এখনও 'সি' প্রোগ্রামিং ভাষা প্রচলিত আছে।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ মাহবুবুর রহমান।
১১৬.
প্রোগ্রামিং এ ‘JMP’ অপ-কোডের নির্দেশ কী?
  1. নির্দিষ্ট মেমোরি লোকেশনে যাওয়া
  2. কোড কম্পাইল করা
  3. আউটপুট ডিভাইস বন্ধ করা
  4. রেজিস্টার রিসেট করা
সঠিক উত্তর:
নির্দিষ্ট মেমোরি লোকেশনে যাওয়া
উত্তর
সঠিক উত্তর:
নির্দিষ্ট মেমোরি লোকেশনে যাওয়া
ব্যাখ্যা
সঠিক উত্তর - ক) নির্দিষ্ট মেমোরি লোকেশনে যাওয়া।

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

STO -  সংরক্ষণ করার কমান্ড।
STA - স্টোর: Store Accumulator (মেশিন ভাষায় অনুরূপ), অর্থাৎ অ্যাকুমুলেটরের ডাটাকে অন্য চলকে সংরক্ষণ।
CLR - ক্লিয়ার: Clear Accumulator, অ্যাকুমুলেটর পরিষ্কারকরণ কমান্ড।
ADD - যোগ: ADD প্রধান মেমোরির নির্দিষ্ট অবস্থানের সংখ্যা অ্যাকুমুলেটরের সংখ্যার সঙ্গে যোগ করে যোগফল অ্যাকুমুলেটরে রাখার কমান্ড।
SUB - বিয়োগ: SUB প্রধান মেমোরি নির্দিষ্ট অবস্থানের সংখ্যা অ্যাকুমুলেটরের সংখ্যা থেকে বিয়োগ করে বিয়োগফল অ্যাকুমুলেটরে রাখার কমান্ড।
MUL - গুণ: MUL, গুণ করার নির্দেশ।
DIV - ভাগ: DIV, প্রধান মেমোরি নির্দিষ্ট অবস্থানের সংখ্যা অ্যাকুমুলেটরের সংখ্যাকে ভাগ করে ভাগফল অ্যাকুমুলেটরে রাখার কমান্ড।
JMP - নিশর্ত জাম্প: পরবর্তী নির্দেশের জন্য প্রধান মেমোরির নির্দিষ্ট অবস্থানে যাও।
INP - ইনপুট: Input, পড় অর্থাৎ ইনপুটের ডাটা ও নির্দেশ প্রধান মেমোরির নির্দিষ্ট অবস্থানে রাখ।
OUT - আউটপুট: Output, প্রধান মেমোরির নির্দিষ্ট অবস্থানের বিষয় আউটপুটের সাহায্যে প্রকাশ কর।
STP - থাম: STP প্রোগ্রামকে থামানোর নির্দেশ।

উৎস: কম্পিউটার ও তথ্যপ্রযুক্তি-১, এসএসসি ও দাখিল (ভোকেশনাল)।
১১৭.
নিচের কোনটি ডাটাবেজ ল্যাংগুয়েজ?
  1. Data Definition Language
  2. Data Manipulation Language
  3. Query Language
  4. উপরের সবগুলোই
সঠিক উত্তর:
উপরের সবগুলোই
উত্তর
সঠিক উত্তর:
উপরের সবগুলোই
ব্যাখ্যা
- ডাটাবেজ হচ্ছে তথ্যভান্ডার।
- কম্পিউটার আবিষ্কারের আগ পর্যন্ত ফাইলের স্তুপে জমা থাকতো তথ্য, এখন তথ্য সংরক্ষণ করা হয় ডাটাবেজে। 
কয়েকটি ডাটাবেজ ল্যাংগুয়েজের উদাহরণ হচ্ছে- 
Data Definition Language- এটি এক ধরণের ডাটাবেজ ল্যাংগুয়েজ যেটি ডেটার প্রকার ও উহাদের মাঝে সম্পর্ক নির্ণয় করে। 
Data Manipulation Language- ইহা এক ধরণের ডাটাবেজ ল্যাংগুয়েজ যার সাহায্যে ডেটা হালনাগাদ করা হয়। 
• Query Language- ইহা এমন এক ধরণের ল্যাংগুয়েজ যেটি তথ্য খোঁজা, তথ্য গণনায় ব্যবহৃত হয়। 
• QUEL, QBE, SQL ইত্যাদিও ডাটাবেজ ল্যাংগুয়েজের উদাহরণ। 

উৎস: কম্পিউটার ও তথ্য প্রযুক্তি, নবম-দশম শ্রেণি।
১১৮.
কোডের ত্রুটি শনাক্তকরণ ও সমাধানের সূক্ষ্ম কাজটি করাকে কী বলা হয়?
  1. BIOS
  2. Bug
  3. Debug
  4. GIGO
সঠিক উত্তর:
Debug
উত্তর
সঠিক উত্তর:
Debug
ব্যাখ্যা
• প্রোগ্রামে বিদ্যমান ভুল বা ত্রুটিগুলো চিহ্নিত করে সেগুলো ঠিক করার প্রক্রিয়াকে Debug বলা হয়। যখন আমরা কোনো সফটওয়্যার বা কোড লিখি, তখন মাঝে মাঝে ত্রুটি বা ভুল (যাকে Bug বলা হয়) থাকতে পারে, যা প্রোগ্রাম সঠিকভাবে কাজ করতে বাধা দেয়। Debugging হল সেই ভুলগুলো খুঁজে বের করা এবং সেগুলো মেরামত করার কাজ। এই প্রক্রিয়ার মাধ্যমে প্রোগ্রামকে নিখুঁত ও কার্যকরী করা হয়। তাই, প্রোগ্রামে বিদ্যমান বিভ্রান্তি চিহ্নিত করে ঠিক করার প্রক্রিয়া হলো Debug.
- সঠিক উত্তর: গ) Debug

• অপশন আলোচনা:
• Bug and Debug:
• Bug:
- কম্পিউটার প্রোগ্রামে সংঘটিত ভুল ত্রুটি কে বাগ বলে।

• Debug:
- কম্পিউটার প্রোগ্রামে সংঘটিত ভুল ত্রুটি সমাধান করাকে ডিবাগ বলে।

• কম্পিউটারের ভুলের প্রক্রিয়াটিকে Garbage In Garbage Out (GIGO) বলা হয়।
• কম্পিউটারের মাদারবোর্ডের ফার্মওয়্যার চিপের মধ্যে থাকা কতগুলো নির্দেশনার সমষ্টি হল BIOS।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়। 
১২০.
নিচের কোনটি প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়?
  1. Python
  2. Java
  3. HTML
  4. C#
সঠিক উত্তর:
HTML
উত্তর
সঠিক উত্তর:
HTML
ব্যাখ্যা

◉ Python, Java, এবং C++ হল প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা ব্যবহার করে সফটওয়্যার অ্যাপ্লিকেশন, স্ক্রিপ্ট এবং প্রোগ্রাম তৈরি করা যায়।
- HTML (HyperText Markup Language) একটি মার্কআপ ল্যাঙ্গুয়েজ, যা ওয়েব পেজের কাঠামো এবং কন্টেন্ট ডিজাইনের জন্য ব্যবহৃত হয়। এটি প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়।

প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা-
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. Python
  2. Java
  3. C++
  4. HTML
সঠিক উত্তর:
HTML
উত্তর
সঠিক উত্তর:
HTML
ব্যাখ্যা

HTML (HyperText Markup Language) হলো ওয়েব পেজের মৌলিক কাঠামো তৈরির ভাষা।

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

অন্যদিকে, 
- Python ও Java application development ও backend-এ ব্যবহৃত হয়, ওয়েব পেজের মৌলিক কাঠামো তৈরিতে নয়। 
- C++ ভাষা System software ও high-performance applications-এ ব্যবহৃত হয়। 

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

১২২.
নিচের কোনটি OOP ল্যাঙ্গুয়েজ নয়?
  1. C++
  2. Java
  3. C#
  4. C
সঠিক উত্তর:
C
উত্তর
সঠিক উত্তর:
C
ব্যাখ্যা

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

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

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

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

১২৩.
প্রোগ্রামে সংঘটিত ভুল-ত্রুটিকে কী বলা হয়?
  1. বাগ
  2. ডিবাগ
  3. অ্যালগরিদম
  4. ফ্লোচার্ট
সঠিক উত্তর:
বাগ
উত্তর
সঠিক উত্তর:
বাগ
ব্যাখ্যা

• প্রোগ্রামে সংঘটিত ভুল-ত্রুটিকে বাগ বলা হয়।

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

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

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

• অন্যান্য অপশন:
- ডিবাগ → প্রোগ্রামের ত্রুটি শনাক্ত ও সংশোধনের প্রক্রিয়া।
- অ্যালগরিদম → কোনো সমস্যার সমাধানের ধাপভিত্তিক নির্দেশনা।
- ফ্লোচার্ট → অ্যালগরিদমকে চিত্রের মাধ্যমে উপস্থাপনের পদ্ধতি।

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

১২৪.
LLM-এর কোন কোন ক্ষেত্রে GPU অপরিহার্য?
  1. শুধুমাত্র ডেটা সংরক্ষণে
  2. শুধুমাত্র সফটওয়্যার আপডেটে
  3. ট্রেনিং ও ইনফারেন্স উভয় ক্ষেত্রে
  4. শুধুমাত্র ইন্টারনেট ব্যবহারে
সঠিক উত্তর:
ট্রেনিং ও ইনফারেন্স উভয় ক্ষেত্রে
উত্তর
সঠিক উত্তর:
ট্রেনিং ও ইনফারেন্স উভয় ক্ষেত্রে
ব্যাখ্যা

LLM ট্রেনিং ও ইনফারেন্স-দুটোর ক্ষেত্রেই GPU অপরিহার্য ভূমিকা পালন করে।

• LLM :
- LLM বা Large Language Model চালানোর ক্ষেত্রে সবচেয়ে গুরুত্বপূর্ণ যন্ত্রাংশ হলো Graphics Card (GPU)।
- কারণ LLM-এর প্রশিক্ষণ ও ব্যবহার উভয় ক্ষেত্রেই বিপুল পরিমাণ ম্যাট্রিক্স গণনা ও প্যারালাল প্রসেসিং প্রয়োজন হয়, যা সাধারণ Processor (CPU) দিয়ে ধীরগতিতে সম্পন্ন হয়।
- শক্তিশালী GPU একসঙ্গে লক্ষাধিক অপারেশন দ্রুত সম্পাদন করতে সক্ষম, ফলে মডেল কার্যকরভাবে চালানো যায়।
- RAM, Storage Device এবং Processor অবশ্যই সহায়ক ভূমিকা রাখে, তবে মূলত GPU-এর ক্ষমতাই নির্ধারণ করে মডেল কতটা দক্ষতার সঙ্গে কাজ করবে।
- তাই LLM চালানোর ক্ষেত্রে Graphics Card-ই সবচেয়ে গুরুত্বপূর্ণ উপাদান।

 • LLM চালানোর জন্য সবচেয়ে গুরুত্বপূর্ণ যন্ত্রাংশ:
- LLM (Large Language Model) চালানোর ক্ষেত্রে সবচেয়ে গুরুত্বপূর্ণ অংশ হল Graphics Card (GPU).

 • Graphics Card (GPU):
- GPU বিশাল পরিমাণ ডেটা সমান্তরালভাবে প্রসেস করতে পারে।
- LLM মডেলগুলোর প্রশিক্ষণ ও কার্যকরভাবে চালানোর জন্য হাজার হাজার কোর বিশিষ্ট GPU ব্যবহৃত হয়।
- CPU এর তুলনায় GPU অনেক দ্রুতগতিতে ম্যাট্রিক্স ও টেনসর অপারেশন করতে সক্ষম।
- LLM ট্রেনিং ও ইনফারেন্স-দুটোর ক্ষেত্রেই GPU অপরিহার্য ভূমিকা পালন করে।

বর্তমান সময়ে NVIDIA A100, H100 এর মতো GPU LLM এর জন্য সবচেয়ে ব্যবহৃত।

GPU এর ক্ষমতা যত বেশি হবে, তত দ্রুত ও কার্যকরভাবে LLM চালানো সম্ভব হবে।

উৎস: geeksforgeeks.

১২৫.
Python কোন ধরনের প্রোগ্রামিং ভাষা?
  1. লজিক-ভিত্তিক
  2. ইভেন্ট ড্রাইভেন
  3. অবজেক্ট ওরিয়েন্টেড
  4. ভিজুয়াল
সঠিক উত্তর:
অবজেক্ট ওরিয়েন্টেড
উত্তর
সঠিক উত্তর:
অবজেক্ট ওরিয়েন্টেড
ব্যাখ্যা

◉ Python একটি High-Level, Object-Oriented Programming Language, যা একই সাথে Structured Programming এবং Functional Programming বৈশিষ্ট্যও সমর্থন করে।

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

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

১২৬.
Which of the following best defines a Web Page?
  1. A collection of multiple web pages forming a website
  2. A software used to browse information on the internet
  3. A document on the internet created using HTML
  4. A hardware device used to connect to the internet
সঠিক উত্তর:
A document on the internet created using HTML
উত্তর
সঠিক উত্তর:
A document on the internet created using HTML
ব্যাখ্যা

• Web Page হলো ইন্টারনেটে প্রদর্শিত একটি ডকুমেন্ট, যা সাধারণত HTML ব্যবহার করে তৈরি করা হয় এবং যেখানে লেখা, ছবি, অডিও, ভিডিও ইত্যাদি তথ্য থাকতে পারে।

• ওয়েব পেজ (Web Page):
- ইন্টারনেটে আমরা যে পেজগুলো দেখি সেগুলোকে Web Page বলা হয়।
- একটি Web Page হলো এমন একটি ডকুমেন্ট যেখানে বিভিন্ন ধরনের তথ্য যেমন লেখা, অডিও, ভিডিও, ছবি, অ্যানিমেশন ইত্যাদি সংরক্ষণ করা যায়।
- Web Page সাধারণত HTML (Hyper Text Markup Language) ব্যবহার করে তৈরি করা হয়।
- Web Page তৈরি করার পর তা Web Server-এ host করা হয় যাতে ব্যবহারকারীরা World Wide Web (WWW) এর মাধ্যমে তা দেখতে পারে।
- বর্তমানে ব্যক্তি, প্রতিষ্ঠান, শিক্ষা প্রতিষ্ঠানসহ বিভিন্ন সংগঠনের তথ্য Web Page এর মাধ্যমে ইন্টারনেটে প্রকাশ করা হয়।
- একটি বা একাধিক Web Page একত্রে একটি Website গঠন করে।
- প্রতিটি Web Page এর একটি নির্দিষ্ট Web Address বা URL থাকে, যার মাধ্যমে ব্যবহারকারী সেই পেজে প্রবেশ করতে পারে।

• অন্যান্য অপশন:
- A collection of multiple web pages forming a website → একাধিক Web Page এর সমষ্টিকে Website বলা হয়।
- A software used to browse information on the internet → ইন্টারনেটে Web Page দেখার জন্য ব্যবহৃত সফটওয়্যারকে Web Browser বলা হয়; যেমন Chrome, Firefox, Safari।
- A hardware device used to connect to the internet → ইন্টারনেট সংযোগের জন্য ব্যবহৃত হার্ডওয়্যার ডিভাইস হতে পারে modem, router ইত্যাদি।

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

১২৭.
একই ধরনের ডাটা টাইপের গুচ্ছকে কী বলে?
  1. পয়েন্টার
  2. স্ট্রাকচার
  3. ফাংশন
  4. অ্যারে
সঠিক উত্তর:
অ্যারে
উত্তর
সঠিক উত্তর:
অ্যারে
ব্যাখ্যা
• অ্যারে:
- একই ধরনের ডাটা টাইপের গুচ্ছকে অ্যারে বলা হয়।

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
১২৮.
WiMAX প্রযুক্তি কী নামে IEEE-এর অধীনে নিবন্ধিত?
  1. 802.17
  2. 802.15
  3. 802.11
  4. 802.16
সঠিক উত্তর:
802.16
উত্তর
সঠিক উত্তর:
802.16
ব্যাখ্যা
• WiMAX প্রযুক্তি IEEE-এর অধীনে ৮০২.১৬ (802.16) নামে নিবন্ধিত। WiMAX (Worldwide Interoperability for Microwave Access) একটি ওয়্যারলেস ব্রডব্যান্ড প্রযুক্তি, যা উচ্চ গতির ইন্টারনেট এবং ডেটা সার্ভিস প্রদান করে। এটি মূলত শহুরে ও গ্রামীণ এলাকার মধ্যে দ্রুত এবং বিস্তৃত ওয়্যারলেস নেটওয়ার্ক গড়ে তোলার জন্য ব্যবহৃত হয়। WiMAX ৩০ মাইল বা তার বেশি দূরত্ব পর্যন্ত কভারেজ দিতে পারে, যা অন্যান্য ওয়্যারলেস প্রযুক্তির তুলনায় অনেক বেশি। এর মাধ্যমে ব্যবহারকারীরা ব্রডব্যান্ড ইন্টারনেট সেবা পেতে পারে মোবাইল অথবা স্ট্যাটিক ডিভাইসের মাধ্যমে। তাই, WiMAX-এর IEEE স্ট্যান্ডার্ড হলো 802.16

• WiMAX:
- WiMAX এর পূর্ণরূপ হলো Worldwide Interoperability for Microwave Access
- ওয়াই ম্যাক্স শব্দটি ২০০১ সালের জুন মাসে ওয়াই ম্যাক্স ফোরাম কর্তৃক গৃহীত হয়।
- WiMAX তারবিহীন উচ্চগতির ব্রডব্যান্ড সেবা প্রদান করে থাকে যার IEEE নাম 802.16.
- ডেটা ট্রান্সমিশনে ফুল ডুপ্লেক্স মুড ব্যবহার করে।
- WiMAX এর কাভারেজ প্রায় ৫০ কিলোমিটার জুড়ে হয়ে থাকে।
- WiMAX এর প্রধান অংশ ২টি। যথা-

১. বেস স্টেশন:
- ইনডোর ডিভাইস এবং আউটডোর টাওয়ার নিয়ে গঠিত।
- প্রতিটি বেস স্টেশনের কাভারেজ এরিয়া 50 থেকে 80 km পর্যন্ত হয়ে থাকে।

২. অ্যান্টেনা যুক্ত WiMAX রিসিভার:
- এটি কম্পিউটারে সংযুক্ত করা হয় এবং ওয়্যারলেস নির্ভর হওয়ায় পরিবহনযোগ্য।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ মাহবুবুর রহমান।
১৩০.
C প্রোগ্রামিং ভাষা প্রথম কোন প্রতিষ্ঠানে তৈরি হয়?
  1. Microsoft
  2. IBM
  3. Bell Laboratories
  4. Google
সঠিক উত্তর:
Bell Laboratories
উত্তর
সঠিক উত্তর:
Bell Laboratories
ব্যাখ্যা

• Bell Laboratories: এখানেই Dennis Ritchie ১৯৭০ সালে C ভাষা তৈরি করেন।

• সি প্রোগ্রামিং ভাষা(C Programming Language):

- ১৯৭০ সালে যুক্তরাষ্ট্রের Bell Laboratories–এ ডেনিস রিচি(Dennis Ritchie) প্রথম C প্রোগ্রামিং ভাষা তৈরি করেন।
- Dennis Ritchie–কে সি প্রোগ্রামিং ভাষার জনক(Father of C Programming Language) বলা হয়।
- তিনি সর্বপ্রথম Unix অপারেটিং সিস্টেমে DEC PDP-11 মেশিনে C ভাষার প্রয়োগ করেন।
- C ভাষার উৎপত্তি হয়েছে BCPL নামক প্রোগ্রামিং ভাষা থেকে।
- BCPL থেকে B ভাষার উদ্ভব হয় এবং B ভাষার উন্নত সংস্করণ হিসেবেই C ভাষার সৃষ্টি।
- প্রাথমিকভাবে C ভাষা Unix অপারেটিং সিস্টেমের সাথে সরবরাহ করা হতো।
- পরবর্তীতে C ভাষার ব্যবহার বিভিন্ন প্ল্যাটফর্ম ও কাজে ব্যাপকভাবে বিস্তৃত হয়।
- বহুমুখী ব্যবহার, দক্ষতা ও কার্যকারিতার কারণে C প্রোগ্রামিং ভাষা আজও ব্যাপকভাবে ব্যবহৃত ও জনপ্রিয়।

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

১৩১.
প্রথম প্রোগ্রামিং ভাষা কোনটি ছিল?
  1. FORTRAN
  2. ASSEMBLY
  3. COBOL
  4. BASIC
সঠিক উত্তর:
ASSEMBLY
উত্তর
সঠিক উত্তর:
ASSEMBLY
ব্যাখ্যা

সঠিক উত্তর: খ) ASSEMBLY

প্রোগ্রামিং ভাষা ও ইতিহাস
- প্রোগ্রামিং ভাষা হলো সেই ভাষা, যা ব্যবহারকারীরা কম্পিউটারে সফটওয়্যারের অংশ তৈরি করতে ব্যবহার করে।
- প্রথম প্রোগ্রামিং ভাষা ছিল Assembly, যা সরাসরি কম্পিউটার দ্বারা চালিত হতো।
- ১৯৫০-এর দশকে উচ্চ-স্তরের ভাষা ব্যবহার শুরু হয়, যেমন FORTRAN (বীজগণিতিক সমস্যা সমাধান) এবং ALGOL।
- পরে ১৯৬০ সালে শিক্ষার্থীদের জন্য BASIC তৈরি হয়। একই সময়ে COBOL ব্যবসায়িক অ্যাপ্লিকেশন পরিচালনার জন্য তৈরি হয়।
- প্রথম ভাষাগুলো imperative এবং procedural ছিল, যেমন COBOL, FORTRAN, Pascal, এবং C।
- পরবর্তীতে functional ভাষা তৈরি হয়, যেখানে প্রোগ্রামকে ফাংশনের সংগ্রহ হিসেবে দেখা হয়, যেমন LISP, Scheme, Prolog।
- অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) প্রথমে Smalltalk-এ এসেছে, যেখানে অবজেক্ট হলো ডেটা এবং সেই ডেটার উপর কাজ করা ফাংশনের সংমিশ্রণ।
- পরবর্তীতে OOP ভাষার মধ্যে এসেছে C++, Java, Visual BASIC।
- জাভা একটি বিশেষ ভাষা, যা যেকোনো প্ল্যাটফর্মে Java Virtual Machine (JVM)-এর মাধ্যমে চালানো যায়। এটি ডিস্ট্রিবিউটেড এবং ওয়েব-ভিত্তিক অ্যাপ্লিকেশন তৈরিতে উপযুক্ত।
- এছাড়া ডিক্লারেটিভ ও স্ক্রিপ্টিং ভাষাও রয়েছে, যেমন SQL, HTML, PHP, যা ডাটাবেস পরিচালনা, ওয়েব পেজ ডিজাইন এবং ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়।

Source: ব্রিটানিকা। 

১৩২.
প্রথম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ-
  1. ন্যাচারাল ল্যাংগুয়েজ
  2. অ্যাসেম্বলি ল্যাঙ্গুয়েজ
  3. মেশিন ল্যাঙ্গুয়েজ
  4. সবগুলো
সঠিক উত্তর:
মেশিন ল্যাঙ্গুয়েজ
উত্তর
সঠিক উত্তর:
মেশিন ল্যাঙ্গুয়েজ
ব্যাখ্যা

এ যাবত বহু প্রোগ্রামিং ভাষার উদ্ভব হয়েছে। বৈশিষ্ট্য অনুযায়ী এই সকল ভাষাকে পাঁচটি স্তরে বা প্রজন্মে ভাগ করা যেতে পারে।

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

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

১৩৩.
Which of the following is a disadvantage of an interpreter?
  1. It translates the program line by line
  2. It produces object code
  3. It is slow paced
  4. It translates the entire program at once
সঠিক উত্তর:
It is slow paced
উত্তর
সঠিক উত্তর:
It is slow paced
ব্যাখ্যা

• Interpreter সোর্স প্রোগ্রামকে লাইন বাই লাইন অনুবাদ ও নির্বাহ করে। প্রতিবার প্রোগ্রাম চালানোর সময় প্রতিটি স্টেটমেন্ট নতুন করে অনুবাদ করতে হয়, ফলে execution speed কম হয়।
- তাই interpreter-এর প্রধান অসুবিধা হলো এটি ধীরগতিসম্পন্ন (slow paced)।

ইন্টারপ্রেটার (Interpreter)

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

অন্যান্য অপশনসমূহ,
ক) It translates the program line by line → এটি বৈশিষ্ট্য, অসুবিধা নয়। 

খ) It produces object code → এটি compiler-এর কাজ, interpreter নয়। 

ঘ) It translates the entire program at once → এটিও compiler-এর বৈশিষ্ট্য। 

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

১৩৪.
পাইথন প্রোগ্রামিং ভাষার প্রবর্তক হিসেবে কে পরিচিত?
  1. Bjarne Stroustrup
  2. Guido Van Rossum
  3. Tim Berners-Lee
  4. Dennis Ritchie
সঠিক উত্তর:
Guido Van Rossum
উত্তর
সঠিক উত্তর:
Guido Van Rossum
ব্যাখ্যা

• পাইথন (Python) প্রোগ্রামিং ভাষার উদ্ভাবক হলেন Guido Van Rossum।
- ১৯৮০-এর দশকের শেষের দিকে নেদারল্যান্ডের সিডব্লিউআই (CWI)-তে কর্মরত থাকাকালীন Guido Van Rossum পাইথন ভাষাটি তৈরি করেন।
- তিনি চেয়েছিলেন এমন একটি ভাষা তৈরি করতে যার কোড হবে পরিষ্কার এবং যা সহজে অন্য প্রোগ্রামাররা পড়তে পারবে। ১৯৯১ সালে এটি জনসমক্ষে প্রকাশিত হওয়ার পর থেকে এর জনপ্রিয়তা ক্রমাগত বাড়ছে।

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

উল্লেখ্য, 
- Bjarne Stroustrup: C++ প্রোগ্রামিং ভাষার উদ্ভাবক।
- Dennis Ritchie: 'C' প্রোগ্রামিং ভাষার উদ্ভাবক।
- Tim Berners-Lee: HTML এবং ওয়ার্ল্ড ওয়াইড ওয়েব (WWW)-এর জনক।

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

১৩৫.
XML এর পূর্ণরূপ কী?
  1. Xclusive Markup Language
  2. Extension Module Language
  3. Extensible Markup Language
  4. Xtensible Module Language
সঠিক উত্তর:
Extensible Markup Language
উত্তর
সঠিক উত্তর:
Extensible Markup Language
ব্যাখ্যা
• XML:
- XML এর পূর্ণরূপ Extensible Markup Language.
- এক্সটেনসিবল মার্কআপ ল্যাংগুয়েজ হলো ওয়েব ডকুমেন্টসকে উন্নত করার জন্য একটি নতুন বিশিষ্ট পরিকল্পনা।
- এটা অন্যান্য মার্কআপ ল্যাংগুয়েজ বা ভাষা তৈরির একটি জেনারেল পারপাস ল্যাংগুয়েজ বা সাধারণ উদ্দেশ্যজনক ভাষা.
- সহজেই পরিবর্তনশীল গঠিত ডকুমেন্টস তৈরিতে এবং সহজেই যথাযথ লিখিত এ্যাপ্লিকেশন বোঝার জন্য ব্যবহৃত হয়।
- HTML বহুবিধ ডকুমেন্টসের জন্য লিংকসকে সমর্থন করে এবং ডাটা পরিচালনার জন্য অনুমতি প্রদান করে।
- HTML উভয় ওয়েব এবং নন-ওয়েব বেইজ এ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়।

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
১৩৬.
পাইথন প্রোগ্রামিং ল্যাংগুয়েজে 9 এর ডাটা টাইপ কোনটি?
  1. bool
  2. int
  3. float
  4. str
সঠিক উত্তর:
int
উত্তর
সঠিক উত্তর:
int
ব্যাখ্যা
• পাইথন প্রোগ্রামিং ল্যাংগুয়েজে ৯ সংখ্যাটির ডাটা টাইপ হলো int অর্থাৎ integer. Integer হলো এমন একটি ডাটা টাইপ যা পূর্ণসংখ্যা (যেমন ১, ৯, ১০০) সংরক্ষণ করে। পাইথনে যখন আমরা ৯ লিখি, এটি স্বয়ংক্রিয়ভাবে integer হিসেবে গণ্য হয়। অন্যদিকে, bool ডাটা টাইপ শুধু True অথবা False মান ধারণ করে, float ডাটা টাইপ দশমিক সংখ্যাগুলো যেমন ৯.০ বা ৩.১৪ ধারণ করে এবং str ডাটা টাইপ অক্ষর বা শব্দের সারি যেমন "বাংলাদেশ" ধারণ করে। তাই ৯ একটি পূর্ণসংখ্যা হওয়ায় এর ডাটা টাইপ হবে int.

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

• Python-এ 9 এর ডেটা টাইপ হলো int.

কারণ:
• int মানে ইন্টিজার বা পূর্ণসংখ্যা। 5 একটি পূর্ণসংখ্যা, যা দশমিকবিহীন এবং এতে কোনো ভগ্নাংশ নেই। Python সংখ্যাগুলোকে ডেটা টাইপ অনুযায়ী শ্রেণীবদ্ধ করে।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ মাহবুবুর রহমান।
১৩৭.
Android অপারেটিং সিস্টেম কোন ভাষায় তৈরি?
  1. C++
  2. Java
  3. Python
  4. JavaScript
সঠিক উত্তর:
Java
উত্তর
সঠিক উত্তর:
Java
ব্যাখ্যা

Android অপারেটিং সিস্টেম তৈরি করা হয়েছে মূলত Java ভাষা ব্যবহার করে। Android SDK এবং API-গুলো Java-ভিত্তিক।

Android OS:
- অ্যান্ড্রয়েড একটি ওপেন সোর্স অপারেটিং সিস্টেম যা ২০০৮ সালে চালু হয়।
- এটি গুগল কর্তৃক নির্মিত একটি অপারেটিং সিস্টেম।
- এটি লিনাক্স ভিত্তিক একটি অপারেটিং সিস্টেম।
- অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলো সাধারনত জাভা প্রোগ্রামিং ভাষায় লিখা হয়।
- অ্যান্ড্রয়েড অপারেটিং সিস্টেমের ফাইল এক্সটেনশন হলো .apk
- APK এর পূর্ণরূপ Android Application Package.
- Android গুগলের একটি মাল্টি ইউজার অপারেটিং সিস্টেম।
- Android OS ব্যবহৃত প্রথম ফোন T-Mobile G1 (HTC Dream নামে বেশি পরিচিত)।

উৎস: গুগলের অফিসিয়াল ওয়েবসাইট ও ব্রিটানিকা।

১৩৮.
What is a compiler?
  1. A device used to display computer code on a screen.
  2. A hardware component is responsible for executing instructions.
  3. Hardware used for debugging software programs.
  4. A software program that translates high-level programming languages into machine code.
সঠিক উত্তর:
A software program that translates high-level programming languages into machine code.
উত্তর
সঠিক উত্তর:
A software program that translates high-level programming languages into machine code.
ব্যাখ্যা
• অনুবাদক প্রোগ্রাম:
- যে প্রোগ্রামের মাধ্যমে উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে পরিণত করা হয়, তাকে অনুবাদক প্রোগ্রাম বলে।
- তিন ধরনের অনুবাদক প্রোগ্রাম রয়েছে। যথা:

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

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

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

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

• অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে অ্যাসেম্বলার।

• অ্যাসেম্বলি ভাষা (Assembly Language):
- অ্যাসেম্বলি ভাষা হলো নিম্নস্তরের প্রোগ্রামিং ভাষা, যা মেশিন ভাষার তুলনায় মানুষের জন্য কিছুটা সহজবোধ্য।
- এতে বাইনারি সংখ্যার পরিবর্তে নেমোনিক কোড ব্যবহার করা হয়।
- উদাহরণ: ADD, SUB, MUL, DIV ইত্যাদি নির্দেশ।
- অ্যাসেম্বলি ভাষায় লেখা নির্দেশ সরাসরি কম্পিউটার বুঝতে পারে না।

• অ্যাসেম্বলার (Assembler):
- অ্যাসেম্বলার হলো একটি অনুবাদক প্রোগ্রাম।
- এটি অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে।
- রূপান্তরের পর কম্পিউটার সেই নির্দেশগুলো কার্যকর করতে পারে।

• অনুবাদক প্রোগ্রাম:
- অনুবাদক প্রোগ্রাম হলো এমন সফটওয়্যার যা এক ভাষায় লেখা প্রোগ্রামকে অন্য ভাষায় রূপান্তর করে।
- কম্পাইলার, ইন্টারপ্রেটার এবং অ্যাসেম্বলার হলো অনুবাদক প্রোগ্রামের উদাহরণ।

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

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

১৪০.
কম্পিউটার প্রোগ্রামে সংঘটিত ভুল ত্রুটি সমাধান করাকে কী বলে?
  1. Bug
  2. Debug
  3. GIGO
  4. BIOS
সঠিক উত্তর:
Debug
উত্তর
সঠিক উত্তর:
Debug
ব্যাখ্যা
• Bug and Debug:
• Bug:
- কম্পিউটার প্রোগ্রামে সংঘটিত ভুল ত্রুটি কে বাগ বলে।

• Debug:
- কম্পিউটার প্রোগ্রামে সংঘটিত ভুল ত্রুটি সমাধান করাকে ডিবাগ বলে।

• কম্পিউটারের ভুলের প্রক্রিয়াটিকে Garbage In Garbage Out (GIGO) বলা হয়।
• কম্পিউটারের মাদারবোর্ডের ফার্মওয়্যার চিপের মধ্যে থাকা কতগুলো নির্দেশনার সমষ্টি হল BIOS।

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

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

উৎস: ব্রিটানিকা।
১৪২.
নিচের কোনটি কৃত্রিম বুদ্ধিমত্তা প্রয়োগে ব্যবহৃত প্রোগ্রামিং ভাষা নয়? 
  1. Java
  2. Python
  3. HTML
  4. MATLAB 
সঠিক উত্তর:
HTML
উত্তর
সঠিক উত্তর:
HTML
ব্যাখ্যা

- HTML (Hypertext Markup Language) একটি প্রোগ্রামিং ভাষা নয়, বরং এটি একটি মার্কআপ ভাষা। এটি ওয়েবপেজের কাঠামো তৈরি করতে ব্যবহৃত হয়

আর্টিফিশিয়াল ইন্টেলিজেন্স (Artificial Intelligence): 
- চিন্তাশক্তি, বুদ্ধি কিংবা বিশ্লেষণ ক্ষমতা মানুষের সহজাত, একটি যন্ত্রকে মানুষের মতো বুদ্ধিমত্তা দিয়ে, সেটিকে চিন্তা করানো কিংবা বিশ্লেষণ করানোর ক্ষমতা দেওয়ার ধারণাটিকে সাধারণভাবে আর্টিফিশিয়াল ইন্টেলিজেন্স বা কৃত্রিম বুদ্ধিমত্তা বলা হয়। 
- প্রায় সব ধরনের পদ্ধতি এবং অ্যালগরিদম নিয়েই আর্টিফিশিয়াল ইন্টেলিজেন্স কাজ করে থাকে। আর্টিফিশিয়াল ইন্টেলিজেন্সের আওতায় বেশ কিছু ক্ষেত্র রয়েছে, যার মধ্যে উল্লেখযোগ্য হচ্ছে: মেশিন লার্নিং, রোবটিক্স, কম্পিউটার ভিশন, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP), স্পিচ প্রসেসিং ইত্যাদি। 
- আর্টিফিশিয়াল ইন্টেলিজেন্সের কাজে ব্যবহার করার জন্য বিজ্ঞানী ও প্রযুক্তিবিদরা নানা ধরনের পদ্ধতি আবিষ্কার করেছেন, তার মধ্যে অন্যতম জনপ্রিয় ও বহুল ব্যবহৃত একটি পদ্ধতি হচ্ছে নিউরাল নেটওয়ার্ক, যা কিছুটা মানুষের মস্তিষ্কের মতো কাজ করে।

- কম্পিউটারের জন্য গাণিতিকভাবে এমন কিছু কৃত্রিম নিউরন তৈরি করা হয়, যাকে পারসেপট্রন (perceptron) বলা হয়ে থাকে। এই কৃত্রিম নিউরনগুলোকে বিভিন্ন স্তরে সাজিয়ে এদের মধ্যে যোগাযোগ স্থাপন করে যে নেটওয়ার্ক তৈরি হয়, তাকেই নিউরাল নেটওয়ার্ক বলে। সাধারণত একটি নিউরাল নেটওয়ার্কে তিনটি স্তর থাকে ইনপুট স্তর, লুক্কায়িত স্তর (hidden layer) ও আউটপুট স্তর।
- কৃত্রিম বুদ্ধিমত্তা প্রয়োগের ক্ষেত্রে প্রধানত C/C++, Java, MATLAB, Python, SHRDLU, PROLOG, LISP, CLISP, R ইত্যাদি প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করা হয়। 
- কৃত্রিম বুদ্ধিমত্তার আরেকটি শাখা হচ্ছে ডিপ লার্নিং (Deep Learning), এটিও এক ধরনের মেশিন লার্নিং। মেশিন লার্নিং এবং ডিপ লার্নিং ব্যবহার করে বর্তমানে উচ্চক্ষমতা সম্পন্ন ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) সফটওয়্যার তৈরি করা হচ্ছে। যেমন: ChatGPT, Microsoft Copilot এবং Goggle Bard। 

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

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


 উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
২. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ- দ্বাদশ ও আলিম শ্রেণি।
১৪৪.
পাইথনে ভেরিয়েবল ডিক্লেয়ার করার সময় ডাটা টাইপ (যেমন- int, float) বলে দিতে হয় না কেন?
  1. পাইথনে কোনো ডাটা টাইপ নেই
  2. এটি মেমরি সাশ্রয় করার জন্য করা হয়
  3. এটি একটি ডাইনামিকালি টাইপড (Dynamically Typed) ভাষা
  4. এটি কেবল স্ট্রিং ডাটা নিয়ে কাজ করে
সঠিক উত্তর:
এটি একটি ডাইনামিকালি টাইপড (Dynamically Typed) ভাষা
উত্তর
সঠিক উত্তর:
এটি একটি ডাইনামিকালি টাইপড (Dynamically Typed) ভাষা
ব্যাখ্যা

সঠিক উত্তর: গ) এটি একটি ডাইনামিকালি টাইপড (Dynamically Typed) ভাষা
• পাইথন একটি ডাইনামিকালি টাইপড ল্যাঙ্গুয়েজ। এর মানে হলো, যখন আপনি কোনো ভেরিয়েবলে মান (Value) প্রদান করেন, পাইথন ইন্টারপ্রেটার রানটাইমে সেই মানের ধরন দেখে স্বয়ংক্রিয়ভাবে ভেরিয়েবলের ডাটা টাইপ নির্ধারণ করে নেয়। আগে থেকে বলে দিতে হয় না যে এটি পূর্ণসংখ্যা নাকি ভগ্নাংশ। ফলে প্রোগ্রামারকে আলাদা করে ভেরিয়েবলের টাইপ ঘোষণা করতে হয় না।

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ শ্রেণী, মাহবুবুর রহমান।
২. Python.org [link]

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

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

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

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

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান, একাদশ- দ্বাদশ শ্রেণি।
২. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৪৬.
Natural Language is considered as—
  1. Second generation language
  2. Third generation language
  3. Fourth generation language
  4. Fifth generation language
সঠিক উত্তর:
Fifth generation language
উত্তর
সঠিক উত্তর:
Fifth generation language
ব্যাখ্যা

• Natural Language পঞ্চম প্রজন্মের (Fifth Generation) প্রোগ্রামিং ভাষা হিসেবে বিবেচিত।

• Natural Language:
- Natural Language বলতে মানুষের স্বাভাবিক ভাষার মতো ভাষাকে বোঝায়।
- এই ভাষা মানুষের কথ্য বা লিখিত ভাষার সঙ্গে সবচেয়ে বেশি সাদৃশ্যপূর্ণ।

• প্রোগ্রামিং ভাষার প্রজন্ম অনুযায়ী অবস্থান:
- প্রোগ্রামিং ভাষার ইতিহাসে বৈশিষ্ট্যের ভিত্তিতে ভাষাগুলোকে পাঁচটি প্রজন্মে ভাগ করা হয়েছে।
- এর মধ্যে পঞ্চম প্রজন্মের ভাষা (1980) হিসেবে Natural Language অন্তর্ভুক্ত।

• প্রোগ্রামিং ভাষার প্রজন্মসমূহ:
1. প্রথম প্রজন্মের ভাষা (1945): মেশিন ভাষা (Machine Language)
2. দ্বিতীয় প্রজন্মের ভাষা (1950): অ্যাসেম্বলি ভাষা (Assembly Language)
3. তৃতীয় প্রজন্মের ভাষা (1960): উচ্চতর ভাষা (High Level Language)
4. চতুর্থ প্রজন্মের ভাষা (1970): অতি উচ্চতর ভাষা (Very High Level Language)
5. পঞ্চম প্রজন্মের ভাষা (1980): স্বাভাবিক বা ন্যাচারাল ভাষা (Natural Language)

• পঞ্চম প্রজন্মের ভাষার বৈশিষ্ট্য:
- এই প্রজন্মের ভাষা মানুষের ভাষার খুব কাছাকাছি।
- ব্যবহারকারীর জন্য প্রোগ্রাম লেখা তুলনামূলকভাবে সহজ হয়।

• লো-লেভেল ও হাই-লেভেল ভাষার সাথে পার্থক্য:
- Machine Language ও Assembly Language হলো লো-লেভেল ভাষা।
- High-level Language মানুষের ভাষার কাছাকাছি হলেও Natural Language আরও স্বাভাবিক রূপে প্রকাশিত।

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

১৪৭.
JSON-এর প্রধান ব্যবহার:
  1. ওয়েব পেজ ডিজাইন করার জন্য
  2. অ্যানিমেশন বানানোর জন্য
  3. ডেটা আদানপ্রদানের জন্য কাঠামো তৈরি করা
  4. ডেটাবেসের প্রশ্ন প্রক্রিয়াকরণ
সঠিক উত্তর:
ডেটা আদানপ্রদানের জন্য কাঠামো তৈরি করা
উত্তর
সঠিক উত্তর:
ডেটা আদানপ্রদানের জন্য কাঠামো তৈরি করা
ব্যাখ্যা

• JSON (JavaScript Object Notation) মূলত একটি হালকা ও সহজ ফরম্যাট যা ডেটা সংরক্ষণ এবং আদানপ্রদানের জন্য ব্যবহৃত হয়। ওয়েব পেজ ডিজাইন বা অ্যানিমেশন তৈরি করার জন্য এটি সরাসরি ব্যবহার করা হয় না। বরং, JSON ডেটাকে কাঠামোবদ্ধভাবে উপস্থাপন করে, যাতে বিভিন্ন সিস্টেম বা সার্ভার ও ক্লায়েন্ট সহজে ডেটা পাঠাতে এবং গ্রহণ করতে পারে। উদাহরণস্বরূপ, একটি ওয়েব অ্যাপ্লিকেশন সার্ভার থেকে ব্যবহারকারীর তথ্য JSON ফরম্যাটে পাঠাতে পারে এবং ব্রাউজার এটি গ্রহণ করে প্রয়োজন অনুযায়ী প্রদর্শন করে। এছাড়া, API এবং মোবাইল অ্যাপ্লিকেশনগুলিতে JSON ডেটা বিনিময়ের প্রধান মাধ্যম হিসেবে কাজ করে। তাই JSON-এর প্রধান ব্যবহার হলো ডেটা আদানপ্রদানের জন্য কাঠামো তৈরি করা।

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

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

১৪৮.
কোন প্রোগ্রামিং ভাষা মূলত ক্লায়েন্ট-সাইড ওয়েব ডেভেলপমেন্টে ব্যবহৃত হয়?
  1. Java
  2. JavaScript 
  3. C
  4. Python
সঠিক উত্তর:
JavaScript 
উত্তর
সঠিক উত্তর:
JavaScript 
ব্যাখ্যা

• ওয়েব ডেভেলপমেন্টে মূলত ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ের জন্য JavaScript ব্যবহার করা হয়। ক্লায়েন্ট-সাইড মানে হলো ব্রাউজারের মধ্যে সরাসরি কোড চালানো হয়, যা ওয়েবপেজের ইন্টারেকটিভ ফাংশনালিটি তৈরি করে। উদাহরণস্বরূপ, বোতামে ক্লিক করলে কিছু পরিবর্তন ঘটানো, ফর্ম ভ্যালিডেশন, এনিমেশন, বা ডায়নামিক কন্টেন্ট দেখানো- এসকল কাজ JavaScript দিয়ে করা হয়। অন্যদিকে Java, C, এবং Python সাধারণত সার্ভার-সাইড বা সাধারণ সফটওয়্যার ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। JavaScript-এর জনপ্রিয়তা তার সহজতা, ব্রাউজার কম্প্যাটিবিলিটি, এবং বিভিন্ন লাইব্রেরি ও ফ্রেমওয়ার্ক (যেমন React, Angular, Vue) সমর্থনের কারণে অনেক বেশি। তাই ক্লায়েন্ট-সাইড ওয়েব ডেভেলপমেন্টের জন্য সঠিক উত্তর হলো JavaScript.

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

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

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

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

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

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

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

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, প্রকৌশলী মুজিবুর রহমান, একাদশ- দ্বাদশ শ্রেণি।
২. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৫০.
প্রথম প্রজন্মের প্রোগ্রামিং ভাষার নাম কী?
  1. High Level Language
  2. Assembly Language
  3. Natural Language
  4. Machine Language
সঠিক উত্তর:
Machine Language
উত্তর
সঠিক উত্তর:
Machine Language
ব্যাখ্যা
• প্রথম প্রজন্মের প্রোগ্রামিং ভাষা হলো Machine Language. এটি সরাসরি কম্পিউটারের হার্ডওয়্যারের সাথে কাজ করে এবং বাইনারি কোড (0 ও 1) আকারে থাকে। কম্পিউটার শুধুমাত্র এই ভাষা বুঝতে পারে। High Level Language হলো উচ্চ স্তরের ভাষা যা মানুষের পঠনযোগ্য, কিন্তু এটি প্রথম প্রজন্মের ভাষা নয়। Assembly Language হলো দ্বিতীয় প্রজন্মের ভাষা, যা মেশিন ভাষার সঙ্গে কিছুটা মিল রেখে লিখা হয়। Natural Language হলো মানুষের স্বাভাবিক ভাষা, যা প্রোগ্রামিং ভাষা হিসেবে ব্যবহৃত হয় না। তাই, প্রথম প্রজন্মের ভাষা হিসেবে সঠিক উত্তর হলো ঘ) Machine Language.

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
১৫১.
পাইথন প্রোগ্রামিং ভাষার প্রবর্তক হিসেবে কে পরিচিত?
  1. James Gosling
  2. Guido Van Rossum
  3. Dennis Ritchie
  4. Brendan Eich
সঠিক উত্তর:
Guido Van Rossum
উত্তর
সঠিক উত্তর:
Guido Van Rossum
ব্যাখ্যা

• পাইথন প্রোগ্রামিং ভাষার প্রবর্তক হিসেবে Guido van Rossum পরিচিত।

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

উল্লেখ্য,
- Dennis Ritchie: 'C' প্রোগ্রামিং ভাষার উদ্ভাবক।
- James Gosling: Java প্রোগ্রামিং ভাষার প্রধান উদ্ভাবক।
- Brendan Eich: JavaScript প্রোগ্রামিং ভাষার উদ্ভাবক।

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৫৩.
পাইথনে একটি সেট তৈরি করতে নিচের কোনটি ব্যবহৃত হয়?
  1. {1, 2, 3}
  2. [1, 2, 3]
  3. (1, 2, 3)
  4. {{1, 2, 3}}
সঠিক উত্তর:
{1, 2, 3}
উত্তর
সঠিক উত্তর:
{1, 2, 3}
ব্যাখ্যা
• পাইথনে একটি সেট (set) তৈরি করতে  {1, 2, 3} ব্যবহার করা হয়। এটি সেট তৈরির সঠিক উপায়, যেখানে উপাদানগুলো ইউনিক বা অনন্য থাকে এবং সেটের মধ্যে উপাদানগুলোর কোন নির্দিষ্ট ক্রম (order) থাকে না।
- অপশন খ) একটি তালিকা (list) নির্দেশ করে, যা একই ধরনের উপাদান একাধিকবার রাখতে পারে এবং উপাদানগুলোর ক্রম বজায় রাখে। গ) একটি টিউপল (tuple), যা অপরিবর্তনীয় (immutable) এবং সেট নয়। ঘ) {{1, 2, 3}} একটি ভুল সিনট্যাক্স, কারণ সেট একটি অমিউটেবল ডেটা টাইপ নয়, তাই সেটের মধ্যে আরেকটি সেট রাখা যায় না। সুতরাং, পাইথনে সেট তৈরির জন্য সঠিক উত্তর হলো {1, 2, 3}।


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

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

• Python-এ 5 এর ডেটা টাইপ হলো int।

কারণ:
• int মানে ইন্টিজার বা পূর্ণসংখ্যা। 5 একটি পূর্ণসংখ্যা, যা দশমিকবিহীন এবং এতে কোনো ভগ্নাংশ নেই। Python সংখ্যাগুলোকে ডেটা টাইপ অনুযায়ী শ্রেণীবদ্ধ করে।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ মাহবুবুর রহমান।
১৫৫.
অ্যালগরিদমের চিত্ররূপকে ________ বলা হয়।
  1. ফ্লোচার্ট
  2. ছদ্ম-প্রােগ্রাম
  3. সুডােকোড
  4. বেসিক কমান্ড
সঠিক উত্তর:
ফ্লোচার্ট
উত্তর
সঠিক উত্তর:
ফ্লোচার্ট
ব্যাখ্যা
⚪ সঠিক উত্তর হবে:
ক) ফ্লোচার্ট

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

⚪ প্রবাহচিত্র/ফ্লোচার্ট:
- এটি অ্যালগরিদমের চিত্ররূপ।
- এই চিত্রে প্রােগ্রামের পূর্ণাঙ্গ পরিকল্পনা দেয়া হল।
- ফ্লোচার্ট অনুসরণ করে প্রকৃত প্রােগ্রাম রচনা করা হয়।

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

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

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

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

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রােগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৫৬.
নিচের কোনটি সফটওয়্যার ডেভেলপমেন্টে ব্যবহৃত হয় না?
  1. Excel
  2. Ruby
  3. Java
  4. Python
সঠিক উত্তর:
Excel
উত্তর
সঠিক উত্তর:
Excel
ব্যাখ্যা

• সফটওয়্যার ডেভেলপমেন্টে বিভিন্ন প্রোগ্রামিং ভাষা এবং টুল ব্যবহৃত হয়। Java, Python এবং 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# একটি অবজেক্ট-ওরিয়েন্টেড, কম্পোনেন্ট-ভিত্তিক প্রোগ্রামিং ভাষা।

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

১৫৭.
কম্পিউটারের প্রোগ্রামে যে ভুল-ত্রুটি থাকে তা দূর করাকে কী বলা হয়?
  1. কম্পাইলিং
  2. ডিবাগিং
  3. ইনস্টলেশন
  4. ফরম্যাটিং
সঠিক উত্তর:
ডিবাগিং
উত্তর
সঠিক উত্তর:
ডিবাগিং
ব্যাখ্যা

কম্পিউটারের প্রোগ্রামে যে ভুল-ত্রুটি থাকে তা দূর করাকে ডিবাগিং বলে।

​• প্রোগ্রাম ডিবাগিং (Programme Debugging)

- Bug অর্থ পোকা।
- Debugging অর্থ পোকা দূর করা।
- কম্পিউটারের প্রোগ্রামে যে ভুল-ত্রুটি থাকে তা দূর করাকে ডিবাগিং (Debugging) বলা হয়।
- ১৯৪৫ সালে মার্ক-১ কম্পিউটারে একটি মথ পোকা ঢুকে যাওয়ায় তা অচল হয়ে পড়ে। তখন থেকে Debugging শব্দটির উৎপত্তি।
- প্রোগ্রাম ডিবাগিংয়ের জন্য প্রথমে প্রোগ্রামে কী ধরনের ভুল হয়েছে তা নির্ণয় করে সে মোতাবেক প্রয়োজনীয় সংশোধন করলেই চলে।
- Syntax Error হলে তা নির্ণয় করা এবং সংশোধন করা সহজ।
- Logical Error শনাক্ত করা কঠিন।
- এক্ষেত্রে কিছু নমুনা ডাটা নিয়ে যার ফলাফল জানা আছে, প্রোগ্রাম পরীক্ষা করতে হবে এবং ফলাফল ভিন্ন হলে প্রোগ্রামকে কয়েকটি অংশে ভাগ করে প্রতিটি অংশের ফলাফল দেখে কোথায় ভুল আছে তা নির্ণয় করতে হবে এবং প্রয়োজনীয় সংশোধন করতে হবে।

উৎস: কম্পিউটার ও তথ্যপ্রযুক্তি-১, এসএসসি ও দাখিল (ভোকেশনাল)।

১৫৮.
একই ধরনের ডাটা টাইপের গুচ্ছকে কী বলা হয়?
  1. অ্যারে
  2. ফাংশন
  3. স্ট্রাকচার
  4. ক্লাস
সঠিক উত্তর:
অ্যারে
উত্তর
সঠিক উত্তর:
অ্যারে
ব্যাখ্যা
• অ্যারে:
- একই ধরনের ডাটা টাইপের গুচ্ছকে অ্যারে বলা হয়।

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

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

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

উৎস: ব্রিটানিকা।
১৬০.
সি প্রোগ্রামিং ভাষা প্রথম কোন অপারেটিং সিস্টেমে প্রয়োগ করা হয়?
  1. উইন্ডোজ
  2. অ্যান্ড্রয়েড
  3. সোলারিস
  4. ইউনিক্স
সঠিক উত্তর:
ইউনিক্স
উত্তর
সঠিক উত্তর:
ইউনিক্স
ব্যাখ্যা

Unix অপারেটিং সিস্টেমে সি প্রোগ্রামিং ভাষা প্রথম প্রয়োগ করা হয়।

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

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

১৬১.
নিচের কোনটি হাই লেভেলের প্রোগ্রামিং ল্যাঙ্গুয়েজ?
  1. Assembly Language
  2. BASIC
  3. CSS
  4. None of the above
সঠিক উত্তর:
BASIC
উত্তর
সঠিক উত্তর:
BASIC
ব্যাখ্যা
• উচ্চ স্তরের ভাষা: 
- হাই-লেভেল বা উচ্চ স্তরের ভাষা কোন সংকেত বা সাংকেতিক কোড নির্ভর নয়।
- এটি ইংরেজি ভাষার মতোই। 
- এই স্তরের ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব।
- উচ্চ স্তরের ভাষা মানুষের ভাষার (যেমন- ইংরেজি ভাষা) সাথে মিল রেখে তৈরি করা হয়েছে।
- উচ্চ স্তরের ভাষার মধ্যে উল্লেখযোগ্য কয়েকটি ভাষা হচ্ছে-
BASIC
• COBOL, 
• FORTRAN, 
• PASCAL, 
• C++, 
• JAVA,
• PROLOG ইত্যাদি। 
- কম্পাইলার বা ইন্টারপ্রেটার নামক প্রোগ্রাম ব্যবহার করে এ ভাষায় লিখিত প্রোগ্রাম মেশিনের ভাষায় অনুবাদ করা হয়। ফলে কম্পিউটার এ জাতীয় প্রোগ্রাম বুঝতে পারে।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচ এস সি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৬২.
What is HTML?
  1. A web browser
  2. A markup language used to create web pages
  3. A database management system
  4. A programming language used for operating systems
সঠিক উত্তর:
A markup language used to create web pages
উত্তর
সঠিক উত্তর:
A markup language used to create web pages
ব্যাখ্যা

• HTML হলো Hyper Text Markup Language, যা ওয়েব পেজ তৈরি ও গঠন বর্ণনার জন্য ব্যবহৃত একটি markup language।

• HTML (Hyper Text Markup Language):
- HTML এর পূর্ণরূপ Hyper Text Markup Language।
- এটি কোনো প্রোগ্রামিং ভাষা নয়; বরং একটি Markup Language।
- HTML ব্যবহার করে ওয়েব পেজের গঠন (structure) নির্ধারণ করা হয়।
- HTML বিভিন্ন Markup Tag-এর সমন্বয়ে তৈরি হয়।
- এই Tag গুলো ব্যবহার করে ওয়েব পেজে লেখা, ছবি, টেবিল, তালিকা ইত্যাদি প্রদর্শন করা যায়।
- HTML Tag সাধারণত জোড়ায় ব্যবহৃত হয়।
- একটি HTML Document মূলত দুটি অংশে বিভক্ত: Head Section এবং Body Section।
- Head Section এ সাধারণত title, meta, style ইত্যাদি তথ্য থাকে।
- Body Section এ ওয়েব পেজে প্রদর্শিত মূল কনটেন্ট থাকে।

• অন্যান্য অপশন:
- A web browser → ওয়েব ব্রাউজার হলো এমন সফটওয়্যার যা HTML ডকুমেন্ট পড়তে ও ওয়েব পেজ প্রদর্শন করতে ব্যবহৃত হয়; যেমন Chrome, Firefox, Safari।
- A database management system → ডেটাবেজ পরিচালনার সফটওয়্যারকে Database Management System (DBMS) বলা হয়; যেমন MySQL, Oracle।
- A programming language used for operating systems → অপারেটিং সিস্টেম তৈরিতে সাধারণত C, C++, Rust ইত্যাদি programming language ব্যবহৃত হয়।

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

১৬৩.
Which language marked the beginning of Object-Oriented Programming (OOP)?
  1. Visual Basic
  2. Java
  3. Simula
  4. C++
সঠিক উত্তর:
Simula
উত্তর
সঠিক উত্তর:
Simula
ব্যাখ্যা

সঠিক উত্তর - গ) Simula

অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা (OOP)
- OOP হলো এমন প্রোগ্রামিং ভাষা যা প্রি-ডিফাইন্ড ইউনিট (objects, classes, subclasses) ব্যবহার করে।
- এটি প্রোগ্রামিংকে দ্রুত, সহজ এবং রক্ষণাবেক্ষণযোগ্য করে তোলে।
- অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং শুরু হয় Simula ভাষা (1967) দিয়ে, যা ALGOL-এ তথ্য লুকানোর ধারণা যোগ করে।
- আরেকটি প্রভাবশালী অবজেক্ট-ওরিয়েন্টেড ভাষা হলো Smalltalk (1980), যেখানে একটি প্রোগ্রাম বস্তুসমূহের সেট ছিল, যা এক অপরের প্রতি বার্তা পাঠিয়ে যোগাযোগ করত।

• অবজেক্ট-ওরিয়েন্টেড ভাষার উদাহরণ:
- Java,
- C++,
- Visual Basic.

সূত্র: ব্রিটানিকা।

১৬৪.
নিচের কোনটি প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়?
  1. Python
  2. XML
  3. C#
  4. Java
সঠিক উত্তর:
XML
উত্তর
সঠিক উত্তর:
XML
ব্যাখ্যা
• Extensible Markup Language (XML) হলো একটি মার্কআপ ল্যাঙ্গুয়েজ যা যে কোনো ডেটা সংজ্ঞায়িত করার নিয়ম প্রদান করে।

• প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা-
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. কোনটিই নয়
সঠিক উত্তর:
কম্পাইলার
উত্তর
সঠিক উত্তর:
কম্পাইলার
ব্যাখ্যা
• অনুবাদক প্রোগ্রাম:
- উৎস প্রোগ্রামকে অবজেক্ট প্রোগ্রামে পরিণত করতে যে সফটওয়্যারের প্রয়োজন হয়, তাকে বলা হয় অনুবাদক সফটওয়্যার।
- কম্পিউটার কেবল মেশিনের ভাষা বোঝে।
- সেজন্যে কম্পিউটার প্রোগ্রাম যন্ত্র ভাষা ভিন্ন অন্য কোন ভাষায় রচিত হলে তা যান্ত্রিক ভাষা রূপান্তর করতে হয়। এজন্যে অনুবাদক প্রোগ্রাম ব্যবহৃত হয়।

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

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

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

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

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

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

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

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

১৬৭.
Among the first high-level languages, ALGOL was used for which purpose?
  1. Math solving
  2. Business accounting
  3. Video game programming
  4. Web browser development
সঠিক উত্তর:
Math solving
উত্তর
সঠিক উত্তর:
Math solving
ব্যাখ্যা

সঠিক উত্তর - ক) Math solving

প্রোগ্রামিং ভাষা (Programming Language)
- প্রোগ্রামিং ভাষা হলো এমন একটি মাধ্যম, যার মাধ্যমে কোনো সমস্যা তার উপাদানগুলোতে বিভক্ত করা হয়।
- এরপর এই উপাদানগুলো কম্পিউটারকে কার্যকর করার জন্য একটি ক্রমবদ্ধ নির্দেশ তালিকায় রাখা হয়।
- সফটওয়্যার ডেভেলপাররা প্রোগ্রামিং ভাষা ব্যবহার করে কোড লিখে, যা কম্পিউটারকে নির্দেশ অনুসরণ করতে এবং কাজ সম্পন্ন করতে সক্ষম করে।
- প্রথম উচ্চ-স্তরের ভাষার মধ্যে দুটি ছিল FORTRAN এবং ALGOL, যা প্রোগ্রামারদের বীজগণিতীয় প্রকাশনা লিখতে এবং বৈজ্ঞানিক কম্পিউটিং সমস্যা সমাধান করতে সাহায্য করত।
- FORTRAN-এর একটি সরল সংস্করণ, BASIC, তৈরি হয় Dartmouth College-এ।
- COBOL তৈরি হয় ব্যবসায়িক প্রোগ্রামিং অ্যাপ্লিকেশন সমর্থনের জন্য।

সূত্র: ব্রিটানিকা।

১৬৮.
SQL কোন প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ?
  1. দ্বিতীয় প্রজন্ম
  2. তৃতীয় প্রজন্ম
  3. চতুর্থ প্রজন্ম
  4. পঞ্চম প্রজন্ম
সঠিক উত্তর:
চতুর্থ প্রজন্ম
উত্তর
সঠিক উত্তর:
চতুর্থ প্রজন্ম
ব্যাখ্যা
• চতুর্থ প্রজন্মের প্রোগ্রামিং ভাষা:
- কম্পিউটারে সহজে ব্যবহারের জন্য উদ্ভাবিত বিশেষ কয়েকটি ভাষাকে চতুর্থ প্রজন্মের ভাষা (4GL) বলা হয়।
- উচ্চতর ভাষার তুলনায় চতুর্থ প্রজন্মের ভাষা বা 4GL খুবই সহজ যদিও 4GL এর জন্য প্রসেসিং ক্ষমতা বেশি দরকার।
- 4GL এর সাহায্যে সহজেই অ্যপ্লিকেশন তৈরি করা যায় বলে একে Rapid Application Development (RAD) টুলও বলা হয়।
- পুঙ্খানুপুঙ্খ বা বিস্তারিতভাবে প্রক্রিয়াকরণের বর্ণনা দিতে হয় না বলে চতুর্থ প্রজন্মের ভাষাকে ননপ্রসিডিউলার ল্যাংগুয়েজও বলা হয়।
- অধিকাংশ চতুর্থ প্রজন্মের ভাষায় কথোপকথন রীতিতে প্রশ্ন-উত্তরের মাধ্যমে কম্পিউটারের সাথে ব্যবহারকারীর যোগাযোগের ব্যবস্থা থাকে।
- ডেটাবেজ ম্যানেজমেন্টের সাথে সংশ্লিষ্ট কুয়েরি (Query) এবং রিপোর্ট জেনারেটর ও ডেটা সঞ্চালনের জন্য ব্যবহৃত ভাষাসমূহ (যেমন: SQL) চতুর্থ প্রজন্মের ভাষা হিসেবে বিবেচনা করা হয়। 
- SQL, NOMAD, RPG III, FOCUS, Intellect BPM ইত্যাদি কয়েকটি চতুর্থ প্রজন্মের ভাষা।

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

উৎস:
১. তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
২. তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৬৯.
Who developed Python Programming Language?
  1. Guido van Rossum
  2. Wick van Rossum
  3. Rasmus Lerdorf
  4. Niene Stom
সঠিক উত্তর:
Guido van Rossum
উত্তর
সঠিক উত্তর:
Guido van Rossum
ব্যাখ্যা
• প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা-
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. IDE-এর উপর নির্ভর করে
সঠিক উত্তর:
কম্পাইলার
উত্তর
সঠিক উত্তর:
কম্পাইলার
ব্যাখ্যা

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

• অনুবাদক প্রোগ্রাম (Translator Program):
- বর্তমানে হাজার খানেক প্রোগ্রামিং ভাষা প্রচলিত, যদিও সব ভাষা সমানভাবে জনপ্রিয় নয়।
- কম্পিউটারের প্রসেসর কেবল বাইনারি ভাষা অর্থাৎ 0 ও 1-এর সংকেত বুঝে।
- তাই বিভিন্ন ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে রূপান্তর করতে হয়।
- এই কাজটি করার জন্য বিশেষ প্রোগ্রাম তৈরি করা হয়, যাকে বলে অনুবাদক প্রোগ্রাম।

• নিচে তিন ধরনের অনুবাদকের বর্ণনা দেওয়া হলো:
১। অ্যাসেম্বলার (Assembler): 
- অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে অনুবাদ করে অ্যাসেম্বলার নামক একটি প্রোগ্রাম।
- উচ্চ স্তরের যেসব প্রোগ্রামিং ভাষা সেগুলোকে মেশিন কোডে অনুবাদ করার কাজটি করার জন্য দু ধরনের প্রোগ্রাম রয়েছে- কম্পাইলার (Compiler) ও ইন্টারপ্রেটার (Interpreter)।
- প্রতিটি উচ্চ স্তরের প্রোগ্রামিং ভাষারই পৃথক কম্পাইলার অথবা ইন্টারপ্রেটার রয়েছে।
- এই দুই ধরনের অনুবাদক প্রোগ্রামের উদ্দেশ্য এক হলেও কাজের ধরনে কিছুটা ভিন্নতা রয়েছে।

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

৩। ইন্টারপ্রেটার (Interpreter):
- ইন্টারপ্রেটার পুরো প্রোগ্রাম পরীক্ষা না করে প্রোগ্রামের প্রতিটি স্টেটমেন্ট (statement বা নির্দেশ) মেশিন কোডে রূপান্তর করে সেটিকে এক্সিকিউট করে।
- অর্থাৎ, কোনো প্রোগ্রামে যদি দশটি স্টেটমেন্ট থাকে, তাহলে প্রথম স্টেটমেন্ট আগে মেশিন কোডে রূপান্তর হয়ে চলবে, তারপর দ্বিতীয় স্টেটমেন্ট, তারপর তৃতীয় স্টেটমেন্ট, একে একে সব স্টেটমেন্ট এক্সিকিউট হবে। এ কারণে ভুল শুদ্ধ করা অনেক সহজ।
- কিন্তু একটি একটি করে স্টেটমেন্ট মেশিন কোডে রূপান্তর হয় বলে সময় তুলনামূলকভাবে বেশি লাগে।

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

১৭১.
Which is the first successful high-level computer programming language?
  1. Assembly
  2. FORTRAN
  3. C
  4. COBOL
সঠিক উত্তর:
FORTRAN
উত্তর
সঠিক উত্তর:
FORTRAN
ব্যাখ্যা

• FORTRAN হলো বিশ্বের প্রথম সফল computer programming language, যা বৈজ্ঞানিক ও গাণিতিক হিসাবের জন্য ব্যাপকভাবে ব্যবহৃত হয়ে সফলতা অর্জন করে।

• FORTRAN:
- FORTRAN শব্দটির পূর্ণরূপ Formula Translation।
- এটি একটি উচ্চস্তরের নির্দেশমূলক (High-level procedural) প্রোগ্রামিং ভাষা।
- FORTRAN মূলত scientific computation ও numerical calculation-এর জন্য তৈরি করা হয়েছিল।

• FORTRAN-এর গুরুত্ব:
- FORTRAN-কে বিশ্বের প্রথম সফল কম্পিউটার প্রোগ্রামিং ভাষা বলা হয়।
- এটি ১৯৫০-এর দশকের মাঝামাঝি সময়ে তৈরি হয়।
- FORTRAN প্রমাণ করে যে উচ্চস্তরের ভাষা ব্যবহার করে কার্যকর ও দক্ষ প্রোগ্রাম লেখা সম্ভব।
 
• FORTRAN-এর উদ্ভাবক:
- John Backus এবং তাঁর সহযোগীরা IBM-এ কর্মরত অবস্থায় FORTRAN তৈরি করেন।
- এই ভাষা পরবর্তীতে অন্যান্য উচ্চস্তরের প্রোগ্রামিং ভাষা উন্নয়নে অনুপ্রেরণা দেয়।
 
• FORTRAN-এর উল্লেখযোগ্য সংস্করণসমূহ:
- FORTRAN I
- FORTRAN II
- FORTRAN IV
- FORTRAN 77
- FORTRAN 90
 
• অন্যান্য অপশন:
- C → এটি পরবর্তীতে তৈরি একটি উচ্চস্তরের প্রোগ্রামিং ভাষা।
- COBOL → এটি ব্যবসায়িক ডেটা প্রক্রিয়াকরণের জন্য ব্যবহৃত।
- Assembly → এটি দ্বিতীয় প্রজন্মের নিম্নস্তরের ভাষা, প্রথম সফল উচ্চস্তরের ভাষা নয়।

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

১৭২.
নিচের কোনটি অবজেক্ট ওরিয়েন্টেড ভাষার বৈশিষ্ট্য নয়?
  1. এনক্যাপসুলেশন
  2. ইন্টারপ্রেটার
  3. পলিমরফিজম
  4. ইনহেরিটেন্স
সঠিক উত্তর:
ইন্টারপ্রেটার
উত্তর
সঠিক উত্তর:
ইন্টারপ্রেটার
ব্যাখ্যা

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

• একটি ল্যাংগুয়েজ কে পরিপূর্ণ অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ হতে হলে কমপক্ষে তিনটি ধারণা বা Concept সার্পোট করতে হবে। এই ধারণাগুলো হচ্ছে-
১. পলিমরফিজম (Polymorphism)
২. ইনহেরিটেন্স (Inheritance) ও
৩. এনক্যাপসুলেশন (Encapsulation)

পলিমরফিজম (Polymorphism):
-পলিমরফিজম অর্থ হচ্ছে ভিন্ন ভিন্ন অবজেক্ট (object) কোনো নির্দিষ্ট একটি মেসেজ (Message) এর উত্তরে তাদের নিজেদের মতো করে সাড়া দেবে।
- পলিমরফিজম বৈশিষ্ট্যের জন্য কোন কোড বা মডিউলের নাম এক হলেও একাধিক রূপ থাকতে পারে।

ইনহেরিটেন্স (Inheritance):
- ইনহেরিটেন্স এমন একটি ক্ষমতা বা Power যার মাধ্যমে কোনো প্রচলিত শ্রেণি বা Class কে পরিবর্তন না করে পরিবর্ধিত বা Extend করে নতুন আরেকটি শ্রেণি বা Class তৈরি করা যায়।
- যখন একেবারে শেষ শ্রেণি বা Class এর কোন Object তৈরি করা হয় তখন তার মধ্যে পূর্ববতী সফল Class এর সাধারণ গুণাবলী বর্তমান থাকে।
- এটি কোডের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে।

এনক্যাপসুলেশন (Encapsulation):
- এনক্যাপসুলেশন অর্থ হচ্ছে কোন ভেরিয়েবেলের ডেটা এবং ইন্সট্রাকশন একত্রিত (Unit) অবস্থায় থাকা। 
- এটি অবজেক্টের অভ্যন্তরীণ অবস্থাকে সুরক্ষিত রাখে এবং বাইরের এক্সেস বা পরিবর্তন থেকে রক্ষা করে।

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

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৭৪.
নিচের কোনটি প্রোগ্রামিং এর ভাষা?
  1. ক) Power point
  2. খ) MS Excel
  3. গ) COBOL
  4. ঘ) Windows
সঠিক উত্তর:
গ) COBOL
উত্তর
সঠিক উত্তর:
গ) COBOL
ব্যাখ্যা
ন্যাচারাল ল্যাংগুয়েজ, ভেরি হাই লেভেল ল্যাংগুয়েজ, নন-প্রসিডিউরাল ল্যাংগুয়েজ এবং একেট্রাল ল্যাংগুয়েজ এর সমন্বয়ে চতুর্থ প্রজন্মের ভাষা গঠিত। এই ভাষার স্বপ্নদ্রষ্টা হলো বিল গেটস। এই ভাষাকে মেশিনের ভাষায় রূপান্তর করবে ইন্টেলিজেন্ট কম্পাইলার। বর্তমানে এই ভাষা উন্নয়নাধীন রয়েছে। QBE, SQL, ADF, CSP ইত্যাদি কিছু চতুর্থ প্রজন্মের ভাষা। ADA, C এবং COBOL তৃতীয় প্রজন্মের ভাষা।
সূত্রঃ তথ্য ও যোগাযোগ প্রযুক্তি : একাদশ-দ্বাদশ শ্রেণী, শাহ্ শাহজাহান সজীব
১৭৫.
'উচ্চতর ভাষা' কোন প্রজন্মের ভাষা? 
  1. চতুর্থ প্রজন্ম
  2. দ্বিতীয় প্রজন্ম
  3. পঞ্চম প্রজন্ম
  4. তৃতীয় প্রজন্ম
সঠিক উত্তর:
তৃতীয় প্রজন্ম
উত্তর
সঠিক উত্তর:
তৃতীয় প্রজন্ম
ব্যাখ্যা
- ১৯৪৫ সাল থেকে শুরু হয়ে এ পর্যন্ত অনেক প্রোগ্রামিং ভাষা উদ্ভব  হয়েছে। 
১. প্রথম প্রজন্মের ভাষা: মেশিন ভাষা, 
২. দ্বিতীয় প্রজন্মের ভাষা: অ্যাসেম্বলি ভাষা, 
৩. তৃতীয় প্রজন্মের ভাষা: উচ্চতর ভাষা
৪. চতুর্থ প্রজন্মের ভাষা: অতি উচ্চতর  ভাষা এবং 
৫. পঞ্চম প্রজন্মের ভাষা: স্বাভাবিক বা ন্যাচারাল ভাষা। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি।
১৭৬.
MIDI এর পূর্ণরূপ -
  1. ক) Musical Instrument Digital Intercept
  2. খ) Musical Institute Digital Interface
  3. গ) Musical Instrument Digital Interface
  4. ঘ) কোনটি নয়
সঠিক উত্তর:
গ) Musical Instrument Digital Interface
উত্তর
সঠিক উত্তর:
গ) Musical Instrument Digital Interface
ব্যাখ্যা
MIDI, in full musical instrument digital interface, technology standard allowing electronic musical instruments to communicate with one another and with computers.
 
Source: Britannica
১৭৭.
পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ নয় কোনটি?
  1. SPSS
  2. Mercury
  3. Prolog
  4. OPS5
সঠিক উত্তর:
SPSS
উত্তর
সঠিক উত্তর:
SPSS
ব্যাখ্যা
• পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ হলো অ্যালগরিদম ব্যবহার না করে সহজভাবে সমস্যা সমাধান করার ল্যাঙ্গুয়েজ।
- এ ভাষাকে এমনভাবে ডিজাইন করা হয়েছে, যেন পূর্বের প্রোগ্রামিং ল্যাঙ্গুয়েজের মতো জটিল কোড লিখতে পারে এমন প্রোগ্রামার ছাড়াই কম্পিউটার দিয়ে সমস্যা সমাধান করা যায়।
- ফলে প্রোগ্রামারদেরকে কিভাবে একটি রুটিন অথবা অ্যালগরিদম প্রয়োগ করতে হবে, তা চিন্তা না করে কী সমস্যা সমাধান করতে হবে, কী শর্ত পূরণ করতে হবে, তা নিয়ে ভাবলেই চলে ।
- পঞ্চম প্রজন্মের প্রোগ্রামিং ল্যাঙ্গুয়েজ মূলত কৃত্রিম বুদ্ধিমত্তা গবেষণায় ব্যবহৃত হয়।
- Prolog, OPS5 ও Mercury হলো পঞ্চম প্রজন্মের ল্যাঙ্গুয়েজের উদাহরণ।

• SPSS হলো Statistical software, অপশনের বাকিগুলো প্রোগ্রামিং ল্যাঙ্গুয়েজের উদাহরণ।

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ ও দ্বাদশ শ্রেণি, মাহবুবুর রহমান।
১৭৯.
নিচের কোনটি চতুর্থ প্রজন্মের প্রোগ্রামিং ভাষা?
  1. Machine Language
  2. Java
  3. C++
  4. NOMAD
সঠিক উত্তর:
NOMAD
উত্তর
সঠিক উত্তর:
NOMAD
ব্যাখ্যা

NOMAD একটি চতুর্থ প্রজন্মের প্রোগ্রামিং ভাষা।

• প্রথম প্রজন্মের ভাষা:
- মেশিন ভাষা (Machine Language)
- শুধুমাত্র ০ এবং ১ ব্যবহার করে প্রোগ্রাম লিখা হয়।
- ভাষার সর্বনিম্ন স্তর মেশিন ভাষা যা কম্পিউটারের মৌলিক ভাষা।
- অনেক সময় ব্যয় হয় ও ভুল দূর করা কষ্টসাধ্য।

• দ্বিতীয় প্রজন্মের ভাষা:
- অ্যাসেম্বলি ভাষা (Assembly Language)।
- সংকেত বা নেমোনিক ব্যবহার করে প্রোগ্রাম লিখা হয়। যেমন: SUB, MUL, ADD, DIV.
- সাংকেতিক ভাষাও বলা হয়।

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

চতুর্থ প্রজন্মের (অতি উচ্চতর - Very high level) ভাষা:
- কম্পিউটারে সহজে ব্যবহারের জন্য উদ্ভাবিত বিশেষ কয়েকটি ভাষাকে চতুর্থ প্রজন্মের ভাষা (4GL) বলা হয়।
- পুঙ্খানুপুঙ্খ বা বিস্তারিতভাবে প্রক্রিয়াকরণের বর্ণনা দিতে হয় না বলে চতুর্থ প্রজন্মের ভাষাকে ননপ্রসিডিউলার ল্যাংগুয়েজও বলা হয়।
- উদাহরণ হলো- SQL, NOMAD, RPG III, FOCUS, Intellect BРМ.

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

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

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

- Python অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, উন্মুক্ত বিশ্ববিদ্যালয়।
১৮১.
ইন্টারপ্রেটারের মধ্যে চলা প্রোগ্রামে যদি কোনো ত্রুটি ঘটে, তখন ফলাফল কী হবে?
  1. ত্রুটি লাইনে এক্সিকিউশন বন্ধ হবে
  2. প্রোগ্রাম ঠিকভাবে চলবে
  3. ইন্টারপ্রেটার ত্রুটি উপেক্ষা করবে
  4. কোড স্বয়ংক্রিয়ভাবে মেশিন কোডে কম্পাইল হবে
সঠিক উত্তর:
ত্রুটি লাইনে এক্সিকিউশন বন্ধ হবে
উত্তর
সঠিক উত্তর:
ত্রুটি লাইনে এক্সিকিউশন বন্ধ হবে
ব্যাখ্যা
• ইন্টারপ্রেটারের মাধ্যমে যখন কোনো প্রোগ্রাম চালানো হয়, তখন এটি কোডটি লাইনের ভিত্তিতে পড়ে এবং সঙ্গে সঙ্গে এক্সিকিউট করে। যদি প্রোগ্রামের মধ্যে কোনো ত্রুটি ঘটে, ইন্টারপ্রেটার তা সনাক্ত করে এবং সাধারণত ত্রুটির স্থানে এক্সিকিউশন থামায়। অর্থাৎ, ত্রুটিপূর্ণ লাইনের পরবর্তী কোড চালানো হয় না। এটি কম্পাইলারের মতো পুরো প্রোগ্রাম আগে থেকে যাচাই করে না, তাই ত্রুটি ঘটার সাথে সাথেই প্রক্রিয়া বন্ধ হয়ে যায়। তাই সঠিক উত্তর হলো ক) ত্রুটি লাইনে এক্সিকিউশন বন্ধ হবে।

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

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

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

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

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

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

• লজিক্যাল ভুল (Logical error):
- প্রোগ্রামে যুক্তির ভুল।

• রান টাইম ও এক্সিকিউশন ভুল (Run time and Execution error):
- কম্পিউটারকে ভুল ডেটা জানালে বা ডেটার ফরম্যাট ঠিক না থাকলে রান টাইম এরর দেখায়।

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণী, প্রকৌশলী মুজিবুর রহমান।
১৮৩.
নিচের কোনটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ?
  1. C
  2. HTML
  3. Java
  4. All of the above
সঠিক উত্তর:
Java
উত্তর
সঠিক উত্তর:
Java
ব্যাখ্যা
• অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতিতে ডাটা ও ইনস্ট্রকাশনের সমন্বয়ে চলক তৈরি করা হয়। একে বলা হয় অবজেক্ট।
- মেসেজে আদান-প্রদানের মাধ্যমে অবজেক্টগুলো পরস্পরের সাথে যোগাযোগ রক্ষা করে।
- এই প্রোগ্রামিং পদ্ধতিতে প্রোগ্রামের ইনস্ট্রাকশনগুলো ডাটা দ্বারা নিয়ন্ত্রিত হয়।
- C++, Java, C#, Python ইত্যাদি হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর উদাহরণ।
- মূলত ৬টি প্রাথমিক ধারণার দ্বারা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংকে উপস্থাপন করা হয়। যেমন:
১. অবজেক্ট (Object),
২. ক্লাস (Class),
৩. মেসেজ (Message),
৪. পলিমারফিজম (Polymorphism),
৫. ইনহেরিটেন্স (Inheritance) এবং
৬. এনক্যাপসুলেশন (Encapsulation)। 

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৮৪.
পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ-এর উদ্ভাবক কে?
  1. Bjarne Stroustrup
  2. Guido van Rossum
  3. James Gosling
  4. Dennis Ritchie
সঠিক উত্তর:
Guido van Rossum
উত্তর
সঠিক উত্তর:
Guido van Rossum
ব্যাখ্যা
⚪ পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ-এর উদ্ভাবক হলেন গুইডো ভ্যান রসুম (Guido van Rossum)।

তিনি ১৯৮০-এর দশকে পাইথন প্রোগ্রামিং ভাষাটি তৈরি করেছিলেন এবং ১৯৯১ সালে প্রথম এটি প্রকাশিত হয়।

⚪ অপশন আলোচনা:
ক) Bjarne Stroustrup:
- Bjarne Stroustrup হলেন C++ প্রোগ্রামিং ভাষার উদ্ভাবক। তিনি ১৯৭৯ সালে C++ এর প্রথম সংস্করণ তৈরি করেছিলেন, যা C ভাষার ওপর ভিত্তি করে তৈরি হয়েছিল। C++ একটি উচ্চস্তরের প্রোগ্রামিং ভাষা যা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সমর্থন করে এবং সিস্টেম সফটওয়্যার, গেম ডেভেলপমেন্ট, গ্রাফিক্স, এবং অন্যান্য অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়।

গ) James Gosling:
- James Gosling হলেন Java প্রোগ্রামিং ভাষার উদ্ভাবক। তিনি ১৯৯০ এর দশকে Sun Microsystems-এ কাজ করার সময় Java ভাষার উন্নয়ন করেন। Java একটি জনপ্রিয় প্রোগ্রামিং ভাষা যা প্ল্যাটফর্ম-স্বাধীন (platform-independent) এবং "Write Once, Run Anywhere" নীতির ওপর ভিত্তি করে তৈরি। এটি ওয়েব অ্যাপ্লিকেশন, এন্টারপ্রাইজ সিস্টেম, এবং মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয়।

ঘ) Dennis Ritchie:
- Dennis Ritchie ছিলেন C প্রোগ্রামিং ভাষার উদ্ভাবক এবং তিনি Unix অপারেটিং সিস্টেমের এক সহ-উদ্ভাবক। ১৯৭২ সালে C ভাষা তৈরি করেন, যা কম্পিউটার সিস্টেম সফটওয়্যার, অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং সিস্টেম প্রোগ্রামিংয়ের জন্য অত্যন্ত জনপ্রিয় হয়ে ওঠে। C ভাষা আজও অনেক আধুনিক ভাষার ভিত্তি হিসেবে কাজ করে।

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ শ্রেণি, মাহবুবুর রহমান।
১৮৫.
কম্পিউটারের নিজস্ব ভাষা কোনটি?
  1. স্বাভাবিক/ন্যাচারাল ভাষা
  2. অ্যাসেম্বলি ভাষা
  3. মেশিন ভাষা
  4. উচ্চস্তরের ভাষা
সঠিক উত্তর:
মেশিন ভাষা
উত্তর
সঠিক উত্তর:
মেশিন ভাষা
ব্যাখ্যা

মেশিন ভাষা (Machine Language) হলো কম্পিউটারের নিজস্ব ভাষা।

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

• নিম্ন স্তরের ভাষাকে আবার দুই ভাগে ভাগ করা যায়। যথা:
- মেশিন ভাষা
- অ্যাসেম্বলি ভাষা

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

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

উৎসঃ মৌলিক কম্পিউটার শিক্ষা (উন্মুক্ত বিশ্ববিদ্যালয়, বিবিএ প্রোগ্রাম)।

১৮৬.
ওয়েব ডিজাইনের জন্য কোন ভাষাটি প্রযোজ্য নয়?
  1. JavaScript
  2. HTML
  3. Perl
  4. CSS
সঠিক উত্তর:
Perl
উত্তর
সঠিক উত্তর:
Perl
ব্যাখ্যা
• ওয়েব ডিজাইনের জন্য সাধারণত HTML, CSS, এবং JavaScript প্রধান ভাষা হিসেবে ব্যবহৃত হয়। HTML ওয়েব পেজের কাঠামো তৈরি করে, CSS দিয়ে পেজের ডিজাইন ও স্টাইল নির্ধারণ করা হয়, আর JavaScript দিয়ে ওয়েব পেজে ইন্টারেক্টিভ ফাংশন যোগ করা হয়। তবে Perl একটি সাধারণ উদ্দেশ্যের প্রোগ্রামিং ভাষা, যা মূলত সার্ভার-সাইড স্ক্রিপ্টিং, ডেটা প্রক্রিয়াকরণ এবং সিস্টেম প্রশাসন কাজে ব্যবহৃত হয়। Perl সরাসরি ওয়েব ডিজাইনে ব্যবহৃত হয় না, কারণ এটি পেজের ভিজ্যুয়াল বা ডিজাইন অংশ নিয়ন্ত্রণ করতে পারে না। তাই ওয়েব ডিজাইনের জন্য Perl প্রযোজ্য নয়। HTML, CSS, ও JavaScript ছাড়া Perl ওয়েব ডিজাইনের জন্য উপযুক্ত ভাষা নয়।

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

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

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

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

তথ্যসূত্র:
- তথ্য ও যোগাযোগ প্রযুক্তি, মাহবুবুর রহমান।
- "Web Design with HTML, CSS, JavaScript and jQuery" by Jon Duckett.
১৮৭.
প্রোগ্রামিং ভাষায় কী ধরনের ভুল ঠিক করা সহজ?
  1. Syntax Error
  2. Data Error
  3. Logical Error
  4. কোনটি নয়
সঠিক উত্তর:
Syntax Error
উত্তর
সঠিক উত্তর:
Syntax Error
ব্যাখ্যা
• ডাটা ভুল (Data Error):
- কম্পিউটারে ভুল ডাটা দিলে তাকে ডাটা ভুল বলে।
- ডাটা ভুল কম্পিউটার বুঝতে পারে না। যেমন: 82 এর স্থলে 28 লেখা। এ ধরনের ভুলে কম্পিউটার ভুলের বার্তা প্রদর্শন করে না।

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

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

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, এইচএসসি প্রোগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৮৯.
A < B এর স্থলে A > B লিখার ভুলকে প্রোগ্রামিং ভাষায় কী বলা হয়?
  1. Syntax Error
  2. Logical Error
  3. Data Error
  4. Relational error
সঠিক উত্তর:
Logical Error
উত্তর
সঠিক উত্তর:
Logical Error
ব্যাখ্যা
• ডাটা ভুল (Data Error):
- কম্পিউটারে ভুল ডাটা দিলে তাকে ডাটা ভুল বলে।
- ডাটা ভুল কম্পিউটার বুঝতে পারে না। যেমন: 82 এর স্থলে 28 লেখা। এ ধরনের ভুলে কম্পিউটার ভুলের বার্তা প্রদর্শন করে না।

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ শ্রেণি, প্রকৌশলী মুজিবুর রহমান।
১৯০.
নিচের কোনটি application সফটওয়্যার?
  1. ক) MS Word
  2. খ) AutoCAD
  3. গ) Photoshop
  4. ঘ) All of these
সঠিক উত্তর:
ঘ) All of these
উত্তর
সঠিক উত্তর:
ঘ) All of these
ব্যাখ্যা
Application সফটওয়্যার হলো বিশেষ ধরণের কাজের জন্য ব্যবহৃত হয়, তবে কম্পিউটারের জন্য আবশ্যক নয়।
যেমন, MS Word লেখালেখির কাজে ব্যবহৃত হয়, কিন্তু এটি না থাকলে যে কোন কম্পিউটার চালাতে অসুবিধা হয় না। 
কিন্তু কোন কম্পিউটারের যদি অপারেটিং সিস্টেম (সিস্টেম সফটওয়্যার ) না থাকে ,তাহলে এটি ব্যবহার করা সম্ভব হয় না। 
MS Word, AutoCAD, Photoshop হলো application সফটওয়্যার। 

১৯১.
কোন ধরনের প্রোগ্রাম সোর্স কোডের প্রতিটি নির্দেশ একবারে পড়ে সাথে সাথে কার্যকর করে?
  1. কম্পাইলার
  2. অ্যাসেম্বলার
  3. ইন্টারপ্রেটার
  4. ক ও গ 
সঠিক উত্তর:
ইন্টারপ্রেটার
উত্তর
সঠিক উত্তর:
ইন্টারপ্রেটার
ব্যাখ্যা

ইন্টারপ্রেটার একটি প্রোগ্রাম যা সোর্স কোডের প্রতিটি লাইন একে একে পড়ে, অনুবাদ করে এবং সাথে সাথে আউটপুট প্রদান করে। 
- এটি পুরো কোড একবারে অনুবাদ করে রান করে না, বরং লাইন-বাই-লাইন এক্সিকিউশন করে।

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

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

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

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

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

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

উৎস: তথ্য ও যোগাযোগ প্রযুক্তি, একাদশ-দ্বাদশ ও আলিম শ্রেণি।
১৯৩.
অ্যালগরিদমের ছবি বা চিত্র রূপকে কী বলা হয়?
  1. বেসিক কমান্ড
  2. সুডােকোড
  3. ফ্লোচার্ট
  4. ছদ্ম-প্রােগ্রাম
সঠিক উত্তর:
ফ্লোচার্ট
উত্তর
সঠিক উত্তর:
ফ্লোচার্ট
ব্যাখ্যা
• অ্যালগরিদমের ছবি বা চিত্র রূপকে ফ্লোচার্ট (Flowchart) বলা হয়। এটি একটি গ্রাফিক্যাল উপস্থাপনা যা অ্যালগরিদমের ধাপে ধাপে কার্যপ্রণালী বা প্রসেস দেখায়। ফ্লোচার্টে বিভিন্ন আকারের বক্স ও চিহ্ন ব্যবহার করে কাজের ধারা, সিদ্ধান্ত গ্রহণ, ইনপুট-আউটপুট, লুপ ইত্যাদি নির্দেশ করা হয়। এটি কোনো সমস্যা সমাধানের পদ্ধতি সহজে বুঝতে সাহায্য করে এবং প্রোগ্রামিং এর জন্য পরিকল্পনা তৈরি করতে সহায়ক। বেসিক কমান্ড, সুডোকোড ও ছদ্ম-প্রোগ্রাম আলাদা ধরণের লেখা বা নির্দেশনা, কিন্তু ছবি বা চিত্রের আকারে অ্যালগরিদম বোঝাতে ফ্লোচার্ট ব্যবহার করা হয়। তাই, অ্যালগরিদমের চিত্র রূপের সঠিক উত্তর হলো “গ) ফ্লোচার্ট”।

• প্রবাহচিত্র/ফ্লোচার্ট:
- এটি অ্যালগরিদমের চিত্ররূপ।
- এই চিত্রে প্রােগ্রামের পূর্ণাঙ্গ পরিকল্পনা দেয়া হল।
- ফ্লোচার্ট অনুসরণ করে প্রকৃত প্রােগ্রাম রচনা করা হয়।

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

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

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

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

উৎস: মৌলিক কম্পিউটার শিক্ষা, বিবিএ প্রােগ্রাম, বাংলাদেশ উন্মুক্ত বিশ্ববিদ্যালয়।
১৯৪.
নিচের কোনটি প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়?
  1. R
  2. Scratch
  3. C
  4. Eclipse
সঠিক উত্তর:
Eclipse
উত্তর
সঠিক উত্তর:
Eclipse
ব্যাখ্যা
• সঠিক উত্তর: ঘ) Eclipse প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়। R, Scratch, এবং C- তিনটি প্রোগ্রামিং ভাষা বা প্রযুক্তির সঙ্গে সরাসরি কোডিং সংযুক্ত। R হলো এক ধরনের প্রোগ্রামিং ল্যাঙ্গুয়েজ যা ডেটা বিশ্লেষণ ও পরিসংখ্যানের কাজে ব্যবহৃত হয়। Scratch একটি ভিজ্যুয়াল প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা শিশুদের প্রোগ্রামিং শেখানোর জন্য ডিজাইন করা হয়েছে। C একটি মৌলিক  প্রোগ্রামিং ল্যাঙ্গুয়েজ। অন্যদিকে Eclipse একটি Integrated Development Environment (IDE), যা বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন Java, C, C++ ইত্যাদির কোড লেখার জন্য ব্যবহৃত হয়। তাই Eclipse নিজে কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়।

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

• বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা:
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. ঘ) সবগুলো
সঠিক উত্তর:
ঘ) সবগুলো
উত্তর
সঠিক উত্তর:
ঘ) সবগুলো
ব্যাখ্যা
উপরের সবগুলো প্রোগ্রামিং এর ভাষা।
১৯৬.
লাইন ব্রেক দেওয়ার জন্য সঠিক HTML ট্যাগ কোনটি?
  1. < break >
  2. < brk >
  3. < br >
  4. < lb >
সঠিক উত্তর:
< br >
উত্তর
সঠিক উত্তর:
< br >
ব্যাখ্যা

• HTML-এ লাইন ব্রেক দেওয়ার জন্য সঠিক ট্যাগ হলো < br >। এটি একটি সেলফ-ক্লোজিং ট্যাগ, অর্থাৎ এর জন্য আলাদা বন্ধ ট্যাগের প্রয়োজন হয় না। যখন কোনো টেক্সটের মধ্যে নতুন লাইনে যাওয়ার দরকার হয়, তখন < br > ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি অনুচ্ছেদে যদি দুটি লাইনে লেখা থাকে এবং তাদের আলাদা করতে চাই, তাহলে < br > ব্যবহার করে তা করা যায়। < break > বা, < brk > বা, < lb > কোনো valid HTML ট্যাগ নয়, তাই এগুলো কাজ করবে না। সুতরাং, লাইন ব্রেকের জন্য < br > সর্বদা ব্যবহার করাই সঠিক ও প্রচলিত। এটি সহজ এবং জনপ্রিয় পদ্ধতি।

• HTML:

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

উৎস: w3.org

১৯৭.
Which programming language introduced the idea of "Write once, run anywhere"?
  1. Python
  2. C++
  3. COBOL
  4. Java 
সঠিক উত্তর:
Java 
উত্তর
সঠিক উত্তর:
Java 
ব্যাখ্যা

• জাভা (Java) প্রোগ্রামিং ভাষার মূল বৈশিষ্ট্য হলো "Write Once, Run Anywhere" (WORA), যা প্রোগ্রামটির পোর্টেবিলিটি বা বহনযোগ্যতাকে নির্দেশ করে।
- এর অর্থ হলো, একবার জাভা ভাষায় প্রোগ্রাম লিখলে সেটি কোনো পরিবর্তন ছাড়াই বিভিন্ন অপারেটিং সিস্টেমে (যেমন: Windows, Linux, macOS) চালানো সম্ভব। এটি মূলত Java Virtual Machine (JVM) ব্যবহারের মাধ্যমে সম্ভব হয়েছে।

• প্রোগ্রামিং ল্যাঙ্গুয়েজ:
- কম্পিউটার সিস্টেমে প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অঙ্ক, সংকেত এবং এগুলো বিন্যাসের নিয়মগুলোকে একত্রে প্রোগ্রামিং ল্যাঙ্গুয়েজ বলা হয়।
- বৈশিষ্ট্য অনুযায়ী প্রোগ্রামিং ল্যাঙ্গুয়েজকে ৫ ভাগে ভাগ করা যায়। যথা:
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# একটি অবজেক্ট-ওরিয়েন্টেড, কম্পোনেন্ট-ভিত্তিক প্রোগ্রামিং ভাষা।

• Ruby:
- Ruby একটি ডাইনামিক এবং ওপেন সোর্স প্রোগ্রামিং ভাষা, যা ওয়েব অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়।

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

১৯৮.
গুইডো ভ্যান রোসাম কোন প্রোগ্রামিং ভাষার জনক হিসেবে খ্যাত?
  1. Swift
  2.  JavaScript
  3. PHP
  4. Python
সঠিক উত্তর:
Python
উত্তর
সঠিক উত্তর:
Python
ব্যাখ্যা

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

- উত্তর: ঘ) Python.

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

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

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

১৯৯.
ডিবাগিং কী?
  1. কোডিং করা
  2. প্রোগ্রাম স্থায়ীভাবে সংরক্ষণ করা
  3. প্রোগ্রাম অনুবাদ
  4. প্রোগ্রামের ভুলত্রুটি খুঁজে বের করা
সঠিক উত্তর:
প্রোগ্রামের ভুলত্রুটি খুঁজে বের করা
উত্তর
সঠিক উত্তর:
প্রোগ্রামের ভুলত্রুটি খুঁজে বের করা
ব্যাখ্যা

প্রোগ্রামের ভুল ত্রুটি খুঁজে বের করে তা দূর করাকে বলে ডিবাগিং।

ডিবাগিং:
- 1945 সালে মার্ক 1 কম্পিউটারটির ভিতরে একটি মথপোকা ঢোকায় কম্পিউটারটি হঠাৎ বন্ধ হয়ে যায় এ থেকেই ডিবাগিং কথাটির উৎপত্তি।
- সব ভুলত্রুটি দূর না হওয়া পর্যন্ত কোন প্রোগ্রামই ব্যবহার করা যায় না।
- ডিবাগিং এর জন্য প্রথমে প্রোগ্রামের আগাগোড়া ভাল করে পরীক্ষা করে দেখা হয়।
- প্রয়োজন হলে কোন প্রোগ্রামিং বিশেষজ্ঞের সাহায্য নিতে হয়।
- এরপরও যেসব ভুল থেকে যায় সেগুলো দূর করতে হলে প্রথমে সিনট্যাক্স ভুল দূর করে তারপর লজিক ভুল দূর করতে হয়।

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

২০০.
নিচের কোনটি অনুবাদক প্রোগ্রামের ধরন নয়?  
  1. ইন্টারপ্রেটার 
  2. অ্যাসেম্বলার 
  3. কম্পাইলার 
  4. ডিবাগার 
সঠিক উত্তর:
ডিবাগার 
উত্তর
সঠিক উত্তর:
ডিবাগার 
ব্যাখ্যা

- অনুবাদক প্রোগ্রামের ধরন নয়- ডিবাগার।
- ডিবাগার (Debugger) একটি সফটওয়্যার টুল যা প্রোগ্রামের ত্রুটি বা বাগ খুঁজে বের করতে এবং তা ঠিক করতে সাহায্য করে। 

অনুবাদক প্রোগ্রাম (Translator Program): 

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

২। অ্যাসেম্বলার (Assembler): 
- অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে অনুবাদ করে অ্যাসেম্বলার নামক একটি প্রোগ্রাম। 
- উচ্চ স্তরের যেসব প্রোগ্রামিং ভাষা সেগুলোকে মেশিন কোডে অনুবাদ করার কাজটি করার জন্য দু ধরনের প্রোগ্রাম রয়েছে- কম্পাইলার (Compiler) ও ইন্টারপ্রেটার (Interpreter)। 
- প্রতিটি উচ্চ স্তরের প্রোগ্রামিং ভাষারই পৃথক কম্পাইলার অথবা ইন্টারপ্রেটার রয়েছে। 
- এই দুই ধরনের অনুবাদক প্রোগ্রামের উদ্দেশ্য এক হলেও কাজের ধরনে কিছুটা ভিন্নতা রয়েছে। 

৩। ইন্টারপ্রেটার (Interpreter): 
- ইন্টারপ্রেটার পুরো প্রোগ্রাম পরীক্ষা না করে প্রোগ্রামের প্রতিটি স্টেটমেন্ট (statement বা নির্দেশ) মেশিন কোডে রূপান্তর করে সেটিকে এক্সিকিউট করে। অর্থাৎ, কোনো প্রোগ্রামে যদি দশটি স্টেটমেন্ট থাকে, তাহলে প্রথম স্টেটমেন্ট আগে মেশিন কোডে রূপান্তর হয়ে চলবে, তারপর দ্বিতীয় স্টেটমেন্ট, তারপর তৃতীয় স্টেটমেন্ট, একে একে সব স্টেটমেন্ট এক্সিকিউট হবে। এ কারণে ভুল শুদ্ধ করা অনেক সহজ। 
- কিন্তু একটি একটি করে স্টেটমেন্ট মেশিন কোডে রূপান্তর হয় বলে সময় তুলনামূলকভাবে বেশি লাগে। 

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