ফোরট্রানে Mathematical Functions এবং Built-in Functions এর ধারণা
ফোরট্রান একটি শক্তিশালী প্রোগ্রামিং ভাষা, যা গাণিতিক গণনা এবং বৈজ্ঞানিক বিশ্লেষণের জন্য ব্যাপকভাবে ব্যবহৃত হয়। Mathematical Functions এবং Built-in Functions ফোরট্রানে বিভিন্ন ধরনের গাণিতিক কাজ এবং অন্যান্য সাধারণ কার্যাবলী সম্পাদন করতে সহায়ক। ফোরট্রানে বিভিন্ন বিল্ট-ইন গাণিতিক ফাংশন এবং অন্যান্য সুবিধা রয়েছে যা প্রোগ্রামিং সহজ করে তোলে।
১. Mathematical Functions (গাণিতিক ফাংশন)
ফোরট্রানে কিছু মৌলিক গাণিতিক ফাংশন রয়েছে যা সাধারন গাণিতিক কাজের জন্য ব্যবহৃত হয়, যেমন যোগ, বিয়োগ, গুণ, ভাগ, এবং অন্যান্য জটিল গাণিতিক ফাংশন যেমন বর্গমূল, ত্রিকোণমিতিক ফাংশন ইত্যাদি।
সাধারণ গাণিতিক ফাংশন:
ABS(x): সংখ্যাটির পরম (absolute) মান প্রদান করে।
real :: x x = -5.3 print *, abs(x) ! আউটপুট হবে 5.3SQRT(x): সংখ্যার বর্গমূল প্রদান করে।
real :: x x = 16.0 print *, sqrt(x) ! আউটপুট হবে 4.0EXP(x): একটি বাস্তব সংখ্যার প্রাকৃতিক লগারিদমের জন্য এক্সপোনেনশিয়াল প্রদান করে, \( e^x \)।
real :: x x = 2.0 print *, exp(x) ! আউটপুট হবে 7.389LOG(x): একটি বাস্তব সংখ্যার প্রাকৃতিক লগারিদম প্রদান করে।
real :: x x = 10.0 print *, log(x) ! আউটপুট হবে 2.3026MOD(x, y): x এবং y-এর মধ্যে ভাগফল থেকে অবশিষ্টাংশ প্রদান করে।
real :: x, y x = 10.0 y = 3.0 print *, mod(x, y) ! আউটপুট হবে 1.0SIN(x), COS(x), TAN(x): যথাক্রমে সাইন, কোসাইন, এবং ট্যানজেন্ট ফাংশন।
real :: angle angle = 1.5708 ! π/2 print *, sin(angle) ! আউটপুট হবে 1.0 print *, cos(angle) ! আউটপুট হবে 0.0 print *, tan(angle) ! আউটপুট হবে অপরিসীম (Infinity)ASIN(x), ACOS(x), ATAN(x): যথাক্রমে আর্কসাইন, আর্ককোসাইন এবং আর্কট্যানজেন্ট ফাংশন।
real :: x x = 0.5 print *, asin(x) ! আউটপুট হবে 0.5236 (π/6) print *, acos(x) ! আউটপুট হবে 1.0472 (π/3) print *, atan(x) ! আউটপুট হবে 0.4636SINH(x), COSH(x), TANH(x): সাইন, কোসাইন এবং ট্যানজেন্ট ফাংশনগুলির হাইপারবোলিক সংস্করণ।
real :: x x = 1.0 print *, sinh(x) ! আউটপুট হবে 1.1752 print *, cosh(x) ! আউটপুট হবে 1.5431 print *, tanh(x) ! আউটপুট হবে 0.7616
২. Built-in Functions (বিল্ট-ইন ফাংশন)
ফোরট্রানে Built-in Functions হল এমন ফাংশনগুলি যা ফোরট্রান কম্পাইলারে আগে থেকেই অন্তর্ভুক্ত থাকে এবং সাধারণত বিভিন্ন কার্যাবলী সম্পাদন করার জন্য ব্যবহৃত হয়। এগুলির মধ্যে মেমরি ব্যবস্থাপনা, আই/ও অপারেশন, স্ট্রিং ম্যানিপুলেশন, এবং ডেটা টাইপ কনভার্সন সম্পর্কিত ফাংশন অন্তর্ভুক্ত থাকে।
কিছু গুরুত্বপূর্ণ Built-in Functions:
ICHAR(string): একটি স্ট্রিংয়ের প্রথম অক্ষরের ASCII মান প্রদান করে।
character(len=10) :: str str = "Hello" print *, ichar(str) ! আউটপুট হবে 72 (ASCII মান 'H' এর)CHAR(i): একটি পূর্ণসংখ্যা (ASCII মান) থেকে চরিত্র তৈরি করে।
integer :: i i = 65 print *, char(i) ! আউটপুট হবে 'A'LEN(string): একটি স্ট্রিং এর দৈর্ঘ্য প্রদান করে।
character(len=10) :: str str = "Hello" print *, len(str) ! আউটপুট হবে 5TRANSFER(data, type): একটি ডেটা টাইপকে অন্য টাইপে রূপান্তরিত করে।
real :: r integer :: i r = 3.14 i = transfer(r, i) print *, i ! আউটপুট হবে 1078523331 (রূপান্তরের জন্য বাইনারি মান)MAX(x, y), MIN(x, y): দুটি সংখ্যার মধ্যে সর্বোচ্চ বা সর্বনিম্ন মান প্রদান করে।
real :: a, b a = 5.0 b = 10.0 print *, max(a, b) ! আউটপুট হবে 10.0 print *, min(a, b) ! আউটপুট হবে 5.0- MOD(x, y): x এর y দ্বারা ভাগফল থেকে অবশিষ্টাংশ প্রদান করে (আগেই আলোচনা করা হয়েছে)।
AMAX1(array): একটি অ্যারে থেকে সর্বোচ্চ মান প্রদান করে।
real :: arr(5) arr = [1.0, 3.5, 2.0, 5.1, 4.0] print *, amax1(arr) ! আউটপুট হবে 5.1NINT(x): একটি রিয়েল সংখ্যাকে নিকটতম পূর্ণসংখ্যায় রূপান্তরিত করে।
real :: x x = 3.6 print *, nint(x) ! আউটপুট হবে 4REAL(i): একটি পূর্ণসংখ্যা টাইপ ভেরিয়েবলকে বাস্তব (real) টাইপে রূপান্তরিত করে।
integer :: i real :: r i = 5 r = real(i) print *, r ! আউটপুট হবে 5.0
উপসংহার
ফোরট্রানে Mathematical Functions এবং Built-in Functions খুবই গুরুত্বপূর্ণ, কারণ তারা প্রোগ্রামের কার্যকারিতা উন্নত করতে সাহায্য করে এবং গাণিতিক এবং অন্যান্য কাজকে দ্রুত এবং নির্ভুলভাবে সম্পাদন করতে পারে। ফোরট্রানের গাণিতিক ফাংশনগুলি যেমন বর্গমূল, ত্রিকোণমিতিক ফাংশন এবং হাইপারবোলিক ফাংশন, এবং বিল্ট-ইন ফাংশনগুলি যেমন স্ট্রিং ম্যানিপুলেশন, টাইপ কনভার্সন, এবং ম্যাথমেটিক্যাল অপারেশনগুলি কোড লেখা সহজ করে তোলে এবং কার্যক্ষমতা বাড়ায়।
Read more