ফোরট্রানের Built-in Intrinsic Functions এবং তাদের ব্যবহার
ফোরট্রান একটি শক্তিশালী প্রোগ্রামিং ভাষা যা অনেক ধরনের বিল্ট-ইন intrinsic functions সরবরাহ করে। এই ফাংশনগুলি সাধারণত গাণিতিক, স্ট্রিং, লজিক্যাল, ইনপুট/আউটপুট (I/O) এবং অন্যান্য কাজ সহজভাবে করতে ব্যবহৃত হয়। ফোরট্রানের ইনট্রিন্সিক ফাংশনগুলি ব্যবহার করে আপনি একাধিক জটিল কাজ যেমন গাণিতিক গণনা, স্ট্রিং অপারেশন, আর্গুমেন্টের মান যাচাই, সংখ্যা রাউন্ডিং ইত্যাদি দ্রুত ও সহজভাবে করতে পারেন।
নিচে ফোরট্রানের কিছু গুরুত্বপূর্ণ বিল্ট-ইন ইনট্রিন্সিক ফাংশন এবং তাদের ব্যবহার আলোচনা করা হলো।
১. গাণিতিক ইনট্রিন্সিক ফাংশন (Mathematical Intrinsic Functions)
ফোরট্রানে গাণিতিক ফাংশনগুলির মাধ্যমে বিভিন্ন গণনা যেমন পাই, লগারিদম, সাইন, কসমাইন, স্কয়ার রুট ইত্যাদি করা যায়।
উদাহরণ:
SQRT(x):xএর বর্গমূল বের করে।LOG(x):xএর প্রাকৃতিক লগারিদম বের করে।SIN(x):xএর সাইন বের করে।COS(x):xএর কসমাইন বের করে।EXP(x):eএরxতম শক্তি বের করে।ABS(x):xএর পরিমাণ বের করে (এটা সবসময় ধনাত্মক মান দেয়)।MOD(x, y):xকেyদিয়ে ভাগ করার পর যে ভাগশেষ থাকে তা বের করে।
উদাহরণ কোড:
PROGRAM math_example
REAL :: x, result
x = 25.0
result = SQRT(x) ! বর্গমূল বের করা
PRINT *, 'Square root of ', x, ' is ', result
result = LOG(x) ! প্রাকৃতিক লগারিদম বের করা
PRINT *, 'Natural log of ', x, ' is ', result
END PROGRAM math_exampleআউটপুট:
Square root of 25.0 is 5.000000
Natural log of 25.0 is 3.218876২. স্ট্রিং ইনট্রিন্সিক ফাংশন (String Intrinsic Functions)
ফোরট্রানে স্ট্রিং সংক্রান্ত বিভিন্ন কাজ যেমন স্ট্রিং দৈর্ঘ্য, সাবস্ট্রিং, স্ট্রিং ট্রিমিং ইত্যাদি করার জন্য বেশ কিছু বিল্ট-ইন ফাংশন রয়েছে।
উদাহরণ:
LEN(string): স্ট্রিংয়ের দৈর্ঘ্য বের করে।TRIM(string): স্ট্রিংয়ের ডান দিকের ফাঁকা জায়গাগুলি মুছে ফেলে।INDEX(string, substring): স্ট্রিংয়ের মধ্যে সাবস্ট্রিংয়ের প্রথম উপস্থিতি খুঁজে বের করে।ADJUSTL(string): স্ট্রিংয়ের বাম দিকে থাকা ফাঁকা জায়গাগুলি মুছে ফেলে।
উদাহরণ কোড:
PROGRAM string_example
CHARACTER(LEN=20) :: str, trimmed_str
INTEGER :: length
str = ' Hello, Fortran! '
length = LEN(str) ! স্ট্রিংয়ের দৈর্ঘ্য বের করা
PRINT *, 'Length of str: ', length
trimmed_str = TRIM(str) ! ট্রিম করা স্ট্রিং
PRINT *, 'Trimmed string: ', trimmed_str
END PROGRAM string_exampleআউটপুট:
Length of str: 20
Trimmed string: 'Hello, Fortran!'৩. লজিক্যাল ফাংশন (Logical Functions)
ফোরট্রানে লজিক্যাল ফাংশনগুলো ব্যবহৃত হয় শর্ত যাচাই করতে এবং সত্য/মিথ্যা (True/False) মান নির্ধারণ করতে।
উদাহরণ:
AND(a, b):aএবংbউভয়ের মান যদি সত্য হয় তবে এটি সত্য (True) ফেরত দেয়।OR(a, b):aঅথবাbকোন একটি যদি সত্য হয় তবে এটি সত্য (True) ফেরত দেয়।NOT(a):aএর বিপরীত মান (True এর পরিবর্তে False, বা False এর পরিবর্তে True) ফেরত দেয়।
উদাহরণ কোড:
PROGRAM logical_example
LOGICAL :: a, b
a = .TRUE.
b = .FALSE.
PRINT *, 'a AND b: ', AND(a, b)
PRINT *, 'a OR b: ', OR(a, b)
PRINT *, 'NOT a: ', NOT(a)
END PROGRAM logical_exampleআউটপুট:
a AND b: F
a OR b: T
NOT a: F৪. ডেটা টাইপ কনভার্সন ফাংশন (Data Type Conversion Functions)
ফোরট্রানে ডেটা টাইপ কনভার্সন করার জন্যও কিছু বিল্ট-ইন ফাংশন রয়েছে। যেমন:
REAL(x):xকে রিয়েল (floating point) টাইপে রূপান্তর করে।INT(x):xকে পূর্ণসংখ্যা (integer) টাইপে রূপান্তর করে।CHARACTER(x):xকে স্ট্রিং (character) টাইপে রূপান্তর করে।
উদাহরণ কোড:
PROGRAM type_conversion_example
INTEGER :: i
REAL :: r
CHARACTER(LEN=5) :: str
i = 5
r = REAL(i) ! পূর্ণসংখ্যাকে রিয়েল টাইপে কনভার্ট করা
PRINT *, 'Converted integer to real: ', r
str = CHARACTER(i) ! পূর্ণসংখ্যাকে স্ট্রিং টাইপে কনভার্ট করা
PRINT *, 'Converted integer to string: ', str
END PROGRAM type_conversion_exampleআউটপুট:
Converted integer to real: 5.000000
Converted integer to string: '5 '৫. অ্যারে ফাংশন (Array Functions)
ফোরট্রানে অ্যারে সম্পর্কিত কাজের জন্য কিছু বিল্ট-ইন ফাংশন রয়েছে, যেমন:
SUM(array): অ্যারের সব উপাদানের যোগফল বের করে।MAXVAL(array): অ্যারের সর্বোচ্চ মান বের করে।MINVAL(array): অ্যারের সর্বনিম্ন মান বের করে।SIZE(array): অ্যারের সাইজ বা উপাদানের সংখ্যা বের করে।
উদাহরণ কোড:
PROGRAM array_function_example
REAL, DIMENSION(5) :: arr
REAL :: total_sum
arr = [1.0, 2.0, 3.0, 4.0, 5.0]
total_sum = SUM(arr) ! অ্যারের উপাদান যোগফল
PRINT *, 'Sum of array: ', total_sum
PRINT *, 'Max value in array: ', MAXVAL(arr)
PRINT *, 'Size of array: ', SIZE(arr)
END PROGRAM array_function_exampleআউটপুট:
Sum of array: 15.000000
Max value in array: 5.000000
Size of array: 5উপসংহার
ফোরট্রান এর বিল্ট-ইন ইনট্রিন্সিক ফাংশনগুলি কোড লেখার সময় আপনার কাজকে সহজ এবং দ্রুত করে তোলে। এগুলি গাণিতিক, স্ট্রিং অপারেশন, লজিক্যাল ফাংশন, ডেটা টাইপ কনভার্সন, অ্যারে অপারেশন ইত্যাদি ক্ষেত্রের জন্য ব্যবহৃত হয়। এগুলির মাধ্যমে আপনি কম সময়ে জটিল কাজগুলো কার্যকর করতে পারেন, এবং কোডের কার্যকারিতা উন্নত করতে পারেন।
Read more