Skill

স্ট্রিং এবং অ্যারের মধ্যে পার্থক্য

String Handling in Fortran (স্ট্রিং ম্যানিপুলেশন) - ফোরট্রান (Fortran) - Computer Programming

427

স্ট্রিং এবং অ্যারের মধ্যে পার্থক্য (Difference Between Strings and Arrays in Fortran)

ফোরট্রান-এ স্ট্রিং এবং অ্যারে দুটি ভিন্ন ধরনের ডেটা স্ট্রাকচার, এবং তাদের ব্যবহারের উদ্দেশ্য ও বৈশিষ্ট্যও আলাদা। নিচে স্ট্রিং এবং অ্যারের মধ্যে পার্থক্যগুলো আলোচনা করা হলো:


১. ডেটা টাইপ

  • স্ট্রিং:

    • ফোরট্রান-এ স্ট্রিং একটি বিশেষ ধরনের ক্যারেক্টার অ্যারে, যা একাধিক ক্যারেক্টার ধারণ করতে পারে।
    • এটি character ডেটা টাইপের অংশ, এবং প্রতিটি স্ট্রিং একটি নির্দিষ্ট দৈর্ঘ্যের ক্যারেক্টারগুলির সমষ্টি হতে পারে।

    উদাহরণ:

    character(len=20) :: name
    name = "Fortran Programming"
  • অ্যারে:

    • অ্যারে একটি ডেটা স্ট্রাকচার যা একই ধরনের একাধিক উপাদান ধারণ করতে পারে। অ্যারেতে integer, real, logical, character ইত্যাদি বিভিন্ন ডেটা টাইপের উপাদান থাকতে পারে।
    • অ্যারেটি সাধারণত এক বা একাধিক মাত্রায় হতে পারে (যেমন এক-মাত্রিক, দুই-মাত্রিক অ্যারে)।

    উদাহরণ:

    integer, dimension(5) :: numbers
    numbers = (/1, 2, 3, 4, 5/)

২. ডেটা স্টোরেজ এবং ব্যবস্থাপনা

  • স্ট্রিং:

    • স্ট্রিংয়ের জন্য ফোরট্রান character(len=n) ফর্ম্যাট ব্যবহার করে একটি নির্দিষ্ট দৈর্ঘ্যের ক্যারেক্টার স্টোর করে।
    • স্ট্রিংয়ের দৈর্ঘ্য এবং এর মধ্যে থাকা চরিত্রের সংখ্যা নির্দিষ্ট থাকে, তবে এটি ভিন্ন হতে পারে (যেমন character(len=30) বা character(len=50))।

    উদাহরণ:

    character(len=10) :: word
    word = "Hello"
  • অ্যারে:

    • অ্যারে এক বা একাধিক ডেটা টাইপের উপাদান ধারণ করতে পারে এবং এর আকার রানটাইমের আগে নির্ধারণ করা হয় (যদি তা ডাইনামিক অ্যারে না হয়)।
    • অ্যারের উপাদানগুলি একই ডেটা টাইপের হতে হবে (যেমন সব উপাদান integer বা real হতে পারে)।

    উদাহরণ:

    real, dimension(3) :: numbers
    numbers = (/1.1, 2.2, 3.3/)

৩. ইনডেক্সিং

  • স্ট্রিং:

    • স্ট্রিংয়ের প্রতিটি চরিত্র একটি নির্দিষ্ট অবস্থানে (ইনডেক্সে) থাকে, এবং ফোরট্রান স্ট্রিংয়ের ক্যারেক্টারগুলি ১-ভিত্তিক ইনডেক্স ব্যবহার করে অ্যাক্সেস করা হয়।
    • স্ট্রিংয়ের জন্য ইনডেক্সের সীমা হলো ১ থেকে len(string)

    উদাহরণ:

    character(len=5) :: name
    name = "Fortran"
    print *, name(1)   ! Output: 'F'
  • অ্যারে:

    • অ্যারেগুলির উপাদানগুলি ইনডেক্সিং করে অ্যাক্সেস করা হয়, তবে ইনডেক্স ১-ভিত্তিক বা ০-ভিত্তিক হতে পারে, যা নির্ভর করে ডেটা টাইপের ওপর।

    উদাহরণ:

    integer, dimension(5) :: arr
    arr = (/1, 2, 3, 4, 5/)
    print *, arr(2)  ! Output: 2

৪. ডাইনামিক প্রকৃতি

  • স্ট্রিং:

    • ফোরট্রানে স্ট্রিং-এর দৈর্ঘ্য ফিক্সড থাকে, তবে আপনি ডাইনামিক স্ট্রিং তৈরি করতে পারেন, কিন্তু এটি সাধারণত কম ব্যবহৃত হয়।
    • স্ট্রিংটি নির্দিষ্ট দৈর্ঘ্যের ক্যারেক্টারের সমষ্টি হিসেবে ব্যবহৃত হয়।

    উদাহরণ:

    character(len=50) :: dynamic_string
    dynamic_string = "This is a dynamic string."
  • অ্যারে:

    • ফোরট্রান-এ অ্যারে ডাইনামিক হতে পারে, যার আকার প্রোগ্রাম চলাকালীন সময় পরিবর্তিত হতে পারে। এটি allocate এবং deallocate কমান্ডের মাধ্যমে মেমোরি বরাদ্দ এবং মুক্ত করা হয়।

    উদাহরণ:

    integer, allocatable :: arr(:)
    allocate(arr(10))   ! Dynamically allocate an array of size 10
    arr = (/1, 2, 3, 4, 5, 6, 7, 8, 9, 10/)

৫. কার্যকারিতা

  • স্ট্রিং:

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

    উদাহরণ:

    character(len=10) :: str1, str2
    str1 = "Hello"
    str2 = "World"
    str1 = trim(adjustl(str1)) // " " // trim(adjustl(str2))
    print *, str1  ! Output: "Hello World"
  • অ্যারে:

    • অ্যারে একাধিক ডেটা টাইপ ধারণ করতে পারে এবং এর মানের ওপর গাণিতিক অপারেশন করা যেতে পারে (যেমন অ্যারে যোগ, গুণ)।

    উদাহরণ:

    integer, dimension(5) :: arr1, arr2, result
    arr1 = (/1, 2, 3, 4, 5/)
    arr2 = (/5, 4, 3, 2, 1/)
    result = arr1 + arr2  ! Array addition

৬. প্রধান পার্থক্যগুলো সংক্ষেপে

বৈশিষ্ট্যস্ট্রিং (String)অ্যারে (Array)
ডেটা টাইপক্যারেক্টার টাইপএকাধিক ডেটা টাইপ হতে পারে
ইনডেক্সিং১-ভিত্তিক ইনডেক্সিং১-ভিত্তিক বা ০-ভিত্তিক ইনডেক্সিং
ব্যবহারটেক্সট বা চরিত্র ধারণএকাধিক সংখ্যামূলক বা অন্য ধরনের ডেটা
ডাইনামিকসাধারণত স্থির দৈর্ঘ্যডাইনামিক আকার হতে পারে (allocate)
কার্যকারিতাটেক্সট ম্যানিপুলেশন (কনক্যাটেনেশন, সাবস্ট্রিং)গাণিতিক অপারেশন (যোগ, গুণ, বিভাজন)

উপসংহার

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

Content added By
Promotion

Are you sure to start over?

Loading...