HSC ICT ৫ম অধ্যায় প্রোগ্রামিং ভাষা নোটের ফিচার্ড গ্রাফিক — ল্যাপটপে কোড ও বাইনারি সংখ্যা

এইচএসসি আইসিটি ৫ম অধ্যায় প্রোগ্রামিং ভাষা নোট: পরীক্ষায় সেরা নম্বর তুলতে সম্পূর্ণ নোট, MCQ ও সৃজনশীল গাইড এক জায়গায়।

পরীক্ষার হলে প্রশ্নপত্র হাতে পেয়ে তুমি উল্টেপাল্টে দেখছ। হঠাৎ চোখে পড়ল — “কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য লেখো।” মুহূর্তেই হাতটা একটু ঘেমে গেল, তাই না? এইচএসসি আইসিটির ৫ম অধ্যায়, অর্থাৎ প্রোগ্রামিং ভাষা, বহু পরীক্ষার্থীর কাছেই সবচেয়ে ভয়ের অধ্যায়। অথচ বাস্তব চিত্রটা উল্টো। এই অধ্যায় থেকেই প্রতিবছর বোর্ড পরীক্ষায় ৩–৪টি MCQ আসে, আর সৃজনশীল অংশেও প্রায় নিয়মিত একটা প্রশ্ন থাকে। অর্থাৎ ঠিকভাবে পড়লে এটাই হতে পারে তোমার সবচেয়ে সহজ নম্বরের খনি।

সরাসরি উত্তর: প্রোগ্রামিং ভাষা হলো কম্পিউটারকে নির্দেশ দেওয়ার বিশেষ ভাষা, যার সাহায্যে কোনো সমস্যা সমাধানের ধারাবাহিক নির্দেশাবলি লেখা হয়। এইচএসসি আইসিটির ৫ম অধ্যায়ে ভাষার ৫টি প্রজন্ম, মেশিন–অ্যাসেম্বলি–উচ্চস্তরের ভাষা, অনুবাদক প্রোগ্রাম (কম্পাইলার, ইন্টারপ্রেটার, অ্যাসেম্বলার) ও প্রোগ্রাম তৈরির ধাপ শেখানো হয়েছে। নিচে পুরো অধ্যায়টা সহজ ভাষায়, MCQ ও সৃজনশীল প্রশ্নসহ গুছিয়ে দেওয়া হলো।

অনেকেই এই অধ্যায়টা ইংরেজিতেও খোঁজে, যেমন “HSC ICT chapter 5 programming language note” লিখে সার্চ দেয়। চিন্তা নেই — নিচের নোটে বাংলা সংজ্ঞার পাশাপাশি ইংরেজি টার্মগুলো এমনভাবে ব্যবহার করা হয়েছে, যাতে পরীক্ষার খাতায় যেকোনো ভাষাতেই লিখতে পারো।

অ্যাপটিতে অধ্যায়ভিত্তিক নোট, MCQ ও সৃজনশীল প্রশ্নের সমাধান একসাথে সাজানো আছে — মোবাইলেই পড়ে নিতে পারবে।

Table of Contents

প্রোগ্রামিং ভাষা কাকে বলে?

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

পাঠ্যবইয়ের ভাষায় বললে: কম্পিউটারের মাধ্যমে কোনো নির্দিষ্ট সমস্যা সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে লিখিত নির্দেশাবলি বা কোডকে প্রোগ্রামিং ভাষা বলে। যেমন C, C++, Java, Python, BASIC, Pascal, COBOL, FORTRAN — এগুলো সবই প্রোগ্রামিং ভাষা। একটা উদাহরণ দিই। তুমি যদি কম্পিউটারকে বলতে চাও “দুইটা সংখ্যা যোগ করে ফল দেখাও”, তাহলে শুধু মুখে বললেই হবে না — C ভাষায় a + b লিখে, print নির্দেশ দিয়ে কম্পিউটারকে বোঝাতে হবে। এই a + b লেখার নিয়মটাই C প্রোগ্রামিং ভাষার ব্যাকরণ।

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

এই দুটো শব্দ নিয়ে অনেকেই গুলিয়ে ফেলে, MCQ-তেও আসে। মনে রাখো — প্রোগ্রাম হলো নির্দেশের সেট (যেমন একটা রেসিপি), আর প্রোগ্রামিং ভাষা হলো সেই নির্দেশ লেখার মাধ্যম (যেমন রেসিপি লেখার ভাষা)। রেসিপি ছাড়া রান্না হয় না, আবার ভাষা ছাড়া রেসিপি লেখা যায় না — ঠিক তেমনি প্রোগ্রাম ছাড়া কম্পিউটার চলে না, আর প্রোগ্রামিং ভাষা ছাড়া প্রোগ্রাম লেখা যায় না।

প্রোগ্রামিং ভাষার ৫টি প্রজন্ম কী কী?

কম্পিউটারের জন্ম থেকে আজ পর্যন্ত প্রোগ্রামিং ভাষা পাঁচ ধাপে বদলেছে। বোর্ড পরীক্ষায় এই ৫ প্রজন্ম থেকে MCQ প্রায় নিশ্চিত আসে — কোন প্রজন্মে কোন ভাষা, কোন সালে প্রচলন শুরু — এই তিনটে তথ্য মুখস্থ রাখলেই হবে।

প্রজন্মনামবৈশিষ্ট্যউদাহরণ
প্রথম (1GL)যান্ত্রিক ভাষাশুধু ০ ও ১ দিয়ে লেখা; কম্পিউটার সরাসরি বোঝেমেশিন কোড
দ্বিতীয় (2GL)অ্যাসেম্বলি ভাষাসাংকেতিক শব্দ (নেমোনিক) দিয়ে লেখা; প্রচলন ১৯৫০ সাল থেকেADD, SUB, MUL
তৃতীয় (3GL)উচ্চস্তরের ভাষাইংরেজির কাছাকাছি; মানুষের জন্য সহজC, C++, Java, BASIC, Pascal, FORTRAN, COBOL
চতুর্থ (4GL)অতি উচ্চস্তরের ভাষাডেটাবেস ও রিপোর্ট তৈরিতে ব্যবহৃতSQL, Oracle
পঞ্চম (5GL)স্বাভাবিক ভাষাকৃত্রিম বুদ্ধিমত্তা ও সমস্যা সমাধানে ব্যবহৃতProlog, Mercury

মনে রাখার সহজ কৌশল: সংখ্যাটা বাড়ার সাথে সাথে ভাষাটা মানুষের তত কাছাকাছি আসে। প্রথম প্রজন্মে কম্পিউটার যা বোঝে (০ ও ১), পঞ্চম প্রজন্মে মানুষ যা বলে তার কাছাকাছি। আমার অভিজ্ঞতায়, পরীক্ষার্থীরা সবচেয়ে বেশি ভুল করে দ্বিতীয় আর তৃতীয় প্রজন্ম নিয়ে — “অ্যাসেম্বলি ভাষা কত সালে চালু হয়?” এই প্রশ্নের উত্তর ১৯৫০, এটা প্রায় প্রতি বোর্ডেই কোনো না কোনোভাবে আসে।

প্রথম প্রজন্ম: যান্ত্রিক ভাষা (মেশিন ল্যাঙ্গুয়েজ)

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

দ্বিতীয় প্রজন্ম: অ্যাসেম্বলি ভাষা

০ ও ১ দিয়ে প্রোগ্রাম লেখা মানুষের পক্ষে অসম্ভব কঠিন। তাই ১৯৫০ সাল থেকে চালু হলো অ্যাসেম্বলি ভাষা। এতে পুরো শব্দের বদলে সংক্ষিপ্ত সাংকেতিক রূপ ব্যবহার করা হয়, যাকে নেমোনিক কোড বলে। যেমন যোগের জন্য Addition থেকে ADD, বিয়োগের জন্য Subtraction থেকে SUB, গুণের জন্য Multiplication থেকে MUL। এটা মূলত যান্ত্রিক ভাষাকে সংক্ষেপ করার পদ্ধতি। তবে অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রাম কম্পিউটার সরাসরি বুঝতে পারে না — একে মেশিন ভাষায় রূপান্তরের জন্য অ্যাসেম্বলার নামের অনুবাদক প্রোগ্রাম লাগে।

তৃতীয় প্রজন্ম: উচ্চস্তরের ভাষা

কম্পিউটারকে সবার ব্যবহারের উপযোগী করতে ইংরেজি ভাষার কাছাকাছি যে প্রোগ্রামিং ভাষা তৈরি হলো, সেটাই উচ্চস্তরের ভাষা। এগুলো মানুষ দ্রুত লিখতে, বুঝতে ও মনে রাখতে পারে। বহুল ব্যবহৃত উচ্চস্তরের ভাষা হলো C, C++, BASIC, Pascal, COBOL, FORTRAN, Java। এখানে একটা সৎ কথা বলে রাখি: পাঠ্যবইয়ে Oracle-কে এই তালিকায় রাখা হয়েছে, কিন্তু বাস্তবে Oracle কোনো প্রোগ্রামিং ভাষা নয় — এটা একটা ডেটাবেস ম্যানেজমেন্ট সফটওয়্যার, যার নিজস্ব কুয়েরি ভাষা আছে (SQL)। পরীক্ষার খাতায় বইয়ের তালিকা অনুযায়ীই লিখবে, তবে ধারণাটা পরিষ্কার রাখো।

নিম্নস্তরের ভাষা ও উচ্চস্তরের ভাষার মধ্যে পার্থক্য কী?

এই পার্থক্যটা ২ নম্বরের প্রশ্ন হিসেবে বোর্ডে বহুবার এসেছে। টেবিল আকারে মনে রাখো:

বিষয়নিম্নস্তরের ভাষাউচ্চস্তরের ভাষা
সংজ্ঞাকম্পিউটারের যন্ত্রাংশ সরাসরি বোঝে এমন ভাষা (যান্ত্রিক ও অ্যাসেম্বলি ভাষা)মানুষের ভাষার কাছাকাছি, ইংরেজি-ভিত্তিক ভাষা
লেখার ধরন০ ও ১, বা সাংকেতিক কোড দিয়ে লেখা হয়সাধারণ ইংরেজি শব্দ দিয়ে লেখা হয়
বোঝার সহজতামানুষের জন্য কঠিন, মনে রাখা কষ্টকরমানুষের জন্য সহজ, দ্রুত শেখা যায়
গতিসরাসরি নির্বাহ হয় বলে দ্রুতঅনুবাদ লাগে বলে তুলনামূলক ধীর
উদাহরণমেশিন কোড, অ্যাসেম্বলি ভাষাC, C++, Java, Python

অনুবাদক প্রোগ্রাম কাকে বলে? এর প্রকারভেদ কী কী?

কম্পিউটার শুধু ০ ও ১ বোঝে, কিন্তু আমরা প্রোগ্রাম লিখি C বা Python-এর মতো ভাষায়। তাহলে এই দুইয়ের মধ্যে সেতুবন্ধন কে ঘটায়? উত্তর: অনুবাদক প্রোগ্রাম। যে প্রোগ্রাম উৎস প্রোগ্রামকে (Source Program) বস্তু প্রোগ্রামে (Object Program) — অর্থাৎ মেশিন ভাষায় — রূপান্তর করে, তাকেই অনুবাদক প্রোগ্রাম বলে। সহজ ভাষায়, এটা একটা দোভাষীর মতো কাজ করে: তোমার লেখা কোডকে কম্পিউটারের বোধগম্য ভাষায় অনুবাদ করে দেয়। অনুবাদক প্রোগ্রাম তিন প্রকার:

  1. অ্যাসেম্বলার (Assembler): অ্যাসেম্বলি ভাষায় লেখা নেমোনিক কোডকে মেশিন ভাষায় রূপান্তর করে। প্রতিটি নির্দেশকে এক-এক করে মেশিন নির্দেশে বদলে দেয়।
  2. কম্পাইলার (Compiler): উচ্চস্তরের ভাষায় লেখা পুরো প্রোগ্রাম একসাথে পড়ে, সবটা একবারে মেশিন ভাষায় রূপান্তর করে। C, C++ ভাষা কম্পাইলার ব্যবহার করে।
  3. ইন্টারপ্রেটার (Interpreter): উচ্চস্তরের ভাষার প্রোগ্রাম এক লাইন এক লাইন করে পড়ে, অনুবাদ করে, সাথে সাথে চালায়। Python, BASIC ভাষা ইন্টারপ্রেটার ব্যবহার করে।

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

কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য কী?

সম্ভবত এই অধ্যায়ের সবচেয়ে গুরুত্বপূর্ণ প্রশ্ন। বোর্ড পরীক্ষায় “কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য লেখো” — এই প্রশ্নটা ঘুরেফিরে আসেই। নিচের টেবিলটা মুখস্থ করে ফেলো:

কম্পাইলারইন্টারপ্রেটার
পুরো প্রোগ্রাম একসাথে অনুবাদ করেএক লাইন এক লাইন করে অনুবাদ করে
অনুবাদের পর অবজেক্ট প্রোগ্রাম তৈরি হয়, যা বারবার চালানো যায়কোনো অবজেক্ট প্রোগ্রাম তৈরি হয় না; প্রতিবার চালাতে পুনরায় অনুবাদ লাগে
প্রোগ্রাম চালানোর গতি বেশিপ্রোগ্রাম চালানোর গতি কম
সব ভুল একসাথে দেখায়; ভুল থাকলে প্রোগ্রাম চলে নাযে লাইনে ভুল, সেখানেই থেমে যায়; ফলে ডিবাগিং সহজ
মেমরিতে জায়গা বেশি লাগেমেমরিতে জায়গা কম লাগে
উদাহরণ: C, C++উদাহরণ: Python, BASIC

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

C-কে মধ্যম স্তরের ভাষা বলা হয় কেন?

এই প্রশ্নটাও সৃজনশীল অংশে প্রিয়। C ভাষায় একদিকে নিম্নস্তরের ভাষার (অ্যাসেম্বলি) মতো যন্ত্রাংশ-নিয়ন্ত্রণের সুবিধা আছে, অন্যদিকে উচ্চস্তরের ভাষার মতো সহজে লেখা ও বোঝার সুবিধা আছে। অর্থাৎ C দুই স্তরের মাঝামাঝি সমন্বয় ঘটায় — তাই একে মধ্যম স্তরের ভাষা বলা হয়। C-কে কম্পিউটার ভাষার জনকও বলা হয়ে থাকে, কারণ পরবর্তী বহু ভাষা (যেমন C++, Java) C থেকেই উদ্ভূত।

IDE কী? এর পূর্ণরূপ কী?

IDE-এর পূর্ণরূপ হলো Integrated Development Environment (ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট)। সহজ ভাষায়, IDE হলো প্রোগ্রাম লেখার একটা সমন্বিত কর্মপরিবেশ — যেখানে কোড লেখা, ভুল ধরা, অনুবাদ করা ও প্রোগ্রাম চালানো — সব এক জায়গায় করা যায়। আলাদা আলাদা সফটওয়্যার না খুঁজে একটা জানালাতেই সব পাওয়া যায় বলে প্রোগ্রামারদের কাজ অনেক সহজ হয়। MCQ-তে শুধু পূর্ণরূপটাই বেশি আসে, তাই “Integrated Development Environment” বানানটা ঠিকঠাক মুখস্থ রেখো।

কম্পিউটার প্রোগ্রাম তৈরির ধাপগুলো কী কী?

একটা প্রোগ্রাম হুট করে লেখা হয় না — এর পেছনে ধারাবাহিক কয়েকটা ধাপ আছে। বইয়ের ক্রম অনুযায়ী ধাপগুলো:

  1. সমস্যা নির্ধারণ: প্রথমে ঠিক করতে হয় প্রোগ্রাম দিয়ে কোন সমস্যার সমাধান করা হবে। সমস্যা পরিষ্কার না হলে প্রোগ্রামও পরিষ্কার হবে না।
  2. সমস্যা বিশ্লেষণ: সমস্যাটাকে ছোট ছোট অংশে ভাগ করে, কী ইনপুট লাগবে আর কী আউটপুট চাই — তা ঠিক করা হয়।
  3. অ্যালগরিদম তৈরি: সমস্যা সমাধানের ধাপে ধাপে লিখিত পদ্ধতিই অ্যালগরিদম। এটা প্রোগ্রামের নকশা বা ব্লুপ্রিন্ট।
  4. ফ্লোচার্ট অঙ্কন: অ্যালগরিদমকে চিত্রের মাধ্যমে প্রকাশ করা হয় — বিভিন্ন আকৃতির বাক্স ও তীরচিহ্ন দিয়ে প্রবাহ দেখানো হয়।
  5. প্রোগ্রামিং ভাষা নির্বাচন: সমস্যার ধরন অনুযায়ী উপযুক্ত ভাষা (যেমন C, Python) বেছে নেওয়া হয়।
  6. কোডিং: নির্বাচিত ভাষায় অ্যালগরিদম অনুযায়ী নির্দেশ লেখার কাজই কোডিং।
  7. পরীক্ষণ ও ডিবাগিং: প্রোগ্রাম চালিয়ে ভুল খোঁজা ও সংশোধন করা হয়। ভুল সংশোধনের এই প্রক্রিয়াকে ডিবাগিং বলে।
  8. ডকুমেন্টেশন: প্রোগ্রাম সম্পর্কে লিখিত বর্ণনা সংরক্ষণ করা হয়, যাতে পরে অন্য কেউ বুঝতে ও পরিবর্তন করতে পারে।

পরীক্ষায় “প্রোগ্রাম তৈরির ধাপ বর্ণনা করো” এলে এই ক্রমটা ঠিক রেখে প্রতিটা ধাপ দুই-এক লাইনে ব্যাখ্যা করলেই পূর্ণ নম্বর। আমার পর্যবেক্ষণ: ছাত্ররা প্রায়ই ডিবাগিং আর ডকুমেন্টেশনের ক্রম উল্টে ফেলে। মনে রাখো — আগে ভুল ঠিক করবে (ডিবাগিং), তারপর চূড়ান্ত বিবরণ লিখবে (ডকুমেন্টেশন)।

উদাহরণ: একটা C প্রোগ্রাম কীভাবে চলে?

থিওরি পড়ে অনেকেরই মনে প্রশ্ন জাগে — এই অনুবাদ আসলে কখন হয়? একটা ছোট উদাহরণ দিই:

#include <stdio.h>
int main() {
    int a = 5, b = 7;
    printf("%d", a + b);
    return 0;
}

তুমি যখন এই কোডটা লেখো, তখন এটা সোর্স প্রোগ্রাম। কম্পাইল বোতাম চাপলে কম্পাইলার পুরো কোড একবারে পড়ে, ভুল আছে কি না দেখে, তারপর ০ ও ১-এর অবজেক্ট প্রোগ্রাম বানিয়ে ফেলে। এরপর যতবার চালাবে, আর অনুবাদের দরকার হয় না — সরাসরি মেশিন কোড চলে। আর ইন্টারপ্রেটার হলে কী হতো? প্রতিবার চালানোর সময় সে int a = 5 লাইনটা পড়ত, মেশিন ভাষায় বদলে চালাত, তারপর পরের লাইনে যেত। তাই একই প্রোগ্রাম ইন্টারপ্রেটারে চালালে প্রতিবার একটু বেশি সময় লাগে — এই “প্রতিবার” শব্দটাই পরীক্ষায় লিখতে ভুলো না।

বোর্ড পরীক্ষায় এই অধ্যায় থেকে কীভাবে প্রশ্ন আসে?

এই অংশটা শুধু নোট নয় — এটা পরীক্ষার কৌশল। গত কয়েক বছরের বোর্ড প্রশ্ন ঘেঁটে যে প্যাটার্নটা চোখে পড়ে, সেটা তুলে ধরছি।

MCQ-তে সবচেয়ে বেশি আসা বিষয়

  • প্রোগ্রামিং ভাষার প্রজন্ম কয়টি? (উত্তর: ৫টি)
  • অ্যাসেম্বলি ভাষার প্রচলন কবে শুরু হয়? (উত্তর: ১৯৫০ সাল)
  • যান্ত্রিক ভাষায় কী ব্যবহার করা হয়? (উত্তর: ০ ও ১)
  • নেমোনিক কোড কোন ভাষায় ব্যবহৃত হয়? (উত্তর: অ্যাসেম্বলি ভাষা)
  • C কোন ধরনের ভাষা? (উত্তর: মধ্যম স্তরের ভাষা)
  • IDE-এর পূর্ণরূপ কী? (উত্তর: Integrated Development Environment)
  • কোন অনুবাদক এক লাইন এক লাইন করে অনুবাদ করে? (উত্তর: ইন্টারপ্রেটার)
  • অ্যাসেম্বলি ভাষাকে মেশিন ভাষায় রূপান্তর করে কোনটি? (উত্তর: অ্যাসেম্বলার)

সৃজনশীল প্রশ্নের ধরন

সৃজনশীল অংশে সাধারণত একটা উদ্দীপক দিয়ে প্রশ্ন করা হয় — যেমন, “রাহাত C ভাষায় একটি প্রোগ্রাম লিখল, কিন্তু সেটি চালাতে গিয়ে দেখল অনুবাদের পর অবজেক্ট প্রোগ্রাম তৈরি হয়েছে।” এরপর জ্ঞানমূলক প্রশ্নে চাওয়া হয় “অনুবাদক প্রোগ্রাম কাকে বলে?”, অনুধাবনে “C-কে মধ্যম স্তরের ভাষা বলা হয় কেন — ব্যাখ্যা করো”, আর উচ্চতর দক্ষতায় “রাহাতের ক্ষেত্রে কোন অনুবাদক ব্যবহৃত হয়েছে — বিশ্লেষণ করো”। দেখলে? একটা উদ্দীপকেই পুরো অধ্যায়ের তিনটা গুরুত্বপূর্ণ টপিক ঢুকে গেছে। তাই টপিকগুলো আলাদা আলাদা না পড়ে, এভাবে জুড়ে জুড়ে ভাবতে শেখো।

নমুনা সৃজনশীল প্রশ্ন ও উত্তর

উদ্দীপক: তথ্য প্রযুক্তি ক্লাসে শিক্ষক বললেন, “কম্পিউটার শুধু ০ ও ১ বোঝে।” রাহাত C ভাষায় একটি প্রোগ্রাম লিখে কম্পাইল করল — পুরো প্রোগ্রাম একবারে অনুবাদ হয়ে অবজেক্ট প্রোগ্রাম তৈরি হলো। তার বন্ধু সাকিব Python-এ প্রোগ্রাম লিখল, যেখানে এক লাইন এক লাইন করে অনুবাদ ও নির্বাহ হলো।

ক) অনুবাদক প্রোগ্রাম কাকে বলে? (১)
যে প্রোগ্রাম উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অর্থাৎ মেশিন ভাষায় রূপান্তর করে, তাকে অনুবাদক প্রোগ্রাম বলে।

খ) C-কে মধ্যম স্তরের ভাষা বলা হয় কেন? ব্যাখ্যা করো। (২)
C ভাষায় নিম্নস্তরের ভাষার মতো যন্ত্রাংশ নিয়ন্ত্রণের সুবিধা এবং উচ্চস্তরের ভাষার মতো সহজে লেখা-বোঝার সুবিধা — দুটোরই সমন্বয় আছে বলে C-কে মধ্যম স্তরের ভাষা বলা হয়।

গ) রাহাতের ক্ষেত্রে কোন ধরনের অনুবাদক ব্যবহৃত হয়েছে? ব্যাখ্যা করো। (৩)
রাহাতের ক্ষেত্রে কম্পাইলার ব্যবহৃত হয়েছে। কারণ উদ্দীপকে বলা হয়েছে পুরো প্রোগ্রাম একবারে অনুবাদ হয়ে অবজেক্ট প্রোগ্রাম তৈরি হয়েছে — এটাই কম্পাইলারের বৈশিষ্ট্য। C ভাষা কম্পাইলার-ভিত্তিক ভাষা।

ঘ) রাহাত ও সাকিবের ব্যবহৃত অনুবাদকের মধ্যে কোনটি ডিবাগিংয়ের জন্য সুবিধাজনক? বিশ্লেষণ করো। (৪)
সাকিবের ইন্টারপ্রেটার ডিবাগিংয়ের জন্য সুবিধাজনক। ইন্টারপ্রেটার এক লাইন এক লাইন করে অনুবাদ করে, ফলে যে লাইনে ভুল থাকে সেখানেই থেমে যায় — ভুলের অবস্থান সাথে সাথে ধরা পড়ে। অন্যদিকে কম্পাইলার সব ভুল একসাথে দেখায় বলে কোন লাইনে কী ভুল তা খুঁজে বের করা কঠিন। তাই দ্রুত ভুল সংশোধনের জন্য ইন্টারপ্রেটার সুবিধাজনক, যদিও নির্বাহের গতি কম্পাইলারেই বেশি।

যে ভুলগুলো নম্বর কাটে

  • কম্পাইলার-ইন্টারপ্রেটার গুলিয়ে ফেলা: “কোনটা দ্রুত” শুধু লিখলেই হবে না, কেন দ্রুত সেটা লিখতে হবে।
  • অ্যাসেম্বলার বনাম অ্যাসেম্বলি: অ্যাসেম্বলি হলো ভাষা, অ্যাসেম্বলার হলো অনুবাদক প্রোগ্রাম — দুটো এক নয়।
  • প্রজন্মের সাল ভুল: ১৯৫০ সাল অ্যাসেম্বলি ভাষার, কম্পিউটারের আবিষ্কারের নয়।
  • Oracle নিয়ে দ্বিধা: বইয়ের তালিকায় থাকলেও বাস্তবে এটা ডেটাবেস সফটওয়্যার — MCQ-তে বই অনুযায়ী উত্তর দাও, কিন্তু ধারণা পরিষ্কার রেখো।

দ্রুত রিভিশন: একনজরে পুরো অধ্যায়

পরীক্ষার আগের রাতে এই টেবিলটা একবার চোখ বুলিয়ে নাও:

টপিকমূল কথা
প্রোগ্রামিং ভাষাকম্পিউটারকে নির্দেশ দেওয়ার বিশেষ ভাষা
প্রজন্ম৫টি — যান্ত্রিক, অ্যাসেম্বলি, উচ্চস্তর, অতি উচ্চস্তর, স্বাভাবিক ভাষা
অ্যাসেম্বলি ভাষার প্রচলন১৯৫০ সাল; নেমোনিক কোড (ADD, SUB, MUL)
অনুবাদক প্রোগ্রাম৩ প্রকার — অ্যাসেম্বলার, কম্পাইলার, ইন্টারপ্রেটার
কম্পাইলার বনাম ইন্টারপ্রেটারপুরো প্রোগ্রাম একসাথে বনাম লাইন বাই লাইন; দ্রুত বনাম ধীর
C ভাষামধ্যম স্তরের ভাষা; কম্পিউটার ভাষার জনক
IDEIntegrated Development Environment
প্রোগ্রাম তৈরির ধাপসমস্যা নির্ধারণ → বিশ্লেষণ → অ্যালগরিদম → ফ্লোচার্ট → ভাষা নির্বাচন → কোডিং → ডিবাগিং → ডকুমেন্টেশন

প্রোগ্রামিং ভাষা অধ্যায় নিয়ে সাধারণ প্রশ্নোত্তর

কম্পিউটার প্রোগ্রাম কাকে বলে?

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

মেশিন ভাষাকে নিম্নস্তরের ভাষা বলা হয় কেন?

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

উচ্চস্তরের ভাষার সুবিধা কী?

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

সোর্স প্রোগ্রাম ও অবজেক্ট প্রোগ্রাম কী?

প্রোগ্রামার যে ভাষায় প্রোগ্রাম লেখে (যেমন C), সেটা সোর্স প্রোগ্রাম। অনুবাদক প্রোগ্রাম দিয়ে রূপান্তরের পর যে মেশিন ভাষার প্রোগ্রাম পাওয়া যায়, সেটা অবজেক্ট প্রোগ্রাম।

ডিবাগিং কাকে বলে?

প্রোগ্রামের ভুল খুঁজে বের করে সংশোধন করার প্রক্রিয়াকে ডিবাগিং বলে। প্রোগ্রামের ভুলকে বলা হয় বাগ। ইন্টারপ্রেটারে ডিবাগিং সহজ, কারণ ভুলটা ঠিক কোন লাইনে তা সাথে সাথে ধরা পড়ে।

অ্যালগরিদম ও ফ্লোচার্টের মধ্যে সম্পর্ক কী?

অ্যালগরিদম হলো সমস্যা সমাধানের ধাপে ধাপে লিখিত বর্ণনা, আর ফ্লোচার্ট হলো সেই অ্যালগরিদমের চিত্ররূপ। অর্থাৎ আগে অ্যালগরিদম তৈরি করা হয়, তারপর তাকে চিত্রে আঁকা হয়।

এই অধ্যায় থেকে পরীক্ষায় কত নম্বর আসতে পারে?

সাধারণত MCQ অংশে ৩–৪ নম্বর এবং সৃজনশীল অংশে ১০ নম্বরের একটা প্রশ্ন আসার সম্ভাবনা থাকে। অর্থাৎ ভালোভাবে পড়লে এই এক অধ্যায় থেকেই ১৩–১৪ নম্বর নিশ্চিত করা সম্ভব।

শেষ কথা

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

ওয়েব ডিজাইন ও HTML নিয়ে আগের অধ্যায়ের নোটটি পড়োনি? এইচএসসি আইসিটি ৪র্থ অধ্যায়: ওয়েব ডিজাইন ও HTML-এর সম্পূর্ণ নোট এখান থেকে দেখে নাও — দুই অধ্যায় মিলিয়ে পড়লে আইসিটির প্রস্তুতি অনেক মজবুত হবে।

শেয়ার করো: Facebook Telegram WhatsApp