ফোরট্রানে CHARACTER টাইপের ব্যবহার
ফোরট্রানে CHARACTER টাইপ ব্যবহার করা হয় এমন ভেরিয়েবল বা অ্যারের জন্য যা স্ট্রিং (অক্ষরের সিকোয়েন্স) ধারণ করে। ফোরট্রানে স্ট্রিং মানগুলি CHARACTER ডেটা টাইপে সংরক্ষিত হয় এবং এটি সাধারণত টেক্সট প্রক্রিয়াজাতকরণের জন্য ব্যবহৃত হয়।
১. CHARACTER ভেরিয়েবল ডিক্লেয়ারেশন
ফোরট্রানে CHARACTER ভেরিয়েবল ডিক্লেয়ার করতে, তার দৈর্ঘ্য (length) উল্লেখ করা হয়, অর্থাৎ ওই স্ট্রিংটির সর্বাধিক সংখ্যা কতটি অক্ষর ধারণ করতে পারবে।
সিনট্যাক্স:
CHARACTER(LEN=<length>) :: <variable_name>এখানে, <length> হলো স্ট্রিংয়ের দৈর্ঘ্য (অক্ষরের সংখ্যা), এবং <variable_name> হলো ভেরিয়েবলের নাম।
উদাহরণ:
CHARACTER(LEN=20) :: name ! স্ট্রিং ভেরিয়েবল name এর দৈর্ঘ্য ২০এটি name নামক একটি স্ট্রিং ভেরিয়েবল তৈরি করবে, যা সর্বোচ্চ ২০টি অক্ষর ধারণ করতে সক্ষম।
২. স্ট্রিং ইনিশিয়ালাইজেশন
ফোরট্রানে স্ট্রিং ভেরিয়েবল ইনিশিয়ালাইজ করতে, আপনি স্ট্রিং মান (value) সরাসরি অ্যাসাইন করতে পারেন।
উদাহরণ:
CHARACTER(LEN=20) :: name
name = 'John Doe' ! স্ট্রিং 'John Doe' ইনিশিয়ালাইজ করা হচ্ছে
PRINT *, 'Name: ', nameআউটপুট:
Name: John Doeএখানে, name ভেরিয়েবলকে 'John Doe' স্ট্রিং দিয়ে ইনিশিয়ালাইজ করা হয়েছে।
৩. স্ট্রিংয়ের দৈর্ঘ্য পরিবর্তন
স্ট্রিংয়ের দৈর্ঘ্য পরিবর্তন করতে LEN ফাংশন ব্যবহার করা যেতে পারে। এটি একটি স্ট্রিংয়ের আসল দৈর্ঘ্য প্রদান করে, যেখানে কোনো অতিরিক্ত স্পেস থাকে না।
উদাহরণ:
CHARACTER(LEN=20) :: name
name = 'John'
PRINT *, 'Length of name: ', LEN(name)আউটপুট:
Length of name: 4এখানে LEN(name) ফাংশন স্ট্রিং 'John' এর দৈর্ঘ্য (৪) প্রদান করেছে।
৪. স্ট্রিং যুক্তকরণ (String Concatenation)
ফোরট্রানে স্ট্রিংগুলি একত্রিত (concatenate) করার জন্য // অপারেটর ব্যবহার করা হয়।
উদাহরণ:
CHARACTER(LEN=20) :: first_name, last_name, full_name
first_name = 'John'
last_name = 'Doe'
full_name = first_name // ' ' // last_name ! স্ট্রিং যুক্তকরণ
PRINT *, 'Full Name: ', full_nameআউটপুট:
Full Name: John Doeএখানে, first_name এবং last_name স্ট্রিং দুটি একত্রিত করে full_name তৈরি করা হয়েছে।
৫. স্ট্রিংয়ের সাবস্ট্রিং (Substring) অ্যাক্সেস
ফোরট্রানে স্ট্রিংয়ের একটি অংশ (subtring) অ্যাক্সেস করতে // অপারেটর এবং : ব্যবহার করা হয়। এটি স্ট্রিংয়ের নির্দিষ্ট অংশ থেকে সাবস্ট্রিং তৈরির জন্য ব্যবহৃত হয়।
উদাহরণ:
CHARACTER(LEN=20) :: text
text = 'Hello, World!'
PRINT *, 'Substring: ', text(1:5) ! প্রথম ৫টি অক্ষরআউটপুট:
Substring: Helloএখানে text(1:5) প্রথম ৫টি অক্ষর, অর্থাৎ "Hello" স্ট্রিংটি প্রিন্ট করবে।
৬. স্ট্রিংয়ের তুলনা (String Comparison)
ফোরট্রানে স্ট্রিংয়ের তুলনা করা যায় == অপারেটর দিয়ে।
উদাহরণ:
CHARACTER(LEN=20) :: str1, str2
str1 = 'Apple'
str2 = 'Apple'
IF (str1 == str2) THEN
PRINT *, 'The strings are equal.'
ELSE
PRINT *, 'The strings are not equal.'
END IFআউটপুট:
The strings are equal.এখানে, str1 এবং str2 স্ট্রিং দুটি সমান হওয়ায় ফলস্বরূপ আউটপুট হয়েছে The strings are equal.
৭. স্ট্রিংয়ের ইনপুট
ফোরট্রানে স্ট্রিংয়ের ইনপুট নেওয়ার জন্য READ স্টেটমেন্ট ব্যবহার করা হয়।
উদাহরণ:
CHARACTER(LEN=20) :: name
PRINT *, 'Enter your name:'
READ *, name
PRINT *, 'Hello, ', nameএখানে ব্যবহারকারী name ইনপুট দেবে, এবং সেটি আউটপুট হিসেবে প্রিন্ট হবে।
উপসংহার
ফোরট্রানে CHARACTER টাইপ ব্যবহারের মাধ্যমে আপনি স্ট্রিং প্রক্রিয়াজাতকরণের জন্য বিভিন্ন কাজ করতে পারবেন, যেমন:
- স্ট্রিং ভেরিয়েবল ডিক্লেয়ারেশন এবং ইনিশিয়ালাইজেশন।
- স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ এবং সাবস্ট্রিং অ্যাক্সেস।
- স্ট্রিং যুক্তকরণ এবং তুলনা।
- ইনপুট/আউটপুট প্রসেসিং।
এগুলো স্ট্রিংয়ের উপর কার্যক্রম পরিচালনা করার জন্য ফোরট্রানে খুবই কার্যকর এবং সুবিধাজনক ফিচার।
Read more