প্রোগ্রামিংয়ের মৌলিক ধারণা/অনুশীলন: ডেটা এবং অপারেটর
অধ্যায় সারসংক্ষেপ
[সম্পাদনা]কনস্ট্যান্ট এবং ভেরিয়েবল
[সম্পাদনা]প্রোগ্রামে, কনস্ট্যান্ট হল এমন একটি মান যা প্রোগ্রামের চলাকালীন পরিবর্তিত হয় না। একটি আইডেন্টিফায়ার যুক্ত করলে এটি "নামকৃত" কনস্ট্যান্টে পরিণত হয়। "কনস্ট্যান্ট" এবং "নামকৃত কনস্ট্যান্ট" প্রায়শই সমার্থক। উদাহরণ:
const float PI = 3.1415927; এখানে PI এর মান সবসময় একই থাকবে, ব্যবহারকারীর ইনপুট যাই হোক না কেন। অন্যদিকে, ভেরিয়েবল হলো এমন মান যা পরিবর্তনশীল। যেমন:
yard = mile * 1760; এখানে mile এর মান পরিবর্তনের সাথে সাথে yard এর মানও পরিবর্তিত হয়, তাই yard একটি ভেরিয়েবল।
আইডেন্টিফায়ার নাম
[সম্পাদনা]যখন কোনো আইটেম ঘোষণা বা সংজ্ঞায়িত হয়, তাকে একটি নাম (আইডেন্টিফায়ার) দ্বারা চিহ্নিত করা হয়। কনস্ট্যান্ট, ভেরিয়েবল, টাইপ ডেফিনিশন, ফাংশন ইত্যাদি আইটেমকে নাম দেওয়া যায়। এই নামগুলো আইটেমের কাজ নির্ধারণে সাহায্য করে।
ডেটা টাইপ
[সম্পাদনা]ডেটা টাইপ হলো ডেটার শ্রেণিবিভাগ যা কম্পাইলার বা ইন্টারপ্রেটারকে বলে দেয় প্রোগ্রামার ডেটাটি কীভাবে ব্যবহার করতে চায়। প্রধান পাঁচ ধরনের ডেটা টাইপ:
ইন্টিজার ডেটা টাইপ – ভগ্নাংশহীন পূর্ণসংখ্যা
ফ্লোটিং-পয়েন্ট ডেটা – বাস্তবসংখ্যার বৈজ্ঞানিক বা দশমিক রূপ
স্ট্রিং ডেটা টাইপ – অক্ষরের ধারা, যা লিটারাল কনস্ট্যান্ট বা ভেরিয়েবল হতে পারে
বুলিয়ান ডেটা টাইপ – দুইটি মানের মধ্যে একটি (true বা false)
নাথিং ডেটা টাইপ – কিছু ভাষায় ব্যবহৃত বিশেষ মান যা অনুপস্থিত বা ইনিশিয়ালাইজড না থাকা নির্দেশ করে, ০ নয়
অপারেশন এর ক্রম
[সম্পাদনা]গাণিতিক নিয়ম যা বলে দেয় কোন অপারেশন আগে হবে, যেমন গুণ ও ভাগ যোগ ও বিয়োগের আগে হয়।
অ্যাসাইনমেন্ট
[সম্পাদনা]অ্যাসাইনমেন্ট অপারেটর (=) একটি পরিবর্তনযোগ্য ডেটা অবজেক্ট (ভেরিয়েবল) এর মান সেট বা পরিবর্তন করে। বাম পাশের অপার্যান্ড (Lvalue) পরিবর্তনযোগ্য, ডান পাশের অপার্যান্ড (Rvalue) হলো মান যা সেট করা হয়। = এবং == অপারেটরের মধ্যে পার্থক্য বুঝতে হবে; == তুলনা করতে ব্যবহৃত হয়।
অ্যারিথমেটিক অপারেটর
[সম্পাদনা]অ্যারিথমেটিক অপারেশন হলো মৌলিক গাণিতিক কাজ যেমন যোগ, বিয়োগ, গুণ, ভাগ। এগুলো অপারেশন এর ক্রম অনুসরণ করে।
ইন্টিজার ডিভিশন ও মোডুলাস
[সম্পাদনা]ইন্টিজার ডিভিশন মানে পূর্ণসংখ্যার ভাগফল নেয়া এবং মোডুলাস হলো ভাগশেষ।
ইউনারি অপারেশন
[সম্পাদনা]একটি অপারেশন যেখানে মাত্র এক অপার্যান্ড থাকে, যেমন ইউনারি পজিটিভ (+) বা ইউনারি নেগেটিভ (-)।
Lvalue ও Rvalue
[সম্পাদনা]Lvalue হলো বাম পাশের, পরিবর্তনযোগ্য অভিব্যক্তি, Rvalue হলো ডান পাশের, পরিবর্তনযোগ্য নয় এমন মান।
ডেটা টাইপ কনভার্শন
[সম্পাদনা]ডেটা টাইপ পরিবর্তনকে টাইপ কনভার্শন বলা হয়, যা ইম্প্লিসিট (স্বতঃস্ফূর্ত) বা এক্সপ্লিসিট (পরিষ্কারভাবে নির্দেশিত) হতে পারে। ছোট ডোমেইন থেকে বড় ডোমেইনে পরিবর্তনকে প্রমোশন এবং বড় থেকে ছোটে পরিবর্তনকে ডিমোশন বলে।
ইনপুট-প্রসেস-আউটপুট মডেল
[সম্পাদনা]IPO (Input-Process-Output) মডেল হল প্রোগ্রাম কাঠামোর একটি সাধারণ মডেল যা ইনপুট গ্রহণ, প্রসেসিং এবং আউটপুট প্রদানের কাজকে বর্ণনা করে।
রিভিউ প্রশ্ন
[সম্পাদনা]সত্য/মিথ্যা
[সম্পাদনা]ডেটা টাইপ একটি মানের সেট ও সেই মানের উপর প্রয়োগযোগ্য অপারেশন নির্ধারণ করে। (সত্য)
সংরক্ষিত শব্দ (Reserved keywords) আইডেন্টিফায়ার নামে ব্যবহার করা যায়। (মিথ্যা)
অপারেটরের প্রাধান্য (precedence) বলে কোন অপারেশন আগে সম্পন্ন হবে, যেমন গুণ ও ভাগ যোগ-বিয়োগের আগে হয়। (সত্য)
দুই অপার্যান্ডের অপারেটর প্রয়োজন হলে অপার্যান্ডের একটিকে বড় টাইপে প্রমোট করে। (সত্য)
বন্ধনী (Parentheses) অপারেটরের প্রাধান্য পরিবর্তন করে। (সত্য)
ইন্টিজার ডেটা টাইপে মান Mantissa ও Exponent আকারে সংরক্ষিত হয়। (মিথ্যা)
বেশিরভাগ প্রোগ্রামিং ভাষায় স্ট্রিং একক উদ্ধৃতি চিহ্ন দিয়ে চিহ্নিত হয়। (মিথ্যা)
অপার্যান্ড মানে হলো সেই মান যা অপারেটরের ক্রিয়া প্রাপ্ত হয়। (সত্য)
অ্যারিথমেটিক অ্যাসাইনমেন্ট সংক্ষেপে কিছু অভিব্যক্তি লেখার উপায়। (সত্য)
ইন্টিজার ডিভিশন কম ব্যবহৃত। (মিথ্যা)
Nothing ডেটা টাইপ মান ০ এর সমান। (মিথ্যা)
বুলিয়ান ডেটা টাইপে দুই বা ততোধিক মান থাকতে পারে। (মিথ্যা)
কনস্ট্যান্ট তার মান পরিবর্তন করতে পারে। (মিথ্যা)
পাস্কাল কেস স্ট্যান্ডার্ডে সব ছোট হাতের অক্ষর এবং শব্দগুলো আলাদা করতে আন্ডারস্কোর ব্যবহার হয়। (মিথ্যা)
রেফারেন্স
[সম্পাদনা]Programming Fundamentals – A Modular Structured Approach using C++
Fundamentals - Assignment Chapter
Variables, expressions, and statements