ICTebook
← কম্পিউটার অফিস অ্যাপ্লিকেশন-২

কম্পিউটার অফিস অ্যাপ্লিকেশন-২ · অধ্যায়-৪ : পাইথন প্রোগ্রামিং

অধ্যায় ৪.১: পাইথন ভেরিয়েবল ও অপারেটর

তারকা অনুযায়ী প্রশ্ন বাছাই

সংক্ষিপ্ত প্রশ্ন (৩৭টি)

  1. ৪.১-সং-১★★★বই: পৃষ্ঠা ৭৯

    ১.অ্যালগরিদম ও ফ্লোচার্টের পার্থক্য কী? [বিএমটি-২০২৫, ২৬]

    উত্তর

    কী-ওয়ার্ড: অ্যালগরিদম ধাপের লিখিত রূপ, ফ্লোচার্ট চিত্ররূপ, প্রতীক, বোঝার সহজতা

    অ্যালগরিদম ও ফ্লোচার্টের পার্থক্য:

    বিষয়অ্যালগরিদমফ্লোচার্ট
    সংজ্ঞাকোনো সমস্যা সমাধানের ধাপগুলো ভাষায় ক্রমানুসারে লেখাঅ্যালগরিদমের ধাপগুলো নির্দিষ্ট প্রতীক ও তীরচিহ্ন দিয়ে চিত্রের মাধ্যমে প্রকাশ
    প্রকাশের মাধ্যমলেখা (সাধারণ ভাষা)চিত্র (প্রতীক)
    বোঝার সহজতাবড় হলে বুঝতে সময় লাগেএক নজরে বোঝা যায়
    তৈরির ক্রমপ্রথমে তৈরি করা হয়সাধারণত অ্যালগরিদমের পরে তৈরি করা হয়
    ভুল নির্ণয়যুক্তির ভুল খুঁজে পাওয়া তুলনামূলক কঠিনভুল সহজে চোখে পড়ে
    পরিবর্তনসহজে পরিবর্তন করা যায়পরিবর্তনে পুরো চিত্র আবার আঁকতে হতে পারে
    নিয়মনির্দিষ্ট প্রতীকের প্রয়োজন নেইনির্দিষ্ট প্রতীক (ANSI) মানতে হয়
  2. ৪.১-সং-২★★★বই: পৃষ্ঠা ৭৯

    ২.পাইথন ডাটা টাইপ কী? [বিএমটি-২০২৩]

    • অথবা, পাইথন ডাটা টাইপের নামগুলো লেখ। [বিএমটি-২৬]

    উত্তর

    কী-ওয়ার্ড: ডাটার ধরন, int, float, complex, str, bool, list, tuple, dict, set, None, type()

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

    পাইথনের ডাটা টাইপের নাম: int (পূর্ণসংখ্যা), float (দশমিক সংখ্যা), complex (জটিল সংখ্যা), str (স্ট্রিং), bool (True/False), list, tuple, range, dict (ডিকশনারি), set, frozenset, NoneType।

    a = 25            # int
    b = 3.14          # float
    c = 2 + 3j        # complex
    name = "Rahim"    # str
    passed = True     # bool
    marks = [85, 90]  # list
    point = (10, 20)  # tuple
    student = {"roll": 101, "name": "Rahim"}  # dict
    ids = {1, 2, 3}   # set
    x = None          # NoneType
    print(type(a), type(b), type(name), type(passed))
    

    নমুনা আউটপুট:

    <class 'int'> <class 'float'> <class 'str'> <class 'bool'>
    
  3. ৪.১-সং-৩★★★বই: পৃষ্ঠা ৭৯

    ৩.প্রোগ্রাম ও প্রোগ্রামিং কী? [বিএমটি-২০২৩, ২৬]

    উত্তর

    কী-ওয়ার্ড: প্রোগ্রাম: নির্দেশনার সমষ্টি; প্রোগ্রামিং: প্রোগ্রাম লেখার প্রক্রিয়া

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

    প্রোগ্রামিং: কোনো প্রোগ্রামিং ভাষা ব্যবহার করে প্রোগ্রাম লেখা, পরীক্ষা করা (Testing), ভুল সংশোধন (Debugging) ও রক্ষণাবেক্ষণের সম্পূর্ণ প্রক্রিয়াকে প্রোগ্রামিং বলে। যিনি প্রোগ্রাম লেখেন তাকে প্রোগ্রামার বলে।

  4. ৪.১-সং-৪★★বই: পৃষ্ঠা ৭৯

    ৪.পাইথন প্রোগ্রামের বৈশিষ্ট্য লেখ। [বিএমটি-২০২৪, ২৬]

    • অথবা, পাইথন কেন জনপ্রিয়? [বিএমটি-২০২৫]

    উত্তর

    কী-ওয়ার্ড: সহজ সিনট্যাক্স, ইন্টারপ্রেটেড, ওপেন সোর্স, প্ল্যাটফর্ম নিরপেক্ষ, বিশাল লাইব্রেরি, জেনারেল পারপাস

    পাইথন প্রোগ্রামের প্রধান বৈশিষ্ট্য, যেগুলোর কারণে এটি জনপ্রিয়:

    1. সহজ ও পাঠযোগ্য: ইংরেজির কাছাকাছি সরল সিনট্যাক্স, তাই নতুনদের শেখা সহজ।
    2. ইন্টারপ্রেটেড: কম্পাইল না করেই লাইন বাই লাইন চালানো যায়, ভুল দ্রুত ধরা পড়ে।
    3. ফ্রি ও ওপেন সোর্স: বিনামূল্যে ব্যবহার, পরিবর্তন ও বিতরণ করা যায়।
    4. প্ল্যাটফর্ম নিরপেক্ষ: Windows, Linux, macOS সব জায়গায় একই কোড চলে।
    5. ডাইনামিক টাইপিং: ভেরিয়েবলের ডাটা টাইপ আগে ঘোষণা করতে হয় না।
    6. অবজেক্ট-ওরিয়েন্টেড: ক্লাস ও অবজেক্ট সমর্থন করে, আবার প্রসিডিউরাল পদ্ধতিতেও লেখা যায়।
    7. বিশাল লাইব্রেরি: NumPy, Pandas, Django, TensorFlow-এর মতো হাজারো লাইব্রেরি আছে।
    8. জেনারেল পারপাস: ওয়েব, ডাটা সায়েন্স, AI, অটোমেশন, গেমসহ প্রায় সব ক্ষেত্রে ব্যবহারযোগ্য।
  5. ৪.১-সং-৫★★★বই: পৃষ্ঠা ৭৯

    ৫.ফ্লোচার্ট বলতে কী বুঝায়? ফ্লোচার্টকে কয়ভাগে ভাগ করা যায়। [বিএমটি-২৬]

    উত্তর

    কী-ওয়ার্ড: প্রতীকের মাধ্যমে চিত্ররূপ, সিস্টেম ফ্লোচার্ট, প্রোগ্রাম ফ্লোচার্ট

    ফ্লোচার্ট: কোনো সমস্যা সমাধানের ধাপগুলো (অ্যালগরিদম) নির্দিষ্ট প্রতীক ও তীরচিহ্নের মাধ্যমে চিত্রের সাহায্যে প্রকাশ করাকে ফ্লোচার্ট বলে।

    ফ্লোচার্ট প্রধানত দুই ভাগে ভাগ করা যায়:

    1. সিস্টেম ফ্লোচার্ট: পুরো সিস্টেমে ডাটা কোথা থেকে আসে, কীভাবে প্রক্রিয়াজাত হয় এবং কোথায় যায় তার সামগ্রিক চিত্র।
    2. প্রোগ্রাম ফ্লোচার্ট: একটি নির্দিষ্ট প্রোগ্রামের ভেতরের ধাপগুলোর বিস্তারিত চিত্র, যা দেখে প্রোগ্রাম লেখা হয়।

    দুটি সংখ্যার যোগফলের ফ্লোচার্ট

    একটি সরল প্রোগ্রাম ফ্লোচার্ট

  6. ৪.১-সং-৬★★★বই: পৃষ্ঠা ৮০

    ৬.অ্যালগরিদম কী? এর প্রয়োজনীয়তা লেখ। [বিএমটি-২০২৪]

    উত্তর

    কী-ওয়ার্ড: ধাপে ধাপে সমাধান, পরিকল্পনা, ভুল কমায়, প্রোগ্রাম লেখা সহজ, ভাষা-নিরপেক্ষ

    অ্যালগরিদম: কোনো নির্দিষ্ট সমস্যা সমাধানের জন্য ধাপে ধাপে সাজানো সসীম সংখ্যক যৌক্তিক নির্দেশনার সমষ্টিকে অ্যালগরিদম বলে। শব্দটি এসেছে মুসলিম গণিতবিদ আল-খোয়ারিজমির নাম থেকে।

    প্রয়োজনীয়তা:

    1. প্রোগ্রাম লেখার আগে সমাধানের সুস্পষ্ট পরিকল্পনা পাওয়া যায়।
    2. প্রোগ্রাম লেখা সহজ ও দ্রুত হয়।
    3. যুক্তির ভুল আগেই ধরা পড়ে, ফলে ডিবাগিং সহজ হয়।
    4. এটি নির্দিষ্ট কোনো প্রোগ্রামিং ভাষার উপর নির্ভরশীল নয়; যেকোনো ভাষায় রূপান্তর করা যায়।
    5. বড় সমস্যাকে ছোট ছোট ধাপে ভাগ করে বোঝা সহজ হয়।
    6. অন্যদের সাথে সমাধানের ধারণা শেয়ার করা যায়।
  7. ৪.১-সং-৭★★★বই: পৃষ্ঠা ৮০

    ৭.ফ্লোচার্টের বৈশিষ্ট্য বা সুবিধা কী কী?

    • অথবা, ফ্লোচার্টের বৈশিষ্ট্যগুলো লেখ। [বিএমটি-২০২৩]

    উত্তর

    কী-ওয়ার্ড: সহজবোধ্য, ভুল নির্ণয় সহজ, প্রোগ্রাম লেখায় সহায়ক, ডকুমেন্টেশন, যোগাযোগ

    ফ্লোচার্টের বৈশিষ্ট্য বা সুবিধাসমূহ:

    1. প্রোগ্রামের যুক্তি ও প্রবাহ চিত্রের মাধ্যমে সহজে বোঝা যায়।
    2. প্রোগ্রামের ভুল (যুক্তিগত ত্রুটি) সহজে খুঁজে বের করা যায়।
    3. ফ্লোচার্ট দেখে যেকোনো ভাষায় সহজে প্রোগ্রাম লেখা যায়।
    4. প্রোগ্রামের ডকুমেন্টেশন হিসেবে কাজ করে।
    5. জটিল প্রোগ্রাম পরিবর্তন ও রক্ষণাবেক্ষণ সহজ হয়।
    6. অন্য প্রোগ্রামার বা শিক্ষার্থীকে সমাধান ব্যাখ্যা করা সহজ হয়।
    7. নির্দিষ্ট আন্তর্জাতিক প্রতীক ব্যবহৃত হয় বলে সবাই বুঝতে পারে।
  8. ৪.১-সং-৮★★বই: পৃষ্ঠা ৮০

    ৮.অ্যাসেম্বলি ল্যাংগুয়েজের বৈশিষ্ট্যসমূহ লেখ। [বিএমটি-২০২৩]

    উত্তর

    কী-ওয়ার্ড: নেমোনিক কোড, অ্যাসেম্বলার, মেশিন নির্ভর, লো-লেভেল, দ্রুত, হার্ডওয়্যার নিয়ন্ত্রণ

    অ্যাসেম্বলি ল্যাংগুয়েজের বৈশিষ্ট্যসমূহ:

    1. ০ ও ১-এর বদলে সংক্ষিপ্ত সংকেত বা নেমোনিক (MOV, ADD, SUB, JMP) ব্যবহার করে লেখা হয়।
    2. এটিকে মেশিন ভাষায় রূপান্তরের জন্য অ্যাসেম্বলার নামক অনুবাদক প্রোগ্রাম লাগে।
    3. এটি মেশিন নির্ভর; এক প্রসেসরের জন্য লেখা প্রোগ্রাম অন্য প্রসেসরে চলে না।
    4. এটি লো-লেভেল ভাষা, তবে মেশিন ভাষার চেয়ে লেখা ও বোঝা সহজ।
    5. হাই-লেভেল ভাষার চেয়ে প্রোগ্রাম দ্রুত চলে এবং কম মেমরি নেয়।
    6. হার্ডওয়্যার (রেজিস্টার, মেমরি) সরাসরি নিয়ন্ত্রণ করা যায়।
    7. প্রোগ্রাম লিখতে কম্পিউটারের গঠন সম্পর্কে জ্ঞান প্রয়োজন।

    উদাহরণ: MOV AX, 5 ADD AX, 3

  9. ৪.১-সং-৯★★★বই: পৃষ্ঠা ৮০

    ৯.হাই-লেভেল ও লো-লেভেল ল্যাংগুয়েজের মধ্যে পার্থক্য লেখ। [বিএমটি-২০২৩]

    উত্তর

    কী-ওয়ার্ড: মানুষের ভাষার কাছাকাছি বনাম মেশিনের কাছাকাছি, অনুবাদক, পোর্টেবিলিটি, গতি

    হাই-লেভেল ও লো-লেভেল ল্যাংগুয়েজের পার্থক্য:

    বিষয়হাই-লেভেল ল্যাংগুয়েজলো-লেভেল ল্যাংগুয়েজ
    সংজ্ঞামানুষের ভাষার (ইংরেজি) কাছাকাছি প্রোগ্রামিং ভাষাকম্পিউটারের হার্ডওয়্যার বা মেশিনের কাছাকাছি ভাষা
    উদাহরণPython, C, Java, PHPমেশিন ভাষা, অ্যাসেম্বলি ভাষা
    শেখা ও লেখাসহজকঠিন
    অনুবাদককম্পাইলার বা ইন্টারপ্রেটার লাগেমেশিন ভাষায় লাগে না; অ্যাসেম্বলিতে অ্যাসেম্বলার লাগে
    মেশিন নির্ভরতামেশিন নিরপেক্ষ (Portable)মেশিন নির্ভর
    গতিঅনুবাদের কারণে তুলনামূলক ধীরদ্রুত চলে
    ভুল সংশোধনসহজকঠিন
    হার্ডওয়্যার নিয়ন্ত্রণসীমিতসরাসরি নিয়ন্ত্রণ সম্ভব
  10. ৪.১-সং-১০★★বই: পৃষ্ঠা ৮০

    ১০.কয়েকটি প্রোগ্রামিং ল্যাংগুয়েজের নাম লেখ।

    উত্তর

    কী-ওয়ার্ড: Python, C, C++, Java, JavaScript, PHP, C#, Kotlin

    কয়েকটি প্রোগ্রামিং ল্যাংগুয়েজ:

    1. Python
    2. C
    3. C++
    4. Java
    5. JavaScript
    6. PHP
    7. C#
    8. Kotlin
    9. Swift
    10. FORTRAN
    11. COBOL
    12. BASIC
  11. ৪.১-সং-১১★★বই: পৃষ্ঠা ৮০

    ১১.পাইথনকে জেনারেল পারপাস ল্যাংগুয়েজ বলা হয় কেন?

    উত্তর

    কী-ওয়ার্ড: বহুমুখী ব্যবহার, ওয়েব, ডাটা সায়েন্স, AI, অটোমেশন, গেম, ডেস্কটপ অ্যাপ

    যে প্রোগ্রামিং ভাষা কোনো নির্দিষ্ট একটি কাজের জন্য সীমাবদ্ধ না থেকে নানা ধরনের সমস্যা সমাধানে ব্যবহার করা যায়, তাকে জেনারেল পারপাস ল্যাংগুয়েজ বলে। পাইথনকে জেনারেল পারপাস ল্যাংগুয়েজ বলা হয় কারণ এটি দিয়ে—

    • ওয়েবসাইট ও ওয়েব অ্যাপ্লিকেশন (Django, Flask)
    • ডাটা বিশ্লেষণ ও ডাটা সায়েন্স (Pandas, NumPy)
    • কৃত্রিম বুদ্ধিমত্তা ও মেশিন লার্নিং (TensorFlow, scikit-learn)
    • অটোমেশন ও স্ক্রিপ্টিং
    • ডেস্কটপ অ্যাপ্লিকেশন (Tkinter) ও গেম (Pygame)
    • বৈজ্ঞানিক হিসাব, রোবটিক্স ও IoT

    সব ধরনের কাজ তৈরি করা যায়। এর বিশাল লাইব্রেরি ও সহজ সিনট্যাক্স একে বহুমুখী করেছে।

  12. ৪.১-সং-১২★★★বই: পৃষ্ঠা ৮১

    ১২.অ্যালগরিদম তৈরির শর্ত বা নিয়ম লেখ।

    উত্তর

    কী-ওয়ার্ড: ইনপুট, আউটপুট, সুনির্দিষ্টতা, সসীমতা, কার্যকারিতা, শুরু ও শেষ

    অ্যালগরিদম তৈরির শর্ত বা নিয়মসমূহ:

    1. ইনপুট: শূন্য বা এক বা একাধিক ইনপুট থাকবে।
    2. আউটপুট: অন্তত একটি আউটপুট বা ফলাফল থাকবে।
    3. সুনির্দিষ্টতা (Definiteness): প্রতিটি ধাপ স্পষ্ট ও দ্ব্যর্থহীন হবে।
    4. সসীমতা (Finiteness): নির্দিষ্ট সংখ্যক ধাপের পর অবশ্যই শেষ হবে।
    5. কার্যকারিতা (Effectiveness): প্রতিটি ধাপ বাস্তবে সম্পাদনযোগ্য হবে।
    6. অ্যালগরিদমের একটি শুরু ও একটি শেষ থাকবে এবং ধাপগুলো ক্রমানুসারে সাজানো থাকবে।
    7. এটি কোনো নির্দিষ্ট প্রোগ্রামিং ভাষার উপর নির্ভরশীল হবে না।
  13. ৪.১-সং-১৩★★★বই: পৃষ্ঠা ৮১

    ১৩.ফ্লোচার্ট তৈরি করার নিয়মাবলি বর্ণনা কর।

    উত্তর

    কী-ওয়ার্ড: প্রমিত প্রতীক, উপর থেকে নিচে/বাম থেকে ডানে, একটি শুরু ও শেষ, তীর না কাটা, সংক্ষিপ্ত লেখা

    ফ্লোচার্ট তৈরি করার নিয়মাবলি:

    1. আন্তর্জাতিকভাবে প্রমিত (ANSI) প্রতীক ব্যবহার করতে হবে।
    2. ফ্লোচার্টের প্রবাহ উপর থেকে নিচে এবং বাম থেকে ডানে হবে।
    3. একটি মাত্র শুরু (Start) ও একটি শেষ (End) প্রতীক থাকবে।
    4. প্রতীকের ভেতরের লেখা সংক্ষিপ্ত ও স্পষ্ট হবে।
    5. প্রক্রিয়া প্রতীক থেকে একটি মাত্র প্রবাহ রেখা বের হবে; সিদ্ধান্ত প্রতীক থেকে হ্যাঁ/না দুটি পথ বের হবে।
    6. প্রবাহ রেখাগুলো যথাসম্ভব পরস্পরকে ছেদ করবে না।
    7. ফ্লোচার্ট বড় হলে কানেক্টর ব্যবহার করে অংশগুলো যুক্ত করতে হবে।
    8. ফ্লোচার্ট সহজ, পরিচ্ছন্ন ও এক পৃষ্ঠায় রাখার চেষ্টা করতে হবে।

    ফ্লোচার্টের প্রতীকসমূহ

    ফ্লোচার্টের প্রমিত প্রতীক

  14. ৪.১-সং-১৪★★বই: পৃষ্ঠা ৮১

    ১৪.আইডেন্টিফায়ার লেখার নিয়ম বর্ণনা কর।

    উত্তর

    কী-ওয়ার্ড: বর্ণ, অঙ্ক, আন্ডারস্কোর, অঙ্ক দিয়ে শুরু নয়, কী-ওয়ার্ড নয়, স্পেস নয়, কেস-সেনসিটিভ

    প্রোগ্রামে ভেরিয়েবল, ফাংশন, ক্লাস ইত্যাদির নামকে আইডেন্টিফায়ার বলে। পাইথনে আইডেন্টিফায়ার লেখার নিয়ম:

    1. ইংরেজি বর্ণ (a–z, A–Z), অঙ্ক (0–9) ও আন্ডারস্কোর (_) ব্যবহার করা যায়।
    2. প্রথম অক্ষর অবশ্যই বর্ণ বা আন্ডারস্কোর হবে; অঙ্ক দিয়ে শুরু করা যাবে না। যেমন 1name ভুল, name1 সঠিক।
    3. কোনো ফাঁকা স্থান (Space) রাখা যাবে না। student name ভুল, student_name সঠিক।
    4. @, $, %, # ইত্যাদি বিশেষ চিহ্ন ব্যবহার করা যাবে না।
    5. পাইথনের কী-ওয়ার্ড (if, for, class ইত্যাদি) নাম হিসেবে ব্যবহার করা যাবে না।
    6. পাইথন কেস-সেনসিটিভ: Total ও total দুটি আলাদা নাম।
    7. নাম অর্থবহ হওয়া উচিত, যেমন total_marks; একাধিক শব্দ আন্ডারস্কোর দিয়ে যুক্ত করা হয় (snake_case)।
  15. ৪.১-সং-১৫★★বই: পৃষ্ঠা ৮১

    ১৫.কম্পিউটার প্রোগ্রাম ব্যবহারের উল্লেখযোগ্য ক্ষেত্রসমূহ উল্লেখ কর।

    উত্তর

    কী-ওয়ার্ড: শিক্ষা, ব্যাংকিং, চিকিৎসা, ব্যবসা, যোগাযোগ, বিনোদন, গবেষণা, শিল্প

    কম্পিউটার প্রোগ্রাম ব্যবহারের উল্লেখযোগ্য ক্ষেত্রসমূহ:

    ক্ষেত্রউদাহরণ
    শিক্ষাঅনলাইন ক্লাস, ফলাফল প্রকাশ, শিক্ষা ব্যবস্থাপনা সফটওয়্যার
    ব্যাংকিং ও অর্থনীতিঅনলাইন ব্যাংকিং, ATM, মোবাইল ব্যাংকিং
    চিকিৎসারোগ নির্ণয় যন্ত্র, হাসপাতাল ব্যবস্থাপনা
    ব্যবসা-বাণিজ্যহিসাবরক্ষণ, ই-কমার্স, মজুদ নিয়ন্ত্রণ
    যোগাযোগমোবাইল অ্যাপ, ই-মেইল, সামাজিক মাধ্যম
    বিনোদনগেম, ভিডিও এডিটিং, অ্যানিমেশন
    শিল্প-কারখানারোবট ও স্বয়ংক্রিয় যন্ত্র নিয়ন্ত্রণ
    গবেষণা ও বিজ্ঞানআবহাওয়ার পূর্বাভাস, মহাকাশ গবেষণা, AI
  16. ৪.১-সং-১৬★★★বই: পৃষ্ঠা ৮১

    ১৬.৩টি সংখ্যার মধ্যে বড় সংখ্যাটি নির্ণয় করার ফ্লোচার্ট অঙ্কন কর।

    উত্তর

    কী-ওয়ার্ড: শুরু, ইনপুট A B C, A>B?, A>C?, B>C?, প্রিন্ট বড় সংখ্যা, শেষ

    ৩টি সংখ্যা A, B ও C-এর মধ্যে বড় সংখ্যাটি নির্ণয়ের ফ্লোচার্ট নিচে দেওয়া হলো। প্রথমে A ও B তুলনা করা হয়; যেটি বড় তাকে C-এর সাথে তুলনা করে সবচেয়ে বড় সংখ্যাটি প্রিন্ট করা হয়।

    ৩টি সংখ্যার মধ্যে বড় সংখ্যা নির্ণয়ের ফ্লোচার্ট

  17. ৪.১-সং-১৭★★বই: পৃষ্ঠা ৮২

    ১৭.একটি আয়তক্ষেত্রের ক্ষেত্রফল নির্ণয় করার জন্য অ্যালগরিদম লেখ।

    • অথবা, আয়তক্ষেত্রের ক্ষেত্রফল নির্ণয়ের অ্যালগরিদম (Algorithm) লেখ।

    উত্তর

    কী-ওয়ার্ড: শুরু, দৈর্ঘ্য ও প্রস্থ ইনপুট, ক্ষেত্রফল = দৈর্ঘ্য × প্রস্থ, প্রিন্ট, শেষ

    আয়তক্ষেত্রের ক্ষেত্রফল নির্ণয়ের অ্যালগরিদম:

    1. শুরু।
    2. দৈর্ঘ্য (L) ও প্রস্থ (W) ইনপুট নাও।
    3. ক্ষেত্রফল নির্ণয় করো: area = L × W।
    4. area প্রিন্ট করো।
    5. শেষ।

    পাইথন প্রোগ্রাম:

    length = float(input("দৈর্ঘ্য: "))
    width = float(input("প্রস্থ: "))
    area = length * width
    print("ক্ষেত্রফল =", area)
    

    নমুনা আউটপুট:

    দৈর্ঘ্য: 8
    প্রস্থ: 5
    ক্ষেত্রফল = 40.0
    

    আয়তক্ষেত্রের ক্ষেত্রফলের ফ্লোচার্ট

    আয়তক্ষেত্রের ক্ষেত্রফলের ফ্লোচার্ট

  18. ৪.১-সং-১৮★বই: পৃষ্ঠা ৮২

    ১৮.ইনডেন্টেশন বলতে কী বুঝায়?

    উত্তর

    কী-ওয়ার্ড: লাইনের শুরুতে ফাঁকা স্থান, কোড ব্লক নির্ধারণ, ৪টি স্পেস, IndentationError

    ইনডেন্টেশন: কোডের লাইনের শুরুতে নির্দিষ্ট পরিমাণ ফাঁকা স্থান (সাধারণত ৪টি স্পেস) রেখে লেখাকে ইনডেন্টেশন বলে। অন্যান্য ভাষায় { } দিয়ে কোড ব্লক বোঝানো হলেও পাইথনে ইনডেন্টেশন দিয়েই বোঝানো হয় কোন লাইনগুলো if, for, def ইত্যাদির অধীনে।

    if marks >= 33:
        print("পাস")      # ইনডেন্টেড — if-এর অংশ
    print("শেষ")          # ইনডেন্টেশন নেই — if-এর বাইরে
    

    ভুল ইনডেন্টেশন দিলে পাইথন IndentationError দেখায়।

  19. ৪.১-সং-১৯★বই: পৃষ্ঠা ৮২

    ১৯.ওপেন সোর্স সফটওয়্যার বলতে কী বুঝায়?

    উত্তর

    কী-ওয়ার্ড: সোর্স কোড উন্মুক্ত, বিনামূল্যে, পরিবর্তন ও বিতরণযোগ্য, Linux, Python, LibreOffice

    ওপেন সোর্স সফটওয়্যার: যে সফটওয়্যারের সোর্স কোড সবার জন্য উন্মুক্ত এবং যে কেউ বিনামূল্যে ব্যবহার, অধ্যয়ন, পরিবর্তন ও পুনর্বিতরণ করতে পারে, তাকে ওপেন সোর্স সফটওয়্যার বলে।

    উদাহরণ: Linux, Python, LibreOffice, Mozilla Firefox, VLC Media Player, Android, MySQL।

  20. ৪.১-সং-২০★★★বই: পৃষ্ঠা ৮২

    ২০.পাইথনের উল্লেখযোগ্য ব্যবহারিক ক্ষেত্রসমূহ উল্লেখ কর।

    উত্তর

    কী-ওয়ার্ড: ওয়েব ডেভেলপমেন্ট, ডাটা সায়েন্স, AI ও মেশিন লার্নিং, অটোমেশন, গেম, IoT, শিক্ষা

    পাইথনের উল্লেখযোগ্য ব্যবহারিক ক্ষেত্রসমূহ:

    ক্ষেত্রলাইব্রেরি/উদাহরণ
    ওয়েব ডেভেলপমেন্টDjango, Flask — Instagram-এর ব্যাকএন্ড
    ডাটা বিশ্লেষণ ও ডাটা সায়েন্সPandas, NumPy, Matplotlib
    কৃত্রিম বুদ্ধিমত্তা ও মেশিন লার্নিংTensorFlow, PyTorch, scikit-learn
    অটোমেশন ও স্ক্রিপ্টিংফাইল সাজানো, রিপোর্ট তৈরি, ওয়েব স্ক্র্যাপিং
    গেম ডেভেলপমেন্টPygame
    ডেস্কটপ অ্যাপ্লিকেশনTkinter, PyQt
    IoT ও রোবটিক্সRaspberry Pi, MicroPython
    সাইবার নিরাপত্তানেটওয়ার্ক স্ক্যানিং টুল
    শিক্ষা ও গবেষণাপ্রোগ্রামিং শেখা, বৈজ্ঞানিক হিসাব (SciPy)
  21. ৪.১-সং-২১★★★বই: পৃষ্ঠা ৮২

    ২১.পাইথন প্রোগ্রাম স্ট্রাকচারের উল্লেখযোগ্য অংশসমূহ কী কী?

    উত্তর

    কী-ওয়ার্ড: ডকুমেন্টেশন (কমেন্ট), ইমপোর্ট, গ্লোবাল ভেরিয়েবল, ফাংশন সংজ্ঞা, মূল প্রোগ্রাম

    একটি পাইথন প্রোগ্রামের উল্লেখযোগ্য অংশসমূহ:

    1. ডকুমেন্টেশন অংশ: কমেন্ট (#) বা ডকস্ট্রিং দিয়ে প্রোগ্রামের নাম, উদ্দেশ্য ও লেখকের তথ্য।
    2. ইমপোর্ট অংশ: প্রয়োজনীয় মডিউল বা লাইব্রেরি যুক্ত করা (import math)।
    3. গ্লোবাল ভেরিয়েবল/ধ্রুবক: পুরো প্রোগ্রামে ব্যবহৃত মান।
    4. ফাংশন সংজ্ঞা: def দিয়ে নিজস্ব ফাংশন তৈরি।
    5. মূল প্রোগ্রাম: ইনপুট, প্রক্রিয়াকরণ ও আউটপুটের মূল স্টেটমেন্ট।
    # ১. ডকুমেন্টেশন: প্রোগ্রামের নাম ও উদ্দেশ্য (কমেন্ট)
    # বৃত্তের ক্ষেত্রফল নির্ণয়ের প্রোগ্রাম
    
    # ২. ইমপোর্ট অংশ
    import math
    
    # ৩. গ্লোবাল ভেরিয়েবল / ধ্রুবক
    PI = math.pi
    
    # ৪. ফাংশন সংজ্ঞা
    def area(r):
        return PI * r * r
    
    # ৫. মূল প্রোগ্রাম
    if __name__ == "__main__":
        r = float(input("ব্যাসার্ধ: "))
        print("ক্ষেত্রফল =", round(area(r), 2))
    

    নমুনা আউটপুট:

    ব্যাসার্ধ: 7
    ক্ষেত্রফল = 153.94
    
  22. ৪.১-সং-২২★★★বই: পৃষ্ঠা ৮২

    ২২.ফারেনহাইট তাপমাত্রাকে সেন্টিগ্রেডে রূপান্তরের একটি প্রোগ্রাম লেখ।

    উত্তর

    কী-ওয়ার্ড: input(), float(), C = (F − 32) × 5 / 9, print()

    ফারেনহাইট (F) থেকে সেন্টিগ্রেড (C) রূপান্তরের সূত্র: C = (F − 32) × 5 / 9

    # ফারেনহাইট থেকে সেন্টিগ্রেড রূপান্তর
    f = float(input("ফারেনহাইট তাপমাত্রা দাও: "))
    c = (f - 32) * 5 / 9
    print("সেন্টিগ্রেড তাপমাত্রা =", round(c, 2))
    

    নমুনা আউটপুট:

    ফারেনহাইট তাপমাত্রা দাও: 98.6
    সেন্টিগ্রেড তাপমাত্রা = 37.0
    
  23. ৪.১-সং-২৩★★বই: পৃষ্ঠা ৮২

    ২৩.শর্টহ্যান্ড অ্যাসাইনমেন্ট অপারেটরের কাজ কী?

    উত্তর

    কী-ওয়ার্ড: +=, -=, *=, /=, //=, %=, **=, সংক্ষেপে হিসাব ও মান নির্ধারণ

    শর্টহ্যান্ড অ্যাসাইনমেন্ট অপারেটর: একটি গাণিতিক অপারেশন ও অ্যাসাইনমেন্ট একসাথে সংক্ষেপে করার অপারেটরকে শর্টহ্যান্ড (Compound) অ্যাসাইনমেন্ট অপারেটর বলে। যেমন x = x + 5-এর বদলে x += 5। এতে কোড ছোট ও পরিচ্ছন্ন হয়।

    অপারেটরউদাহরণসমতুল্য
    =x = 5—
    +=x += 3x = x + 3
    -=x -= 3x = x - 3
    *=x *= 3x = x * 3
    /=x /= 3x = x / 3
    //=x //= 3x = x // 3
    %=x %= 3x = x % 3
    **=x **= 3x = x ** 3
    x = 10
    x += 5    # x = x + 5  → 15
    x -= 3    # x = x - 3  → 12
    x *= 2    # x = x * 2  → 24
    x //= 5   # x = x // 5 → 4
    x **= 2   # x = x ** 2 → 16
    print(x)
    

    নমুনা আউটপুট:

    16
    
  24. ৪.১-সং-২৪★★বই: পৃষ্ঠা ৮২

    ২৪.অপারেটরগুলোর নাম উল্লেখ কর : ~, –, %, ^

    উত্তর

    কী-ওয়ার্ড: ~ বিটওয়াইজ NOT, – বিয়োগ/ঋণাত্মক, % মডুলাস (ভাগশেষ), ^ বিটওয়াইজ XOR

    অপারেটরনামকাজ
    ~বিটওয়াইজ NOT (কমপ্লিমেন্ট)সংখ্যার সব বিট উল্টে দেয়; ~x = −(x+1)
    –বিয়োগ (Subtraction) / ইউনারি মাইনাসএকটি সংখ্যা থেকে অন্যটি বিয়োগ করে বা ঋণাত্মক করে
    %মডুলাস (Modulus)ভাগশেষ নির্ণয় করে
    ^বিটওয়াইজ XORদুটি বিট ভিন্ন হলে 1, একই হলে 0
    print(~5)       # বিটওয়াইজ NOT → -6
    print(9 - 4)    # বিয়োগ → 5
    print(-7)       # ঋণাত্মক চিহ্ন → -7
    print(17 % 5)   # ভাগশেষ → 2
    print(6 ^ 3)    # বিটওয়াইজ XOR: 110 ^ 011 = 101 → 5
    

    নমুনা আউটপুট:

    -6
    5
    -7
    2
    5
    

    লক্ষণীয়: পাইথনে ^ ঘাত (Power) নয়; ঘাতের জন্য ** ব্যবহৃত হয়।

  25. ৪.১-সং-২৫★★★বই: পৃষ্ঠা ৮৩

    ২৫.x = 10, y = 20, z = 30 হলে ((x + y) > z) and ((y + z) > x)-এর মান কত হবে?

    উত্তর

    কী-ওয়ার্ড: (30 > 30) False, (50 > 10) True, False and True = False

    প্রদত্ত, x = 10, y = 20, z = 30

    ধাপ ১: (x + y) > z → (10 + 20) > 30 → 30 > 30 → False

    ধাপ ২: (y + z) > x → (20 + 30) > 10 → 50 > 10 → True

    ধাপ ৩: False and True → False (and অপারেটরে দুটিই True না হলে ফলাফল False)

    সুতরাং নির্ণেয় মান: False

    x, y, z = 10, 20, 30
    result = ((x + y) > z) and ((y + z) > x)
    print(result)
    

    নমুনা আউটপুট:

    False
    
  26. ৪.১-সং-২৬★★★বই: পৃষ্ঠা ৮৩

    ২৬.প্রোগ্রামিং ল্যাংগুয়েজ বলতে কী বুঝায়?

    উত্তর

    কী-ওয়ার্ড: কম্পিউটারকে নির্দেশ দেওয়ার কৃত্রিম ভাষা, নিয়ম ও শব্দভান্ডার, Python, C

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

    এর মাধ্যমে মানুষ ও কম্পিউটারের মধ্যে যোগাযোগ হয়। উদাহরণ: Python, C, Java, JavaScript।

  27. ৪.১-সং-২৭★★★বই: পৃষ্ঠা ৮৩

    ২৭.প্রোগ্রামিং ল্যাংগুয়েজের প্রকারভেদ লেখ।

    উত্তর

    কী-ওয়ার্ড: লো-লেভেল (মেশিন, অ্যাসেম্বলি), হাই-লেভেল, প্রজন্ম 1GL–5GL

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

    প্রজন্মভাষাবৈশিষ্ট্যউদাহরণ
    প্রথম (1GL)মেশিন ভাষা০ ও ১ দিয়ে লেখা; কম্পিউটার সরাসরি বোঝে10110000 01100001
    দ্বিতীয় (2GL)অ্যাসেম্বলি ভাষানেমোনিক কোড; অ্যাসেম্বলার লাগেMOV A, 5
    তৃতীয় (3GL)হাই-লেভেল ভাষাইংরেজির কাছাকাছি; কম্পাইলার/ইন্টারপ্রেটার লাগেC, Java, Python
    চতুর্থ (4GL)অতি উচ্চস্তরের ভাষাকী করতে হবে শুধু তা বললেই হয়SQL
    পঞ্চম (5GL)স্বাভাবিক ভাষাকৃত্রিম বুদ্ধিমত্তাভিত্তিক; মানুষের ভাষার কাছাকাছিProlog, Mercury
  28. ৪.১-সং-২৮★★বই: পৃষ্ঠা ৮৩

    ২৮.মেশিন ল্যাংগুয়েজ ও অ্যাসেম্বলি ল্যাংগুয়েজের সংজ্ঞা দাও।

    উত্তর

    কী-ওয়ার্ড: মেশিন ভাষা: ০ ও ১, সরাসরি বোঝে; অ্যাসেম্বলি: নেমোনিক, অ্যাসেম্বলার

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

    অ্যাসেম্বলি ল্যাংগুয়েজ: মেশিন ভাষার ০ ও ১-এর বদলে সংক্ষিপ্ত ইংরেজি সংকেত (নেমোনিক) ব্যবহার করে লেখা ভাষাকে অ্যাসেম্বলি ল্যাংগুয়েজ বলে। একে মেশিন ভাষায় রূপান্তরে অ্যাসেম্বলার লাগে। যেমন MOV A, 5, ADD A, B

  29. ৪.১-সং-২৯★বই: পৃষ্ঠা ৮৩

    ২৯.কয়েকটি High Level Language-এর নাম লেখ।

    উত্তর

    কী-ওয়ার্ড: Python, C, C++, Java, JavaScript, PHP, C#, BASIC

    কয়েকটি হাই-লেভেল ল্যাংগুয়েজ:

    1. Python
    2. C
    3. C++
    4. Java
    5. JavaScript
    6. PHP
    7. C#
    8. Visual Basic
    9. FORTRAN
    10. COBOL
  30. ৪.১-সং-৩০★★বই: পৃষ্ঠা ৮৩

    ৩০.অ্যালগরিদম ও ফ্লোচার্ট কী?

    উত্তর

    কী-ওয়ার্ড: অ্যালগরিদম: ধাপে ধাপে লিখিত সমাধান; ফ্লোচার্ট: প্রতীকে চিত্ররূপ

    অ্যালগরিদম: কোনো সমস্যা সমাধানের জন্য ধাপে ধাপে সাজানো সসীম সংখ্যক যৌক্তিক নির্দেশনার লিখিত রূপকে অ্যালগরিদম বলে।

    ফ্লোচার্ট: অ্যালগরিদমের ধাপগুলোকে নির্দিষ্ট প্রতীক ও তীরচিহ্নের মাধ্যমে চিত্রের সাহায্যে প্রকাশ করাকে ফ্লোচার্ট বলে।

    উদাহরণ — দুটি সংখ্যা যোগের অ্যালগরিদম: ১. শুরু ২. a, b ইনপুট ৩. sum = a + b ৪. sum প্রিন্ট ৫. শেষ।

    দুটি সংখ্যার যোগফলের ফ্লোচার্ট

    একই সমস্যার ফ্লোচার্ট

  31. ৪.১-সং-৩১★★বই: পৃষ্ঠা ৮৩

    ৩১.দুটি সংখ্যার যোগফল নির্ণয়ের অ্যালগরিদম ও ফ্লোচার্ট লেখ।

    উত্তর

    কী-ওয়ার্ড: শুরু, ইনপুট a b, sum = a + b, প্রিন্ট sum, শেষ

    অ্যালগরিদম:

    1. শুরু।
    2. দুটি সংখ্যা a ও b ইনপুট নাও।
    3. যোগফল নির্ণয় করো: sum = a + b।
    4. sum প্রিন্ট করো।
    5. শেষ।

    ফ্লোচার্ট:

    দুটি সংখ্যার যোগফলের ফ্লোচার্ট

    পাইথন প্রোগ্রাম:

    a = int(input("প্রথম সংখ্যা: "))
    b = int(input("দ্বিতীয় সংখ্যা: "))
    total = a + b
    print("যোগফল =", total)
    

    নমুনা আউটপুট:

    প্রথম সংখ্যা: 15
    দ্বিতীয় সংখ্যা: 25
    যোগফল = 40
    
  32. ৪.১-সং-৩২★★★বই: পৃষ্ঠা ৮৪

    ৩২.বৃত্তের ক্ষেত্রফল নির্ণয়ের অ্যালগরিদম ও ফ্লোচার্ট লেখ।

    উত্তর

    কী-ওয়ার্ড: শুরু, ব্যাসার্ধ r ইনপুট, area = πr² (3.1416 × r × r), প্রিন্ট, শেষ

    অ্যালগরিদম:

    1. শুরু।
    2. ব্যাসার্ধ r ইনপুট নাও।
    3. ক্ষেত্রফল নির্ণয় করো: area = 3.1416 × r × r।
    4. area প্রিন্ট করো।
    5. শেষ।

    ফ্লোচার্ট:

    বৃত্তের ক্ষেত্রফলের ফ্লোচার্ট

    পাইথন প্রোগ্রাম:

    r = float(input("ব্যাসার্ধ দাও: "))
    area = 3.1416 * r * r
    print("বৃত্তের ক্ষেত্রফল =", area)
    

    নমুনা আউটপুট:

    ব্যাসার্ধ দাও: 5
    বৃত্তের ক্ষেত্রফল = 78.54
    
  33. ৪.১-সং-৩৩★★★বই: পৃষ্ঠা ৮৪

    ৩৩.ভেরিয়েবল এবং আইডেন্টিফায়ার কী?

    উত্তর

    কী-ওয়ার্ড: ভেরিয়েবল: মেমরির নামযুক্ত স্থান, মান বদলায়; আইডেন্টিফায়ার: যেকোনো উপাদানের নাম

    ভেরিয়েবল: প্রোগ্রাম চলার সময় ডাটা বা মান সংরক্ষণের জন্য মেমরির যে নামযুক্ত স্থান ব্যবহার করা হয় এবং যার মান পরিবর্তন করা যায়, তাকে ভেরিয়েবল বলে। যেমন age = 18; এখানে age একটি ভেরিয়েবল।

    আইডেন্টিফায়ার: প্রোগ্রামে ভেরিয়েবল, ফাংশন, ক্লাস, মডিউল ইত্যাদিকে শনাক্ত করার জন্য যে নাম দেওয়া হয়, তাকে আইডেন্টিফায়ার বলে। যেমন age, calculate_total, Student। সব ভেরিয়েবলের নামই আইডেন্টিফায়ার, তবে সব আইডেন্টিফায়ার ভেরিয়েবল নয়।

  34. ৪.১-সং-৩৪★★বই: পৃষ্ঠা ৮৪

    ৩৪.অপারেটর ও অপারেন্ড বলতে কী বুঝায়?

    উত্তর

    কী-ওয়ার্ড: অপারেটর: কাজের চিহ্ন; অপারেন্ড: যার উপর কাজ হয়; a + b

    অপারেটর: যে চিহ্ন বা শব্দ এক বা একাধিক মানের উপর গাণিতিক, যৌক্তিক বা তুলনামূলক কাজ সম্পাদন করে, তাকে অপারেটর বলে। যেমন +, −, >, and।

    অপারেন্ড: যে মান বা ভেরিয়েবলের উপর অপারেটর কাজ করে, তাকে অপারেন্ড বলে।

    উদাহরণ: a + 5 রাশিতে + হলো অপারেটর এবং a ও 5 হলো অপারেন্ড।

  35. ৪.১-সং-৩৫★বই: পৃষ্ঠা ৮৪

    ৩৫.অ্যাসাইনমেন্ট অপারেটর কাকে বলে?

    উত্তর

    কী-ওয়ার্ড: = চিহ্ন, ডান পাশের মান বাম পাশের ভেরিয়েবলে, x = 10, +=

    অ্যাসাইনমেন্ট অপারেটর: যে অপারেটরের মাধ্যমে কোনো ভেরিয়েবলে মান সংরক্ষণ (নির্ধারণ) করা হয়, তাকে অ্যাসাইনমেন্ট অপারেটর বলে। মূল অ্যাসাইনমেন্ট অপারেটর হলো "=", যা ডান পাশের মানকে বাম পাশের ভেরিয়েবলে রাখে।

    উদাহরণ: x = 10, name = "Rahim"। এছাড়া +=, -=, *= ইত্যাদি শর্টহ্যান্ড অ্যাসাইনমেন্ট অপারেটরও আছে।

  36. ৪.১-সং-৩৬★★★বই: পৃষ্ঠা ৮৪

    ৩৬.বুলিয়ান অপারেটর-এর ব্যবহার লেখ।

    উত্তর

    কী-ওয়ার্ড: and, or, not, True/False, শর্ত সংযোজন, ট্রুথ টেবিল

    বুলিয়ান (লজিক্যাল) অপারেটর একাধিক শর্তকে যুক্ত করে True বা False ফলাফল দেয়। পাইথনে তিনটি বুলিয়ান অপারেটর আছে: and, or, not।

    ABA and BA or Bnot A
    TrueTrueTrueTrueFalse
    TrueFalseFalseTrueFalse
    FalseTrueFalseTrueTrue
    FalseFalseFalseFalseTrue
    a, b = True, False
    print(a and b)   # False
    print(a or b)    # True
    print(not a)     # False
    age = 20
    print(age >= 18 and age <= 60)   # True
    

    নমুনা আউটপুট:

    False
    True
    False
    True
    

    ব্যবহার: if স্টেটমেন্টে একাধিক শর্ত যাচাই, যেমন বয়স ১৮ থেকে ৬০-এর মধ্যে কিনা।

  37. ৪.১-সং-৩৭★★★বই: পৃষ্ঠা ৮৪

    ৩৭.আইডেন্টিটি অপারেটর কী?

    উত্তর

    কী-ওয়ার্ড: is, is not, একই অবজেক্ট কিনা, মেমরি অবস্থান, == থেকে ভিন্ন

    আইডেন্টিটি অপারেটর: দুটি ভেরিয়েবল মেমরিতে একই অবজেক্টকে নির্দেশ করছে কিনা তা যাচাই করার অপারেটরকে আইডেন্টিটি অপারেটর বলে। পাইথনে দুটি আইডেন্টিটি অপারেটর: is ও is not।

    a = [1, 2, 3]
    b = a          # b একই অবজেক্টকে নির্দেশ করে
    c = [1, 2, 3]  # মান এক, কিন্তু আলাদা অবজেক্ট
    print(a is b)      # True
    print(a is c)      # False
    print(a == c)      # True (মান সমান)
    print(a is not c)  # True
    

    নমুনা আউটপুট:

    True
    False
    True
    True
    

    লক্ষণীয়: == মান তুলনা করে, আর is অবজেক্টের পরিচয় (মেমরি অবস্থান) তুলনা করে।

রচনামূলক প্রশ্ন (১৬টি)

  1. ৪.১-র-৫(ক)★★★বই: পৃষ্ঠা ৮৮

    ১.পাইথনে ব্যবহৃত কী-ওয়ার্ড বলতে কী বুঝায়? এর তালিকা দাও।

    উত্তর

    কী-ওয়ার্ড: সংরক্ষিত শব্দ, বিশেষ অর্থ, নাম হিসেবে ব্যবহার নিষিদ্ধ, ৩৫টি, keyword.kwlist

    কী-ওয়ার্ড: পাইথনে যেসব শব্দের বিশেষ ও নির্দিষ্ট অর্থ আগে থেকে নির্ধারিত আছে এবং যেগুলো ভেরিয়েবল, ফাংশন বা অন্য কোনো আইডেন্টিফায়ারের নাম হিসেবে ব্যবহার করা যায় না, তাদের কী-ওয়ার্ড বা সংরক্ষিত শব্দ (Reserved word) বলে। কী-ওয়ার্ড কেস-সেনসিটিভ; True, False ও None ছাড়া সবগুলো ছোট হাতের।

    পাইথন ৩-এর ৩৫টি কী-ওয়ার্ডের তালিকা:

    FalseNoneTrueandas
    assertasyncawaitbreakclass
    continuedefdelelifelse
    exceptfinallyforfromglobal
    ifimportinislambda
    nonlocalnotorpassraise
    returntrywhilewithyield

    সব কী-ওয়ার্ড দেখতে: import keyword; print(keyword.kwlist)। এছাড়া match, case, type, _ হলো "সফট কী-ওয়ার্ড", যেগুলো নির্দিষ্ট প্রসঙ্গে কী-ওয়ার্ডের মতো আচরণ করে।

    সংশোধন: সূচিপত্রে এই প্রশ্নের নম্বরও ৫; বইয়ের নম্বরের পুনরাবৃত্তির কারণে কোড ৪.১-র-৫(ক) দেওয়া হয়েছে।

  2. ৪.১-র-১বই: পৃষ্ঠা ৮৫

    ২.ফ্লোচার্টে ব্যবহৃত বিভিন্ন ধরনের প্রতীকসমূহের বর্ণনা দাও। [বিএমটি-২৬]

    • অথবা, প্রতিটি ফ্লোচার্টের প্রতীকসহ ব্যবহার উল্লেখ কর। [বিএমটি-২৬]

    উত্তর

    কী-ওয়ার্ড: টার্মিনাল, ইনপুট/আউটপুট, প্রসেস, ডিসিশন, ফ্লো লাইন, কানেক্টর, প্রতীকের আকৃতি

    ভূমিকা: ফ্লোচার্টে বিভিন্ন কাজ বোঝাতে আন্তর্জাতিকভাবে প্রমিত (ANSI) কিছু প্রতীক ব্যবহৃত হয়। নিচে প্রতিটি প্রতীক ও তার ব্যবহার দেওয়া হলো:

    ফ্লোচার্টের প্রতীকসমূহ

    প্রতীকআকৃতিব্যবহার
    টার্মিনাল (Terminal)ডিম্বাকার/গোলাকার প্রান্তযুক্ত আয়তক্ষেত্রফ্লোচার্টের শুরু (Start) ও শেষ (End) বোঝাতে
    ইনপুট/আউটপুটসামান্তরিকডাটা গ্রহণ (Input) বা ফলাফল প্রদর্শন (Print) বোঝাতে
    প্রসেসিং (Process)আয়তক্ষেত্রহিসাব-নিকাশ বা ডাটা প্রক্রিয়াকরণ, যেমন sum = a + b
    ডিসিশন (Decision)রম্বস (ডায়মন্ড)শর্ত যাচাই; হ্যাঁ/না দুটি পথ বের হয়
    ফ্লো লাইন (Flow line)তীরচিহ্নকাজের প্রবাহের দিক নির্দেশ করে
    কানেক্টর (Connector)ছোট বৃত্তফ্লোচার্টের বিচ্ছিন্ন অংশ বা পৃষ্ঠা যুক্ত করে
    প্রিডিফাইনড প্রসেসদুই পাশে দাগযুক্ত আয়তক্ষেত্রআগে থেকে সংজ্ঞায়িত কোনো ফাংশন বা সাবরুটিন
    অ্যানোটেশন (Annotation)খোলা বন্ধনীব্যাখ্যামূলক মন্তব্য যোগ করতে

    উপসংহার: প্রমিত প্রতীক ব্যবহারের ফলে যেকোনো প্রোগ্রামার ফ্লোচার্ট দেখে একই অর্থ বুঝতে পারেন।

  3. ৪.১-র-২বই: পৃষ্ঠা ৮৬

    ৩.পাইথন প্রোগ্রামিং-এর ডাটা টাইপ বর্ণনা কর। [বিএমটি-২০২৪, ২৫]

    উত্তর

    কী-ওয়ার্ড: Numeric (int, float, complex), Sequence (str, list, tuple, range), Mapping (dict), Set, Boolean, None

    ভূমিকা: পাইথনে ডাটা টাইপ নির্ধারণ করে একটি ভেরিয়েবলে কী ধরনের মান রাখা যাবে। পাইথন ডাইনামিক টাইপড, তাই মান দেখেই টাইপ নির্ধারিত হয়। প্রধান ডাটা টাইপগুলো:

    শ্রেণিডাটা টাইপবৈশিষ্ট্যউদাহরণ
    সংখ্যা (Numeric)intদশমিকহীন পূর্ণসংখ্যাage = 18
    floatদশমিক সংখ্যাgpa = 4.75
    complexবাস্তব ও কাল্পনিক অংশবিশিষ্ট সংখ্যাz = 3 + 4j
    সিকোয়েন্স (Sequence)strঅক্ষরের ক্রম; পরিবর্তনযোগ্য নয়name = "Rahim"
    listক্রমানুসারী, পরিবর্তনযোগ্য তালিকা; [ ]marks = [80, 75, 90]
    tupleক্রমানুসারী, অপরিবর্তনযোগ্য তালিকা; ( )point = (10, 20)
    rangeসংখ্যার ধারাrange(1, 6)
    ম্যাপিং (Mapping)dictkey: value জোড়া; { }s = {"roll": 1, "name": "Rahim"}
    সেট (Set)setপুনরাবৃত্তিহীন, ক্রমহীন সংগ্রহids = {1, 2, 3}
    বুলিয়ানboolTrue বা Falsepassed = True
    নান (None)NoneTypeকোনো মান নেইx = None

    কোনো ভেরিয়েবলের টাইপ জানতে type() ফাংশন ব্যবহার করা হয়:

    a = 25            # int
    b = 3.14          # float
    c = 2 + 3j        # complex
    name = "Rahim"    # str
    passed = True     # bool
    marks = [85, 90]  # list
    point = (10, 20)  # tuple
    student = {"roll": 101, "name": "Rahim"}  # dict
    ids = {1, 2, 3}   # set
    x = None          # NoneType
    print(type(a), type(b), type(name), type(passed))
    

    নমুনা আউটপুট:

    <class 'int'> <class 'float'> <class 'str'> <class 'bool'>
    

    টাইপ রূপান্তর: int("25") → 25, float(5) → 5.0, str(100) → "100"।

  4. ৪.১-র-৩★★বই: পৃষ্ঠা ৮৬

    ৪.পাইথনে আইডেন্টিফায়ার এবং ভেরিয়েবলের মধ্যে পার্থক্য লেখ। [বিএমটি-২৫]

    উত্তর

    কী-ওয়ার্ড: আইডেন্টিফায়ার: যেকোনো উপাদানের নাম; ভেরিয়েবল: মান রাখার নামযুক্ত মেমরি

    পাইথনে আইডেন্টিফায়ার ও ভেরিয়েবলের পার্থক্য:

    বিষয়আইডেন্টিফায়ারভেরিয়েবল
    সংজ্ঞাভেরিয়েবল, ফাংশন, ক্লাস, মডিউল ইত্যাদির নামমান সংরক্ষণের জন্য মেমরির নামযুক্ত স্থান
    পরিধিবৃহত্তর ধারণা; ভেরিয়েবলের নামও আইডেন্টিফায়ারআইডেন্টিফায়ারের একটি প্রকার
    মাননিজে কোনো মান ধারণ করে না, শুধু নামমান ধারণ করে এবং মান পরিবর্তন করা যায়
    মেমরিনিজে মেমরি দখল করে নামান রাখার জন্য মেমরি ব্যবহার করে
    উদাহরণtotal, get_result(), Studenttotal = 450

    উদাহরণ: def area(r): লাইনে area ও r দুটিই আইডেন্টিফায়ার; তবে r একটি ভেরিয়েবল আর area একটি ফাংশনের নাম।

  5. ৪.১-র-৪বই: পৃষ্ঠা ৮৭

    ৫.বিভিন্ন ধরনের পাইথন অপারেটরের নাম ও কাজ বর্ণনা কর। [বিএমটি-২০২৪]

    উত্তর

    কী-ওয়ার্ড: গাণিতিক, তুলনামূলক, অ্যাসাইনমেন্ট, লজিক্যাল, বিটওয়াইজ, মেম্বারশিপ, আইডেন্টিটি

    ভূমিকা: পাইথনে অপারেটরকে কাজ অনুযায়ী সাত ভাগে ভাগ করা যায়:

    ১. গাণিতিক (Arithmetic) অপারেটর

    অপারেটরনামউদাহরণ (a=10, b=3)ফলাফল
    +যোগa + b13
    -বিয়োগa - b7
    *গুণa * b30
    /ভাগa / b3.333…
    //ফ্লোর ভাগ (পূর্ণ ভাগফল)a // b3
    %ভাগশেষ (Modulus)a % b1
    **ঘাত (Power)a ** b1000

    ২. তুলনামূলক (Comparison/Relational) অপারেটর

    অপারেটরঅর্থউদাহরণ (a=10, b=3)ফলাফল
    ==সমানa == bFalse
    !=অসমানa != bTrue
    >বড়a > bTrue
    <ছোটa < bFalse
    >=বড় বা সমানa >= bTrue
    <=ছোট বা সমানa <= bFalse

    ৩. অ্যাসাইনমেন্ট অপারেটর

    অপারেটরউদাহরণসমতুল্য
    =x = 5—
    +=x += 3x = x + 3
    -=x -= 3x = x - 3
    *=x *= 3x = x * 3
    /=x /= 3x = x / 3
    //=x //= 3x = x // 3
    %=x %= 3x = x % 3
    **=x **= 3x = x ** 3

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

    অপারেটরকাজউদাহরণফলাফল
    andদুটি শর্তই সত্য হলে True(5 > 3) and (2 > 1)True
    orযেকোনো একটি সত্য হলে True(5 < 3) or (2 > 1)True
    notফলাফল উল্টে দেয়not (5 > 3)False

    ৫. বিটওয়াইজ অপারেটর

    অপারেটরনামউদাহরণ (a=12 → 1100, b=10 → 1010)ফলাফল
    &বিটওয়াইজ ANDa & b → 10008
    বিটওয়াইজ ORa
    ^বিটওয়াইজ XORa ^ b → 01106
    ~বিটওয়াইজ NOT~a = -(a+1)-13
    <<লেফট শিফটa << 2 → 11000048
    >>রাইট শিফটa >> 2 → 113

    ৬ ও ৭. মেম্বারশিপ ও আইডেন্টিটি অপারেটর

    অপারেটরধরনকাজউদাহরণ
    isআইডেন্টিটিদুটি ভেরিয়েবল একই অবজেক্ট হলে Truea is b
    is notআইডেন্টিটিভিন্ন অবজেক্ট হলে Truea is not c
    inমেম্বারশিপমানটি সিকোয়েন্সে থাকলে True"আম" in fruits
    not inমেম্বারশিপমানটি না থাকলে True"আপেল" not in fruits
  6. ৪.১-র-৫বই: পৃষ্ঠা ৮৭

    ৬.পাইথন প্রোগ্রামের বৈশিষ্ট্যগুলো লেখ। [বিএমটি-২০২৩]

    উত্তর

    কী-ওয়ার্ড: সহজ সিনট্যাক্স, ইন্টারপ্রেটেড, ওপেন সোর্স, প্ল্যাটফর্ম নিরপেক্ষ, ডাইনামিক টাইপিং, OOP, বিশাল লাইব্রেরি

    পাইথন ১৯৯১ সালে গুইডো ভ্যান রসাম (Guido van Rossum) তৈরি করেন। এর প্রধান বৈশিষ্ট্যগুলো হলো:

    1. সহজ ও পাঠযোগ্য: ইংরেজির কাছাকাছি সরল সিনট্যাক্স, তাই নতুনদের শেখা সহজ।
    2. ইন্টারপ্রেটেড: কম্পাইল না করেই লাইন বাই লাইন চালানো যায়, ভুল দ্রুত ধরা পড়ে।
    3. ফ্রি ও ওপেন সোর্স: বিনামূল্যে ব্যবহার, পরিবর্তন ও বিতরণ করা যায়।
    4. প্ল্যাটফর্ম নিরপেক্ষ: Windows, Linux, macOS সব জায়গায় একই কোড চলে।
    5. ডাইনামিক টাইপিং: ভেরিয়েবলের ডাটা টাইপ আগে ঘোষণা করতে হয় না।
    6. অবজেক্ট-ওরিয়েন্টেড: ক্লাস ও অবজেক্ট সমর্থন করে, আবার প্রসিডিউরাল পদ্ধতিতেও লেখা যায়।
    7. বিশাল লাইব্রেরি: NumPy, Pandas, Django, TensorFlow-এর মতো হাজারো লাইব্রেরি আছে।
    8. জেনারেল পারপাস: ওয়েব, ডাটা সায়েন্স, AI, অটোমেশন, গেমসহ প্রায় সব ক্ষেত্রে ব্যবহারযোগ্য।
    9. ইনডেন্টেশনভিত্তিক ব্লক: {} এর বদলে ইনডেন্টেশন দিয়ে কোড ব্লক হয়, ফলে কোড পরিচ্ছন্ন থাকে।
    10. বড় কমিউনিটি: সমস্যার সমাধান ও শেখার রিসোর্স সহজে পাওয়া যায়।

    উদাহরণ — অন্য ভাষার তুলনায় সহজ সিনট্যাক্স: print("Hello, World!") — মাত্র এক লাইনেই প্রোগ্রাম।

  7. ৪.১-র-৬★★★বই: পৃষ্ঠা ৮৮

    ৭.কম্পাইলার ও ইন্টারপ্রিটারের মধ্যে পার্থক্য লেখ।

    উত্তর

    কী-ওয়ার্ড: পুরো প্রোগ্রাম একসাথে বনাম লাইন বাই লাইন, অবজেক্ট কোড, গতি, ত্রুটি প্রদর্শন, C বনাম Python

    কম্পাইলার ও ইন্টারপ্রেটার উভয়ই হাই-লেভেল ভাষাকে মেশিন ভাষায় অনুবাদ করে। এদের পার্থক্য:

    বিষয়কম্পাইলারইন্টারপ্রেটার
    অনুবাদ পদ্ধতিপুরো প্রোগ্রাম একসাথে অনুবাদ করেএক লাইন করে অনুবাদ ও সাথে সাথে চালায়
    অবজেক্ট কোডআলাদা অবজেক্ট/এক্সিকিউটেবল ফাইল (.exe) তৈরি করেস্থায়ী অবজেক্ট ফাইল তৈরি করে না
    চালানোর গতিঅনুবাদের পর প্রোগ্রাম দ্রুত চলেপ্রতিবার অনুবাদ হয় বলে তুলনামূলক ধীর
    ত্রুটি প্রদর্শনপুরো প্রোগ্রাম পরীক্ষা করে সব ত্রুটি একসাথে দেখায়প্রথম ত্রুটি পেলেই থেমে যায়
    ডিবাগিংতুলনামূলক কঠিনসহজ
    মেমরিঅবজেক্ট কোডের জন্য বেশি মেমরি লাগেকম মেমরি লাগে
    পুনরায় চালানোএকবার কম্পাইল করলে বারবার অনুবাদ লাগে নাপ্রতিবার চালাতে অনুবাদ লাগে
    উদাহরণ ভাষাC, C++, Java (বাইটকোডে)Python, JavaScript, PHP

    পাইথন আসলে সোর্স কোডকে প্রথমে বাইটকোডে রূপান্তর করে, তারপর Python Virtual Machine তা লাইন বাই লাইন চালায়; তাই একে ইন্টারপ্রেটেড ভাষা বলা হয়।

  8. ৪.১-র-৭★★বই: পৃষ্ঠা ৮৮

    ৮.পাইথনে ব্যবহৃত বিভিন্ন প্রকার টোকেন ও তাদের ব্যবহার লেখ।

    উত্তর

    কী-ওয়ার্ড: কী-ওয়ার্ড, আইডেন্টিফায়ার, লিটারেল, অপারেটর, পাংচুয়েটর/ডেলিমিটার

    টোকেন: পাইথন প্রোগ্রামের ক্ষুদ্রতম অর্থবহ একককে টোকেন বলে। ইন্টারপ্রেটার প্রোগ্রামকে প্রথমে টোকেনে ভাগ করে বোঝে। পাইথনে পাঁচ প্রকার টোকেন:

    টোকেনব্যবহারউদাহরণ
    কী-ওয়ার্ড (Keyword)বিশেষ অর্থবহ সংরক্ষিত শব্দif, for, def, True
    আইডেন্টিফায়ার (Identifier)ভেরিয়েবল, ফাংশন, ক্লাসের নামtotal, price, area
    লিটারেল (Literal)সরাসরি লেখা স্থির মান10, 3.14, "Dhaka", True
    অপারেটর (Operator)অপারেশন সম্পাদনের চিহ্ন+, -, ==, and, in
    পাংচুয়েটর/ডেলিমিটারকোড গঠন ও পৃথক করার চিহ্ন( ) [ ] { } : , . =

    উদাহরণ: total = price * 2 + 10 লাইনে টোকেনগুলো হলো — আইডেন্টিফায়ার: total, price; অপারেটর: =, *, +; লিটারেল: 2, 10।

  9. ৪.১-র-৯বই: পৃষ্ঠা ৮৮

    ৯.প্রোগ্রামিং ল্যাংগুয়েজের প্রকারভেদ বর্ণনা কর।

    উত্তর

    কী-ওয়ার্ড: লো-লেভেল (মেশিন, অ্যাসেম্বলি), হাই-লেভেল, প্রজন্ম 1GL–5GL, অনুবাদক

    ভূমিকা: কম্পিউটারকে নির্দেশ দেওয়ার ভাষাকে প্রোগ্রামিং ল্যাংগুয়েজ বলে। মানুষের ভাষার কাছাকাছি কিনা তার ভিত্তিতে এটি প্রধানত দুই প্রকার:

    ক. লো-লেভেল ল্যাংগুয়েজ

    • মেশিন ভাষা: শুধু ০ ও ১ দিয়ে লেখা; কম্পিউটার সরাসরি বোঝে; দ্রুততম কিন্তু লেখা অত্যন্ত কঠিন ও মেশিন নির্ভর।
    • অ্যাসেম্বলি ভাষা: নেমোনিক কোড (MOV, ADD) দিয়ে লেখা; অ্যাসেম্বলার দিয়ে মেশিন ভাষায় রূপান্তর হয়।

    খ. হাই-লেভেল ল্যাংগুয়েজ

    • ইংরেজির কাছাকাছি শব্দ ব্যবহার করে লেখা; শেখা ও লেখা সহজ, মেশিন নিরপেক্ষ।
    • কম্পাইলার বা ইন্টারপ্রেটার দিয়ে মেশিন ভাষায় রূপান্তর হয়।
    • উদাহরণ: C, C++, Java, Python।

    প্রজন্মভিত্তিক শ্রেণিবিভাগ

    প্রজন্মভাষাবৈশিষ্ট্যউদাহরণ
    প্রথম (1GL)মেশিন ভাষা০ ও ১ দিয়ে লেখা; কম্পিউটার সরাসরি বোঝে10110000 01100001
    দ্বিতীয় (2GL)অ্যাসেম্বলি ভাষানেমোনিক কোড; অ্যাসেম্বলার লাগেMOV A, 5
    তৃতীয় (3GL)হাই-লেভেল ভাষাইংরেজির কাছাকাছি; কম্পাইলার/ইন্টারপ্রেটার লাগেC, Java, Python
    চতুর্থ (4GL)অতি উচ্চস্তরের ভাষাকী করতে হবে শুধু তা বললেই হয়SQL
    পঞ্চম (5GL)স্বাভাবিক ভাষাকৃত্রিম বুদ্ধিমত্তাভিত্তিক; মানুষের ভাষার কাছাকাছিProlog, Mercury

    উপসংহার: প্রজন্ম যত এগিয়েছে, প্রোগ্রামিং ভাষা তত মানুষের ভাষার কাছাকাছি ও সহজ হয়েছে।

  10. ৪.১-র-১০বই: পৃষ্ঠা ৮৯

    ১০.পাইথনে ভেরিয়েবল নামকরণের নিয়মাবলি উল্লেখ কর।

    উত্তর

    কী-ওয়ার্ড: বর্ণ বা _ দিয়ে শুরু, অঙ্ক দিয়ে নয়, স্পেস ও বিশেষ চিহ্ন নয়, কী-ওয়ার্ড নয়, কেস-সেনসিটিভ, অর্থবহ নাম

    পাইথনে ভেরিয়েবল নামকরণের নিয়মাবলি:

    1. ইংরেজি বর্ণ (a–z, A–Z), অঙ্ক (0–9) ও আন্ডারস্কোর (_) ব্যবহার করা যায়।
    2. প্রথম অক্ষর অবশ্যই বর্ণ বা আন্ডারস্কোর হবে; অঙ্ক দিয়ে শুরু করা যাবে না। যেমন 1name ভুল, name1 সঠিক।
    3. কোনো ফাঁকা স্থান (Space) রাখা যাবে না। student name ভুল, student_name সঠিক।
    4. @, $, %, # ইত্যাদি বিশেষ চিহ্ন ব্যবহার করা যাবে না।
    5. পাইথনের কী-ওয়ার্ড (if, for, class ইত্যাদি) নাম হিসেবে ব্যবহার করা যাবে না।
    6. পাইথন কেস-সেনসিটিভ: Total ও total দুটি আলাদা নাম।
    7. নাম অর্থবহ হওয়া উচিত, যেমন total_marks; একাধিক শব্দ আন্ডারস্কোর দিয়ে যুক্ত করা হয় (snake_case)।
    নামবৈধ?কারণ
    student_nameবৈধবর্ণ ও আন্ডারস্কোর
    _countবৈধআন্ডারস্কোর দিয়ে শুরু
    mark2বৈধশেষে অঙ্ক থাকতে পারে
    2markঅবৈধঅঙ্ক দিয়ে শুরু
    my nameঅবৈধস্পেস আছে
    total$অবৈধবিশেষ চিহ্ন
    forঅবৈধকী-ওয়ার্ড
  11. ৪.১-র-১১বই: পৃষ্ঠা ৯০

    ১১.উদাহরণসহ গাণিতিক, তুলনামূলক ও যৌক্তিক অপারেটরসমূহ বর্ণনা কর।

    উত্তর

    কী-ওয়ার্ড: গাণিতিক (+ − * / // % **), তুলনামূলক (== != > < >= <=), যৌক্তিক (and or not), উদাহরণ

    ১. গাণিতিক অপারেটর

    সংখ্যার উপর গাণিতিক হিসাব করে।

    অপারেটরনামউদাহরণ (a=10, b=3)ফলাফল
    +যোগa + b13
    -বিয়োগa - b7
    *গুণa * b30
    /ভাগa / b3.333…
    //ফ্লোর ভাগ (পূর্ণ ভাগফল)a // b3
    %ভাগশেষ (Modulus)a % b1
    **ঘাত (Power)a ** b1000
    a, b = 10, 3
    print(a + b)    # 13
    print(a - b)    # 7
    print(a * b)    # 30
    print(a / b)    # 3.3333333333333335
    print(a // b)   # 3
    print(a % b)    # 1
    print(a ** b)   # 1000
    

    নমুনা আউটপুট:

    13
    7
    30
    3.3333333333333335
    3
    1
    1000
    

    ২. তুলনামূলক অপারেটর

    দুটি মান তুলনা করে True বা False দেয়।

    অপারেটরঅর্থউদাহরণ (a=10, b=3)ফলাফল
    ==সমানa == bFalse
    !=অসমানa != bTrue
    >বড়a > bTrue
    <ছোটa < bFalse
    >=বড় বা সমানa >= bTrue
    <=ছোট বা সমানa <= bFalse
    a, b = 10, 3
    print(a == b, a != b, a > b, a < b, a >= b, a <= b)
    

    নমুনা আউটপুট:

    False True True False True False
    

    ৩. যৌক্তিক অপারেটর

    একাধিক শর্তকে যুক্ত করে True বা False দেয়।

    অপারেটরকাজউদাহরণফলাফল
    andদুটি শর্তই সত্য হলে True(5 > 3) and (2 > 1)True
    orযেকোনো একটি সত্য হলে True(5 < 3) or (2 > 1)True
    notফলাফল উল্টে দেয়not (5 > 3)False
    marks = 75
    print(marks >= 33 and marks <= 100)   # True
    print(marks < 33 or marks > 100)      # False
    print(not (marks >= 33))              # False
    

    নমুনা আউটপুট:

    True
    False
    False
    
  12. ৪.১-র-১২★★★বই: পৃষ্ঠা ৯১

    ১২.পাইথন প্রোগ্রামিং-এ বিশেষ অপারেটর সম্পর্কে বর্ণনা কর।

    উত্তর

    কী-ওয়ার্ড: আইডেন্টিটি (is, is not), মেম্বারশিপ (in, not in), উদাহরণ

    ভূমিকা: পাইথনে প্রচলিত অপারেটরের বাইরে দুই ধরনের বিশেষ অপারেটর আছে: আইডেন্টিটি অপারেটর ও মেম্বারশিপ অপারেটর।

    অপারেটরধরনকাজউদাহরণ
    isআইডেন্টিটিদুটি ভেরিয়েবল একই অবজেক্ট হলে Truea is b
    is notআইডেন্টিটিভিন্ন অবজেক্ট হলে Truea is not c
    inমেম্বারশিপমানটি সিকোয়েন্সে থাকলে True"আম" in fruits
    not inমেম্বারশিপমানটি না থাকলে True"আপেল" not in fruits

    ১. আইডেন্টিটি অপারেটর (is, is not)

    দুটি ভেরিয়েবল মেমরিতে একই অবজেক্ট কিনা তা যাচাই করে।

    a = [1, 2, 3]
    b = a          # b একই অবজেক্টকে নির্দেশ করে
    c = [1, 2, 3]  # মান এক, কিন্তু আলাদা অবজেক্ট
    print(a is b)      # True
    print(a is c)      # False
    print(a == c)      # True (মান সমান)
    print(a is not c)  # True
    

    নমুনা আউটপুট:

    True
    False
    True
    True
    

    ২. মেম্বারশিপ অপারেটর (in, not in)

    কোনো মান একটি স্ট্রিং, লিস্ট, টাপল, সেট বা ডিকশনারিতে আছে কিনা তা যাচাই করে।

    fruits = ["আম", "কলা", "লিচু"]
    print("আম" in fruits)        # True
    print("আপেল" not in fruits)  # True
    print("a" in "Python")       # False
    

    নমুনা আউটপুট:

    True
    True
    False
    
  13. ৪.১-র-১৩★★★বই: পৃষ্ঠা ৯২

    ১৩.উদাহরণসহ বিটওয়াইজ শিফট অপারেশন ব্যাখ্যা কর।

    উত্তর

    কী-ওয়ার্ড: লেফট শিফট (<<) ২ দিয়ে গুণ, রাইট শিফট (>>) ২ দিয়ে ভাগ, বাইনারি উদাহরণ

    বিটওয়াইজ শিফট অপারেশন: কোনো সংখ্যার বাইনারি রূপের বিটগুলোকে নির্দিষ্ট সংখ্যক ঘর বাম বা ডানে সরানোকে শিফট অপারেশন বলে। এটি দুই প্রকার:

    ১. লেফট শিফট (<<)

    বিটগুলোকে বাম দিকে সরায় এবং ডান দিকে 0 যোগ করে। প্রতি ঘর সরানোয় মান ২ গুণ হয়: x << n = x × 2ⁿ

    বাইনারিদশমিক
    a0000 101010
    a << 20010 100040

    ২. রাইট শিফট (>>)

    বিটগুলোকে ডান দিকে সরায়; ডানের বিটগুলো বাদ পড়ে। প্রতি ঘর সরানোয় মান ২ দিয়ে ভাগ (পূর্ণ ভাগফল) হয়: x >> n = x // 2ⁿ

    বাইনারিদশমিক
    a0000 101010
    a >> 10000 01015
    a = 10            # বাইনারি: 1010
    print(a << 2)     # 101000 → 40
    print(a >> 1)     # 101    → 5
    print(bin(a << 2), bin(a >> 1))
    

    নমুনা আউটপুট:

    40
    5
    0b101000 0b101
    

    শিফট অপারেশন গুণ-ভাগের চেয়ে দ্রুত, তাই নিম্নস্তরের প্রোগ্রামিং ও এনক্রিপশনে ব্যবহৃত হয়।

  14. ৪.১-র-১৪★★বই: পৃষ্ঠা ৯২

    ১৪.যেকোনো দুটি সংখ্যার গড় নির্ণয়ের অ্যালগরিদম লেখ।

    উত্তর

    কী-ওয়ার্ড: শুরু, a ও b ইনপুট, avg = (a + b) / 2, প্রিন্ট, শেষ

    দুটি সংখ্যার গড় নির্ণয়ের অ্যালগরিদম:

    1. শুরু।
    2. দুটি সংখ্যা a ও b ইনপুট নাও।
    3. যোগফল নির্ণয় করো: sum = a + b।
    4. গড় নির্ণয় করো: avg = sum / 2।
    5. avg প্রিন্ট করো।
    6. শেষ।

    পাইথন প্রোগ্রাম:

    a = float(input("প্রথম সংখ্যা: "))
    b = float(input("দ্বিতীয় সংখ্যা: "))
    avg = (a + b) / 2
    print("গড় =", avg)
    

    নমুনা আউটপুট:

    প্রথম সংখ্যা: 12
    দ্বিতীয় সংখ্যা: 18
    গড় = 15.0
    

    দুটি সংখ্যার গড়ের ফ্লোচার্ট

    দুটি সংখ্যার গড়ের ফ্লোচার্ট

  15. ৪.১-র-১৬★★★বই: পৃষ্ঠা ৯২

    ১৫.জোড়সংখ্যা কিংবা বিজোড় সংখ্যা নির্ণয়ের অ্যালগরিদম লেখ।

    উত্তর

    কী-ওয়ার্ড: শুরু, n ইনপুট, n % 2 == 0 হলে জোড়, না হলে বিজোড়, শেষ

    জোড় বা বিজোড় সংখ্যা নির্ণয়ের অ্যালগরিদম:

    1. শুরু।
    2. একটি পূর্ণসংখ্যা n ইনপুট নাও।
    3. n-কে 2 দিয়ে ভাগ করে ভাগশেষ নির্ণয় করো: r = n % 2।
    4. যদি r = 0 হয়, তবে "জোড় সংখ্যা" প্রিন্ট করো।
    5. অন্যথায় "বিজোড় সংখ্যা" প্রিন্ট করো।
    6. শেষ।

    ফ্লোচার্ট:

    জোড়-বিজোড় নির্ণয়ের ফ্লোচার্ট

    পাইথন প্রোগ্রাম:

    n = int(input("একটি পূর্ণসংখ্যা দাও: "))
    if n % 2 == 0:
        print(n, "জোড় সংখ্যা")
    else:
        print(n, "বিজোড় সংখ্যা")
    

    নমুনা আউটপুট:

    একটি পূর্ণসংখ্যা দাও: 7
    7 বিজোড় সংখ্যা
    
  16. ৪.১-র-১৭★★★বই: পৃষ্ঠা ৯৩

    ১৬.পাইথনে বিটওয়াইজ অপারেটর সম্পর্কে বর্ণনা কর।

    উত্তর

    কী-ওয়ার্ড: &, |, ^, ~, <<, >>, বাইনারি বিটভিত্তিক অপারেশন, উদাহরণ

    বিটওয়াইজ অপারেটর: যে অপারেটর সংখ্যার বাইনারি রূপের প্রতিটি বিটের উপর আলাদাভাবে কাজ করে, তাকে বিটওয়াইজ অপারেটর বলে। পাইথনে ছয়টি বিটওয়াইজ অপারেটর আছে:

    অপারেটরনামউদাহরণ (a=12 → 1100, b=10 → 1010)ফলাফল
    &বিটওয়াইজ ANDa & b → 10008
    বিটওয়াইজ ORa
    ^বিটওয়াইজ XORa ^ b → 01106
    ~বিটওয়াইজ NOT~a = -(a+1)-13
    <<লেফট শিফটa << 2 → 11000048
    >>রাইট শিফটa >> 2 → 113

    a = 12 (1100) ও b = 10 (1010) ধরে বিট-বাই-বিট হিসাব:

    বিট ৩বিট ২বিট ১বিট ০দশমিক
    a110012
    b101010
    a & b10008
    ab1110
    a ^ b01106
    a, b = 12, 10     # a = 1100, b = 1010
    print(a & b)      # 1000 → 8
    print(a | b)      # 1110 → 14
    print(a ^ b)      # 0110 → 6
    print(~a)         # -13
    print(a << 2)     # 110000 → 48
    print(a >> 2)     # 11 → 3
    

    নমুনা আউটপুট:

    8
    14
    6
    -13
    48
    3
    

    ব্যবহার: হার্ডওয়্যার নিয়ন্ত্রণ, এনক্রিপশন, ফ্ল্যাগ সেট করা ও দ্রুত গুণ-ভাগে।