Set এবং String Handling Functions গাইড ও নোট

Computer Programming - প্যাসক্যাল (Pascal) - Arrays এবং Strings (অ্যারে এবং স্ট্রিং)
225

প্যাসক্যাল ভাষায় 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) এবং এগুলোর উপর বিভিন্ন অপারেশন যেমন স্ট্রিংয়ের দৈর্ঘ্য বের করা, স্ট্রিংয়ের অংশ বের করা, স্ট্রিং একত্রিত করা ইত্যাদি করা সম্ভব।

প্যাসক্যাল স্ট্রিং হ্যান্ডলিং ফাংশন:

  1. Length: একটি স্ট্রিংয়ের দৈর্ঘ্য (characters count) প্রদান করে।

    var
      str: string;
    begin
      str := 'Hello, World!';
      writeln('Length of the string is: ', length(str));
    end.
  2. Concat: দুটি বা তার বেশি স্ট্রিং একত্রিত করে একটি নতুন স্ট্রিং তৈরি করে।

    var
      str1, str2, result: string;
    begin
      str1 := 'Hello, ';
      str2 := 'World!';
      result := concat(str1, str2);  // Hello, World!
      writeln(result);
    end.
  3. Copy: একটি স্ট্রিং থেকে নির্দিষ্ট অংশ কপি করে।

    var
      str, subStr: string;
    begin
      str := 'Hello, World!';
      subStr := copy(str, 1, 5);  // "Hello"
      writeln('Sub-string is: ', subStr);
    end.
  4. Pos: একটি সাবস্ট্রিং কোথায় প্রথম দেখা গেছে তা নির্ধারণ করে।

    var
      str: string;
    begin
      str := 'Hello, World!';
      writeln('Position of "World" is: ', pos('World', str));  // 8
    end.
  5. Delete: একটি স্ট্রিং থেকে নির্দিষ্ট অংশ মুছে ফেলে।

    var
      str: string;
    begin
      str := 'Hello, World!';
      delete(str, 7, 5);  // Removes 'World'
      writeln(str);  // "Hello, !"
    end.
  6. Insert: একটি স্ট্রিংয়ে নতুন অংশ যোগ করে নির্দিষ্ট অবস্থানে।

    var
      str: string;
    begin
      str := 'Hello, !';
      insert('World ', str, 7);  // Inserts 'World ' at position 7
      writeln(str);  // "Hello, World !"
    end.
  7. 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 স্ট্রিংগুলির উপর নানা ধরনের কার্যক্রম পরিচালনা করতে সহায়তা করে, যেমন দৈর্ঘ্য নির্ধারণ, স্ট্রিং একত্রিত করা, অংশ কপি করা, ছোট বা বড় হাতের অক্ষরে রূপান্তর ইত্যাদি। এগুলি প্যাসক্যাল প্রোগ্রামিংকে আরও শক্তিশালী এবং নমনীয় করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...