Skill

ডেটা টাইপস এবং অপারেটরস (Data Types and Operators)

প্যাসক্যাল (Pascal) - Computer Programming

250

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


প্যাসক্যাল ডেটা টাইপস

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

১. Integer

  • পূর্ণসংখ্যা ডেটা টাইপ, অর্থাৎ যে সংখ্যা দশমিকের পর কোনও মান না রেখে শুধুমাত্র পূর্ণসংখ্যা হিসেবে ব্যবহার করা হয়।
  • উদাহরণ: 5, -10, 200
var
  num: Integer;
begin
  num := 10;
  writeln(num);
end.

২. Real

  • দশমিক সংখ্যার জন্য ব্যবহৃত ডেটা টাইপ, যা ফ্লোটিং পয়েন্ট সংখ্যা ধারণ করতে পারে।
  • উদাহরণ: 3.14, -0.001, 200.5
var
  num: Real;
begin
  num := 3.14;
  writeln(num);
end.

৩. Char

  • একক অক্ষর ধারণ করার জন্য ব্যবহৃত ডেটা টাইপ। এটি সাধারণত একটি অক্ষর বা সিম্বল স্টোর করতে ব্যবহৃত হয়।
  • উদাহরণ: 'A', 'b', '%'
var
  letter: Char;
begin
  letter := 'A';
  writeln(letter);
end.

৪. String

  • একাধিক অক্ষরের একটি সেট, যা সাধারণত স্ট্রিং হিসাবে পরিচিত। এটি পাঠ্য বা বাক্য ধারণ করতে ব্যবহৃত হয়।
  • উদাহরণ: 'Hello, World!', 'Pascal'
var
  greeting: String;
begin
  greeting := 'Hello, World!';
  writeln(greeting);
end.

৫. Boolean

  • লজিক্যাল ডেটা টাইপ, যার মান হতে পারে True বা False
  • উদাহরণ: True, False
var
  isActive: Boolean;
begin
  isActive := True;
  writeln(isActive);
end.

৬. Array

  • একই ধরনের একাধিক ডেটা স্টোর করার জন্য ব্যবহৃত ডেটা টাইপ। এটি একটি সংগঠিত কন্টেইনার, যাতে একাধিক মান রাখা যায়।
var
  numbers: array[1..5] of Integer;
begin
  numbers[1] := 10;
  numbers[2] := 20;
  writeln(numbers[1]);
  writeln(numbers[2]);
end.

৭. File

  • ফাইলের সাথে সম্পর্কিত ডেটা পরিচালনা করতে ব্যবহৃত ডেটা টাইপ। এটি ফাইল পাঠনা এবং লেখার জন্য ব্যবহৃত হয়।
var
  f: file of Integer;
begin
  assign(f, 'data.dat');
  rewrite(f);
  write(f, 100);
  close(f);
end.

প্যাসক্যাল অপারেটরস (Operators)

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

১. অ্যারিথমেটিক অপারেটরস (Arithmetic Operators)

  • এই অপারেটরগুলো গণনা বা অ্যারিথমেটিক হিসাব করতে ব্যবহৃত হয়।
  • + : যোগ
  • - : বিয়োগ
  • * : গুণ
  • / : ভাগ
  • div : পূর্ণ সংখ্যা ভাগ
  • mod : মডুলাস (বাকী)
  • abs : মানের পরিস্কার (অস্তিত্ব)
var
  a, b, c: Integer;
begin
  a := 10;
  b := 5;
  c := a + b;
  writeln('Sum: ', c);
end.

২. রিলেশনাল অপারেটরস (Relational Operators)

  • এই অপারেটরগুলো দুটি মানের মধ্যে তুলনা করতে ব্যবহৃত হয়। এর মাধ্যমে শর্ত যাচাই করা হয়।
  • = : সমান
  • <> : সমান নয়
  • < : ছোট
  • > : বড়
  • <= : ছোট অথবা সমান
  • >= : বড় অথবা সমান
var
  a, b: Integer;
begin
  a := 10;
  b := 20;
  if a < b then
    writeln('a is smaller than b');
end.

৩. লজিক্যাল অপারেটরস (Logical Operators)

  • এই অপারেটরগুলো শর্তের ভিত্তিতে লজিক্যাল মূল্য নির্ধারণ করতে ব্যবহৃত হয়।
  • and : এবং
  • or : অথবা
  • not : নয়
var
  a, b: Boolean;
begin
  a := True;
  b := False;
  if a and not b then
    writeln('Condition is true');
end.

৪. ব্যাখ্যামূলক অপারেটরস (Assignment Operators)

  • := : একটি ভেরিয়েবলে মান অ্যাসাইন করা
var
  a: Integer;
begin
  a := 10;
  writeln('Value of a: ', a);
end.

সারাংশ

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

Content added By

প্রিমিটিভ ডেটা টাইপস এমন ডেটা টাইপ যা সরাসরি ভেরিয়েবল বা কনস্ট্যান্টের মান হিসেবে ব্যবহার হয় এবং যেগুলির মাধ্যমে কম্পিউটারের মেমরিতে মূল তথ্য রাখা হয়। প্যাসক্যাল প্রোগ্রামিং ভাষায় কিছু সাধারণ প্রিমিটিভ ডেটা টাইপ রয়েছে যেগুলি বিভিন্ন ধরনের তথ্য প্রতিনিধিত্ব করে। এখানে আমরা চারটি গুরুত্বপূর্ণ প্রিমিটিভ ডেটা টাইপ সম্পর্কে আলোচনা করব: Integer, Real, Char, এবং Boolean


১. Integer

Integer ডেটা টাইপ পূর্ণসংখ্যা (whole number) ধারণ করতে ব্যবহৃত হয়। এটি কোনো দশমিক বা ভগ্নাংশ থাকতে পারে না, শুধু পুরা সংখ্যা (ধনাত্মক, ঋণাত্মক, অথবা শূন্য) থাকতে পারে।

  • সীমা: সাধারণত Integer টাইপের মানের পরিসীমা প্যাসক্যাল কম্পাইলার বা সিস্টেমের উপর নির্ভরশীল। তবে অধিকাংশ সময় এটি -32768 থেকে 32767 এর মধ্যে থাকে।
  • ব্যবহার: গণনা, সংখ্যা নির্ধারণ, এবং কাউন্টিং।

উদাহরণ:

var
  x: Integer;
begin
  x := 10;
  writeln('The value of x is: ', x);
end.

২. Real

Real ডেটা টাইপটি দশমিক বা ফ্লোটিং পয়েন্ট সংখ্যা (যেমন: 3.14, -0.5) ধারণ করতে ব্যবহৃত হয়। এটি সঠিক মান সহ দশমিক সংখ্যা সংরক্ষণ করতে সক্ষম।

  • সীমা: Real টাইপের সংখ্যা সাধারণত অনেক বড় বা ছোট হতে পারে, দশমিক স্থান (precision) এবং পরিসীমা সিস্টেমের উপর নির্ভর করে।
  • ব্যবহার: গাণিতিক গণনা, মাপ এবং পরিমাপ।

উদাহরণ:

var
  y: Real;
begin
  y := 3.14;
  writeln('The value of y is: ', y);
end.

৩. Char

Char ডেটা টাইপ একক অক্ষর (character) ধারণ করতে ব্যবহৃত হয়। এটি একক ক্যারেক্টার (যেমন, 'A', 'b', '1', বা বিশেষ চিহ্ন) সংরক্ষণ করে।

  • সীমা: এটি Unicode বা ASCII কোড সিস্টেম অনুযায়ী একটি একক অক্ষর ধারণ করতে সক্ষম।
  • ব্যবহার: পাঠ্য বা স্ট্রিংয়ের একক অক্ষরকে চিহ্নিত করা, এবং ব্যবহারকারীর ইনপুট গ্রহণের জন্য।

উদাহরণ:

var
  ch: Char;
begin
  ch := 'A';
  writeln('The character is: ', ch);
end.

৪. Boolean

Boolean ডেটা টাইপটি দুইটি মান (True বা False) ধারণ করতে ব্যবহৃত হয়। এটি সাধারণত শর্তপূর্ণ পরীক্ষা, লজিক্যাল গাণিতিক অপারেশন, এবং নিয়ন্ত্রণ কাঠামোর মধ্যে ব্যবহৃত হয়।

  • সীমা: শুধুমাত্র দুইটি মান—True (যা 1 এর সমান) অথবা False (যা 0 এর সমান)।
  • ব্যবহার: শর্তাবলী, লজিক্যাল অপারেশন, এবং নিয়ন্ত্রণ কাঠামো (যেমন if, while, for লুপ)।

উদাহরণ:

var
  isValid: Boolean;
begin
  isValid := True;
  if isValid then
    writeln('The condition is valid.')
  else
    writeln('The condition is not valid.');
end.

সারাংশ

প্যাসক্যাল প্রোগ্রামিং ভাষায় Integer, Real, Char, এবং Boolean প্রিমিটিভ ডেটা টাইপগুলি গুরুত্বপূর্ণ ভূমিকা পালন করে। এগুলি বিভিন্ন ধরনের ডেটা সংরক্ষণ এবং গাণিতিক বা লজিক্যাল অপারেশন সম্পাদন করতে ব্যবহৃত হয়।

  • Integer: পূর্ণসংখ্যা
  • Real: দশমিক সংখ্যা
  • Char: একক অক্ষর
  • Boolean: সত্য/মিথ্যা মান

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

Content added By

প্যাসক্যাল ভাষায় Enumerated এবং Subrange দুটি ডেটা টাইপ রয়েছে, যা প্রোগ্রামারদের নির্দিষ্ট মানের মধ্যে সঞ্চালন করতে সাহায্য করে। এই দুটি টাইপ প্রোগ্রামিংয়ের উন্নত কাঠামো তৈরি করতে ব্যবহৃত হয়, যেখানে নির্দিষ্ট সীমার মধ্যে ভ্যালু কাস্টমাইজ করা যায়।


১. Enumerated টাইপ

Enumerated টাইপ হল এমন একটি ডেটা টাইপ যা নির্দিষ্ট কিছু মান (values) বা কনস্ট্যান্টগুলির সমষ্টি প্রতিনিধিত্ব করে। এটি এমন সময় ব্যবহৃত হয় যখন আমাদের একটি ডেটা টাইপের মধ্যে পূর্বনির্ধারিত মান গুলির মধ্যে কোন একটিকে নির্বাচন করতে হয়।

উদাহরণ:

program EnumeratedExample;
type
  DaysOfWeek = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
var
  today: DaysOfWeek;
begin
  today := Friday;  { আজ শুক্রবার }
  writeln('Today is: ', today);
end.

এই প্রোগ্রামে DaysOfWeek একটি Enumerated টাইপ হিসেবে ঘোষণা করা হয়েছে, যেখানে সাতটি দিন (Sunday থেকে Saturday) মান হিসেবে ব্যবহার করা হয়েছে। আমরা today নামক ভেরিয়েবলটি ব্যবহার করে কোন দিনকে সেট করতে পারি।

Enumerated টাইপের বৈশিষ্ট্য:

  • মানের সীমা: Enumerated টাইপের মধ্যে একটি সীমাবদ্ধ সেট থাকে, যা আগেই নির্ধারিত থাকে।
  • ভ্যালু নির্বাচন: প্রোগ্রামে আমরা সেগুলির মধ্যে যেকোনো একটিকে নির্বাচন করতে পারি।
  • সংরক্ষণ: এই ধরনের টাইপ সাধারণত খুব কম মেমরি জায়গা নেয় কারণ প্রতিটি মানের একটি অর্ডার বা ইন্ডেক্স থাকে।

২. Subrange টাইপ

Subrange টাইপ হল একটি ডেটা টাইপ যা নির্দিষ্ট সংখ্যার রেঞ্জের মধ্যে মান গুলিকে সীমাবদ্ধ করে। এটি প্যাসক্যালের একটি শক্তিশালী বৈশিষ্ট্য, যেখানে আপনি একটি পূর্ণসংখ্যা বা অন্যান্য ডেটা টাইপের সীমা নির্দিষ্ট করতে পারেন।

উদাহরণ:

program SubrangeExample;
type
  Age = 0..120;  { Age টাইপ একটি Subrange টাইপ }
var
  myAge: Age;
begin
  myAge := 25;  { বয়স ২৫ }
  writeln('Your age is: ', myAge);
end.

এখানে, Age হল একটি Subrange টাইপ, যেখানে বয়সের জন্য সীমা ০ থেকে ১২০ পর্যন্ত নির্ধারণ করা হয়েছে। এর ফলে, myAge ভেরিয়েবলটি শুধুমাত্র ০ থেকে ১২০ এর মধ্যে যে কোন ভ্যালু ধারণ করতে পারে।

Subrange টাইপের বৈশিষ্ট্য:

  • সীমাবদ্ধতা: এটি একটি নির্দিষ্ট সীমার মধ্যে ডেটা প্রবাহ পরিচালনা করতে ব্যবহৃত হয়।
  • সংরক্ষণ: এটি সাধারণত অনেক কম মেমরি ব্যবহার করে, কারণ আপনি একটি নির্দিষ্ট পরিসরের মধ্যে মান সেট করতে পারেন।
  • যাচাই: যখন কোন মান এই সীমার বাইরে চলে যায়, তখন একটি ত্রুটি ঘটবে (যেমন: ১৫০ যদি Age টাইপে সংরক্ষিত হয়)।

Enumerated এবং Subrange টাইপের তুলনা

বৈশিষ্ট্যEnumerated টাইপSubrange টাইপ
প্রকারনির্দিষ্ট মানের সেটএকটি সংখ্যার বা মানের রেঞ্জ
ডেটা টাইপএকাধিক কনস্ট্যান্ট মানএকটি পরিসরের মধ্যে সীমাবদ্ধ মান
ব্যবহারনির্দিষ্ট মানের নির্বাচনসংখ্যার সীমা বা সীমাবদ্ধ রেঞ্জের জন্য
সীমামানের সংখ্যা নির্ধারিতসর্বনিম্ন এবং সর্বোচ্চ মান দিয়ে সীমাবদ্ধ

সারাংশ

Enumerated এবং Subrange টাইপগুলি প্যাসক্যাল ভাষায় ডেটা পরিচালনার উন্নত উপায় হিসেবে ব্যবহৃত হয়। Enumerated টাইপ নির্দিষ্ট কিছু মানের মধ্যে সীমাবদ্ধ থাকে, যেখানে Subrange টাইপ একটি সংখ্যার পরিসরের মধ্যে মান সঞ্চালন করতে ব্যবহৃত হয়। এই দুটি টাইপই প্রোগ্রামিংয়ের গঠন ও কোডের দক্ষতা বৃদ্ধি করতে সাহায্য করে।

Content added By

অ্যারিথমেটিক অপারেটরগুলি গণনা বা গণনার সম্পর্কিত অপারেশন সম্পাদন করে, যেমন যোগ, বিয়োগ, গুণ, ভাগ, ইত্যাদি। প্যাসক্যাল ভাষায় এই অপারেটরগুলি প্রাথমিক গণনা করতে ব্যবহৃত হয়।

প্যাসক্যালের অ্যারিথমেটিক অপারেটরস:

অপারেটরবিবরণউদাহরণ
+যোগa + b
-বিয়োগa - b
*গুণa * b
/ভাগ (ফ্লোটিং পয়েন্ট)a / b
divপূর্ণসংখ্যার ভাগ (Integer Division)a div b
modমডুলাস (বাকি অংশ)a mod b

উদাহরণ:

program ArithmeticExample;
var
  a, b: Integer;
begin
  a := 10;
  b := 5;
  
  writeln('Sum: ', a + b);
  writeln('Difference: ', a - b);
  writeln('Product: ', a * b);
  writeln('Quotient (floating point): ', a / b);
  writeln('Integer Division: ', a div b);
  writeln('Modulus: ', a mod b);
end.

রিলেশনাল অপারেটরস (Relational Operators)

রিলেশনাল অপারেটরগুলি দুটি মানের মধ্যে সম্পর্ক নির্ধারণ করে। এগুলি সাধারণত শর্ত (condition) পরীক্ষা করতে ব্যবহৃত হয়।

প্যাসক্যালের রিলেশনাল অপারেটরস:

অপারেটরবিবরণউদাহরণ
=সমানa = b
<>সমান নয়a <> b
<ছোটa < b
>বড়a > b
<=ছোট বা সমানa <= b
>=বড় বা সমানa >= b

উদাহরণ:

program RelationalExample;
var
  a, b: Integer;
begin
  a := 10;
  b := 5;
  
  if a = b then
    writeln('a is equal to b')
  else
    writeln('a is not equal to b');
  
  if a > b then
    writeln('a is greater than b');
end.

লজিক্যাল অপারেটরস (Logical Operators)

লজিক্যাল অপারেটরগুলি শর্তের উপর ভিত্তি করে যৌক্তিক (logical) সিদ্ধান্ত নেয়। এটি সাধারণত শর্তাবলী একত্রিত করতে ব্যবহৃত হয়, যেমন যদি দুটি বা তার বেশি শর্ত একসাথে সত্য (true) বা মিথ্যা (false) হতে পারে।

প্যাসক্যালের লজিক্যাল অপারেটরস:

অপারেটরবিবরণউদাহরণ
andদুটি শর্তই সত্য হলে ফলাফল সত্যa > b and b > 0
orঅন্তত একটি শর্ত সত্য হলে ফলাফল সত্যa > b or b = 0
notশর্তটি মিথ্যা হলে ফলাফল সত্যnot (a = b)

উদাহরণ:

program LogicalExample;
var
  a, b: Integer;
begin
  a := 10;
  b := 5;
  
  if (a > b) and (b > 0) then
    writeln('Both conditions are true');
  
  if (a > b) or (b = 0) then
    writeln('At least one condition is true');
  
  if not (a = b) then
    writeln('a is not equal to b');
end.

সারাংশ

  • অ্যারিথমেটিক অপারেটরস: গণনার জন্য ব্যবহৃত হয় (যেমন যোগ, বিয়োগ, গুণ, ভাগ)।
  • রিলেশনাল অপারেটরস: দুটি মানের মধ্যে সম্পর্ক পরীক্ষা করে (যেমন সমান, ছোট, বড়)।
  • লজিক্যাল অপারেটরস: শর্তাবলী একত্রিত করার জন্য ব্যবহৃত হয় (যেমন and, or, not)।

এই অপারেটরগুলি প্রোগ্রামিংয়ের ভিত্তি গঠন করে এবং বিভিন্ন প্রোগ্রামিং কার্য সম্পাদনে ব্যবহৃত হয়।

Content added By

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


টাইপ কনভারশন (Type Conversion)

টাইপ কনভারশন হলো একটি ডেটা টাইপের মানকে অন্য ডেটা টাইপে রূপান্তর করার প্রক্রিয়া। প্যাসক্যালের মতো ভাষায় টাইপ কনভারশন সাধারণত দুইভাবে হয়ে থাকে:

  1. অটো টাইপ কনভারশন (Implicit Type Conversion):

    • এই প্রক্রিয়ায় কম্পাইলার স্বয়ংক্রিয়ভাবে একটি টাইপ থেকে অন্য টাইপে ডেটা রূপান্তর করে। এটি তখন ঘটে যখন একটি কম্প্যাটিবল টাইপে ডেটা রূপান্তরের প্রয়োজন হয়, যেমন পূর্ণসংখ্যা (Integer) থেকে দশমিক (Real) রূপান্তর।

    উদাহরণ:

    var
      a: Integer;
      b: Real;
    begin
      a := 10;
      b := a;  // implicit type conversion from Integer to Real
      writeln(b);  // Output: 10.0
    end.
  2. এক্সপ্লিসিট টাইপ কনভারশন (Explicit Type Conversion):

    • এক্সপ্লিসিট টাইপ কনভারশনে প্রোগ্রামার নিজে টাইপ রূপান্তর নির্দেশ করেন। এটি সাধারণত typecasting বা type conversion functions ব্যবহার করে করা হয়।

    উদাহরণ:

    var
      a: Real;
      b: Integer;
    begin
      a := 5.75;
      b := Round(a);  // explicit type conversion from Real to Integer
      writeln(b);  // Output: 6
    end.

    এখানে Round ফাংশনটি Real টাইপের মানকে Integer টাইপে কনভার্ট করে।


টাইপ চেকিং (Type Checking)

টাইপ চেকিং হলো একটি প্রক্রিয়া যা প্রোগ্রামটি কম্পাইল করার সময় নিশ্চিত করে যে টাইপগুলো সঠিকভাবে ব্যবহৃত হচ্ছে এবং কোন ধরনের টাইপের মধ্যে অযৌক্তিক রূপান্তর বা অপারেশন হচ্ছে না। এটি প্রোগ্রামারকে টাইপ সম্পর্কিত ত্রুটি এবং ভুল কম্পাইলেশনের পূর্বে চিহ্নিত করতে সাহায্য করে।

টাইপ চেকিং সাধারণত দুই ধরনের হয়:

  1. স্ট্যাটিক টাইপ চেকিং (Static Type Checking):

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

    উদাহরণ:

    var
      a: Integer;
      b: String;
    begin
      a := 10;
      b := a;  // Error: Incompatible types: Integer and String
    end.

    এখানে a (Integer) এবং b (String) এর মধ্যে মান হস্তান্তর করা হয়েছে, যা স্ট্যাটিক টাইপ চেকিং দ্বারা একটি ত্রুটি হিসেবে চিহ্নিত হবে।

  2. ডাইনামিক টাইপ চেকিং (Dynamic Type Checking):

    • এই প্রক্রিয়ায় টাইপ চেকিং রানটাইমে (প্রোগ্রাম চলার সময়) ঘটে। এটি তখন হয় যখন টাইপ চেকিং কম্পাইলার পর্যায়ে না হয়ে প্রোগ্রাম রান করার সময় করা হয়। সাধারণত, ডাইনামিক টাইপিং ভাষাগুলিতে এই চেকিং করা হয়।

    উদাহরণ (ডাইনামিক টাইপিং):

    var
      a: Variant;
    begin
      a := 'Hello, World!';
      writeln(a);  // Output: Hello, World!
      a := 10;
      writeln(a);  // Output: 10
    end.

    এখানে a একটি Variant টাইপ, যা ডাইনামিকভাবে টাইপ চেকিংয়ের মাধ্যমে মান গ্রহণ করতে পারে। এটি রানটাইমে যে কোন টাইপে কনভার্ট হতে পারে।


সারাংশ

  • টাইপ কনভারশন (Type Conversion) ডেটার একটি টাইপ থেকে অন্য টাইপে রূপান্তরের প্রক্রিয়া। এটি অটো বা এক্সপ্লিসিট হতে পারে।
  • টাইপ চেকিং (Type Checking) একটি প্রক্রিয়া যা প্রোগ্রামটির টাইপ সঠিক কিনা তা যাচাই করে, যাতে টাইপ সম্পর্কিত কোনো ত্রুটি না ঘটে। এটি স্ট্যাটিক বা ডাইনামিক হতে পারে।

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

Content added By
Promotion

Are you sure to start over?

Loading...