প্যাসক্যাল ভাষায় Set এবং String Handling Functions ডেটা সংরক্ষণ এবং প্রক্রিয়াকরণের জন্য গুরুত্বপূর্ণ সরঞ্জাম। এখানে আমরা এই দুটি বিষয় বিস্তারিতভাবে আলোচনা করব।
১. Set (সেট)
Set হলো একটি বিশেষ ধরনের ডেটা স্ট্রাকচার যা এক বা একাধিক অনন্য মান সংরক্ষণ করতে ব্যবহৃত হয়। এটি গুণগতভাবে সেট থিওরি (Mathematical Set Theory)-এর ওপর ভিত্তি করে তৈরি। একটি সেটের মধ্যে কোনো মান একাধিকবার থাকতে পারে না, অর্থাৎ এটি শুধুমাত্র একক মান সংরক্ষণ করে।
প্যাসক্যাল ভাষায় set ডেটা টাইপ ব্যবহার করতে হলে আপনাকে তার উপাদানের ধরন নির্দিষ্ট করতে হবে। সাধারণভাবে set ডেটা টাইপ সংখ্যা বা নির্দিষ্ট ধরণের ডেটা ধারণ করে থাকে।
Set ডেটা টাইপের সঠিক সিনট্যাক্স:
type
SetType = set of ElementType;এখানে ElementType হলো সেটের উপাদান, যেমন পূর্ণসংখ্যা (Integer), চর (Char) ইত্যাদি।
উদাহরণ:
program SetExample;
var
numbers: set of 1..10;
begin
numbers := [1, 3, 5, 7, 9]; // এক সেটের মধ্যে ১, ৩, ৫, ৭, ৯ মান সংরক্ষণ
writeln('Numbers in the set:');
writeln(numbers);
end.Set-এ কিছু কার্যকারী ফাংশন:
In: একটি উপাদান সেটের মধ্যে আছে কিনা তা চেক করে।
if 3 in numbers then writeln('3 is in the set');+ (Union): দুটি সেটের ইউনিয়ন করে।
numbers := numbers + [2, 4, 6];- (Difference): একটি সেট থেকে অন্য সেটের উপাদান বাদ দেয়।
numbers := numbers - [1, 3];*** (Intersection)**: দুটি সেটের ইন্টারসেকশন (common elements) বের করে।
var newSet: set of 1..10; newSet := numbers * [3, 5, 7];=: দুটি সেট সমান কিনা চেক করে।
if numbers = [1, 3, 5, 7, 9] then writeln('Sets are equal');
২. String Handling Functions (স্ট্রিং হ্যান্ডলিং ফাংশন)
প্যাসক্যাল ভাষায় স্ট্রিংগুলি ব্যবহার করার জন্য বিভিন্ন ফাংশন এবং প্রক্রিয়া রয়েছে। স্ট্রিং হচ্ছে অক্ষরের একটি সিকোয়েন্স (sequence) এবং এগুলোর উপর বিভিন্ন অপারেশন যেমন স্ট্রিংয়ের দৈর্ঘ্য বের করা, স্ট্রিংয়ের অংশ বের করা, স্ট্রিং একত্রিত করা ইত্যাদি করা সম্ভব।
প্যাসক্যাল স্ট্রিং হ্যান্ডলিং ফাংশন:
Length: একটি স্ট্রিংয়ের দৈর্ঘ্য (characters count) প্রদান করে।
var str: string; begin str := 'Hello, World!'; writeln('Length of the string is: ', length(str)); end.Concat: দুটি বা তার বেশি স্ট্রিং একত্রিত করে একটি নতুন স্ট্রিং তৈরি করে।
var str1, str2, result: string; begin str1 := 'Hello, '; str2 := 'World!'; result := concat(str1, str2); // Hello, World! writeln(result); end.Copy: একটি স্ট্রিং থেকে নির্দিষ্ট অংশ কপি করে।
var str, subStr: string; begin str := 'Hello, World!'; subStr := copy(str, 1, 5); // "Hello" writeln('Sub-string is: ', subStr); end.Pos: একটি সাবস্ট্রিং কোথায় প্রথম দেখা গেছে তা নির্ধারণ করে।
var str: string; begin str := 'Hello, World!'; writeln('Position of "World" is: ', pos('World', str)); // 8 end.Delete: একটি স্ট্রিং থেকে নির্দিষ্ট অংশ মুছে ফেলে।
var str: string; begin str := 'Hello, World!'; delete(str, 7, 5); // Removes 'World' writeln(str); // "Hello, !" end.Insert: একটি স্ট্রিংয়ে নতুন অংশ যোগ করে নির্দিষ্ট অবস্থানে।
var str: string; begin str := 'Hello, !'; insert('World ', str, 7); // Inserts 'World ' at position 7 writeln(str); // "Hello, World !" end.UpperCase / LowerCase: স্ট্রিংয়ের সব অক্ষরকে বড় হাতের বা ছোট হাতের অক্ষরে পরিবর্তন করে।
var str: string; begin str := 'Hello'; writeln(upperCase(str)); // "HELLO" writeln(lowerCase(str)); // "hello" end.
সারাংশ
Set এবং String Handling Functions প্যাসক্যাল ভাষার গুরুত্বপূর্ণ অংশ। Set ব্যবহার করে আপনি একাধিক মান সংরক্ষণ, মুছে ফেলা, ইউনিয়ন বা ইন্টারসেকশন করতে পারেন, যা গাণিতিক সেটের মতো কাজ করে। অন্যদিকে, String Handling Functions স্ট্রিংগুলির উপর নানা ধরনের কার্যক্রম পরিচালনা করতে সহায়তা করে, যেমন দৈর্ঘ্য নির্ধারণ, স্ট্রিং একত্রিত করা, অংশ কপি করা, ছোট বা বড় হাতের অক্ষরে রূপান্তর ইত্যাদি। এগুলি প্যাসক্যাল প্রোগ্রামিংকে আরও শক্তিশালী এবং নমনীয় করে তোলে।
Read more