প্যাসক্যাল প্রোগ্রামিং ভাষায় অ্যারে একটি ডেটা স্ট্রাকচার যা একাধিক মান একত্রে সংরক্ষণ করতে ব্যবহৃত হয়। প্রতিটি মানের একটি নির্দিষ্ট ইন্ডেক্স থাকে, যা দিয়ে অ্যারের কোনো উপাদান অ্যাক্সেস করা হয়। অ্যারে ব্যবহার করে আপনি একই ধরনের ডেটা গুচ্ছ একটি একক ভেরিয়েবলে রাখতে পারেন।
অ্যারে ইন্ডেক্সিং (Array Indexing)
প্যাসক্যাল ভাষায় অ্যারের ইন্ডেক্সিং শূন্য (০) থেকে শুরু হয়। অর্থাৎ, অ্যারের প্রথম উপাদানের ইন্ডেক্স ০ হবে, দ্বিতীয় উপাদানের ইন্ডেক্স ১ হবে, এবং তেমনি পরবর্তী উপাদানের ইন্ডেক্স বৃদ্ধি পাবে।
উদাহরণ:
program ArrayExample;
var
numbers: array[0..4] of Integer; { একটি অ্যারে ঘোষণা যা ৫টি পূর্ণসংখ্যা ধারণ করবে (0 থেকে 4) }
begin
numbers[0] := 10; { প্রথম উপাদানে ১০ অ্যাসাইন করা হচ্ছে }
numbers[1] := 20; { দ্বিতীয় উপাদানে ২০ অ্যাসাইন করা হচ্ছে }
numbers[2] := 30; { তৃতীয় উপাদানে ৩০ অ্যাসাইন করা হচ্ছে }
numbers[3] := 40; { চতুর্থ উপাদানে ৪০ অ্যাসাইন করা হচ্ছে }
numbers[4] := 50; { পঞ্চম উপাদানে ৫০ অ্যাসাইন করা হচ্ছে }
writeln('The value at index 0: ', numbers[0]); { অ্যারের প্রথম উপাদান প্রদর্শন হবে }
writeln('The value at index 1: ', numbers[1]); { অ্যারের দ্বিতীয় উপাদান প্রদর্শন হবে }
end.উপরে, numbers নামক একটি অ্যারে ডিক্লেয়ার করা হয়েছে, যেটি ৫টি পূর্ণসংখ্যা ধারণ করতে সক্ষম (ইন্ডেক্স ০ থেকে ৪)। তারপর, প্রতিটি উপাদানে মান অ্যাসাইন করা হয়েছে এবং সেগুলো প্রদর্শন করা হয়েছে।
অ্যারে এর সাথে বিভিন্ন অপারেশন
প্যাসক্যাল ভাষায় অ্যারে ব্যবহার করে বিভিন্ন ধরনের অপারেশন করা যায়। এই অপারেশনগুলো অ্যারের উপাদান অ্যাক্সেস, মান পরিবর্তন, অ্যারে শিরোনাম (size) এবং আরও অনেক কিছু নিয়ে কাজ করে।
১. অ্যারে উপাদান অ্যাক্সেস (Accessing Array Elements)
অ্যারের একটি নির্দিষ্ট উপাদান অ্যাক্সেস করতে, আপনি ইন্ডেক্স ব্যবহার করেন। উদাহরণ:
writeln('The third element is: ', numbers[2]); { তৃতীয় উপাদান (ইন্ডেক্স ২) প্রদর্শন হবে }২. অ্যারের উপাদান পরিবর্তন (Modifying Array Elements)
অ্যারের কোন উপাদানের মান পরিবর্তন করতে, ইন্ডেক্স এবং নতুন মানের সাহায্যে আপনি সেটি করতে পারেন।
numbers[1] := 100; { দ্বিতীয় উপাদানটি ১০০ করে পরিবর্তন করা হবে }৩. অ্যারে শিরোনাম নির্ধারণ (Array Size)
প্যাসক্যাল ভাষায় অ্যারের আকার (size) কম্পাইল টাইমে নির্ধারণ করতে হয়, কিন্তু আপনি অ্যারের শেষ ইন্ডেক্স (উদাহরণস্বরূপ, ৪) জানলে তার আকার বের করতে পারেন।
writeln('Size of array: ', High(numbers) - Low(numbers) + 1);এখানে, High(numbers) অ্যারের সর্বোচ্চ ইন্ডেক্স এবং Low(numbers) অ্যারের সর্বনিম্ন ইন্ডেক্স দেয়। তাদের পার্থক্য এবং ১ যোগ করে অ্যারের আকার বের করা হয়।
৪. অ্যারে লুপিং (Looping Through an Array)
অ্যারের সমস্ত উপাদান একে একে প্রসেস করতে আপনি লুপ ব্যবহার করতে পারেন। সাধারণত for লুপ অ্যারের মধ্যে মান বাছাই করার জন্য ব্যবহার হয়।
for i := Low(numbers) to High(numbers) do
writeln('Element at index ', i, ' is: ', numbers[i]);এখানে Low(numbers) এবং High(numbers) ব্যবহার করে অ্যারের শুরু এবং শেষ ইন্ডেক্স চিহ্নিত করা হয়েছে এবং লুপের মাধ্যমে অ্যারের সমস্ত উপাদান প্রদর্শন করা হচ্ছে।
৫. অ্যারে ইনিশিয়ালাইজেশন (Array Initialization)
প্যাসক্যাল ভাষায় আপনি অ্যারের উপাদানগুলো একসঙ্গে ইনিশিয়ালাইজ করতে পারেন।
var
numbers: array[0..4] of Integer = (10, 20, 30, 40, 50); { অ্যারে একসাথে ইনিশিয়ালাইজ করা হয়েছে }এভাবে আপনি একটি অ্যারে এক লাইনে ডিফাইন এবং ইনিশিয়ালাইজ করতে পারবেন।
৬. মাল্টিডাইমেনশনাল অ্যারে (Multidimensional Arrays)
প্যাসক্যাল ভাষায় মাল্টিডাইমেনশনাল অ্যারে তৈরি করা সম্ভব। এটি একাধিক সারি এবং কলাম সহ একটি অ্যারে।
var
matrix: array[1..2, 1..3] of Integer;
begin
matrix[1, 1] := 10;
matrix[1, 2] := 20;
matrix[1, 3] := 30;
matrix[2, 1] := 40;
matrix[2, 2] := 50;
matrix[2, 3] := 60;
writeln('Matrix element at (1,1): ', matrix[1, 1]);
writeln('Matrix element at (2,3): ', matrix[2, 3]);
end.এখানে matrix নামক ২x৩ আকারের একটি মাল্টিডাইমেনশনাল অ্যারে তৈরি করা হয়েছে, যেখানে দুটি সারি এবং তিনটি কলাম রয়েছে।
সারাংশ
- অ্যারে ইন্ডেক্সিং: প্যাসক্যাল ভাষায় অ্যারের ইন্ডেক্স শূন্য (০) থেকে শুরু হয়।
- অ্যারে অপারেশন: অ্যারে উপাদান অ্যাক্সেস, মান পরিবর্তন, লুপিং, মাল্টিডাইমেনশনাল অ্যারে, ইনিশিয়ালাইজেশন ইত্যাদি অপারেশন করা যায়।
- অ্যারে শিরোনাম: অ্যারের আকার নির্ধারণের জন্য
Low()এবংHigh()ফাংশন ব্যবহার করা হয়।
অ্যারে ব্যবহারের মাধ্যমে আপনি একাধিক ডেটা একই ধরনের ভেরিয়েবলগুলোর মধ্যে সহজেই সংরক্ষণ ও প্রসেস করতে পারবেন, যা আপনার প্রোগ্রামিংকে আরও সহজ এবং কার্যকরী করে তোলে।
Read more