Computer Programming Function এবং Subroutine ডিক্লারেশন গাইড ও নোট

300

ফোরট্রানে Function এবং Subroutine ডিক্লারেশন

ফোরট্রানে Function এবং Subroutine হল কোডের পুনঃব্যবহারযোগ্য ইউনিট, যা প্রোগ্রামটিকে আরও মডুলার এবং পরিচালনা সহজ করে তোলে। Function এবং Subroutine উভয়ই নির্দিষ্ট কাজ সম্পাদন করার জন্য ব্যবহৃত হয়, তবে তাদের মধ্যে কিছু পার্থক্য রয়েছে।


১. Function ডিক্লারেশন

ফোরট্রানে Function হল একটি ব্লক কোড যা একটি মান (value) রিটার্ন করে। এটি সাধারণত একটি নির্দিষ্ট গণনা বা লজিক্যাল কাজ করার জন্য ব্যবহৃত হয়, এবং একটি single value রিটার্ন করতে সক্ষম। Function ডিক্লারেশনের সময়, আপনাকে ফাংশনের নাম এবং তার রিটার্ন টাইপ (data type) নির্ধারণ করতে হবে।

Function ডিক্লারেশনের সাধারণ গঠন:

function function_name(arguments)
  ! function body
end function function_name
  • function_name: ফাংশনের নাম।
  • arguments: ফাংশনটির জন্য ইনপুট আর্গুমেন্ট বা প্যারামিটার।

ফাংশন ডিক্লারেশন উদাহরণ:

program function_example
  implicit none
  real :: result
  real :: a, b

  ! মান ইনপুট
  a = 5.0
  b = 10.0

  ! ফাংশন কল
  result = add_numbers(a, b)

  print *, "The result is: ", result

contains

  ! ফাংশন ডিক্লারেশন
  function add_numbers(x, y)
    real :: add_numbers
    real :: x, y

    add_numbers = x + y  ! ফাংশনটি দুইটি সংখ্যা যোগ করে রিটার্ন করবে
  end function add_numbers

end program function_example

এখানে:

  • add_numbers হল একটি ফাংশন যা দুইটি real ধরণের আর্গুমেন্ট গ্রহণ করে এবং তাদের যোগফল রিটার্ন করে।
  • ফাংশনটি add_numbers = x + y এইভাবে কাজ করে, যেখানে এটি x এবং y যোগ করে তার ফলাফল রিটার্ন করে।

ফাংশনের বৈশিষ্ট্য:

  • ফাংশনটি সাধারণত একটি একক মান রিটার্ন করে।
  • ফাংশন কলের মাধ্যমে এর রিটার্ন মান কোডে ব্যবহার করা যায়।
  • ফাংশন ডিক্লারেশন এর মাধ্যমে ইনপুট প্যারামিটার এবং রিটার্ন টাইপের মধ্যে সম্পর্ক স্থাপন করা হয়।

২. Subroutine ডিক্লারেশন

ফোরট্রানে Subroutine একটি কোড ব্লক যা কোনো মান রিটার্ন করে না, বরং এটি সরাসরি কার্যকরী কোড চালায়। Subroutine সাধারণত একাধিক আর্গুমেন্ট গ্রহণ করতে পারে এবং কোডের পুনঃব্যবহারযোগ্য অংশ হিসেবে ব্যবহৃত হয়।

Subroutine ডিক্লারেশনের সাধারণ গঠন:

subroutine subroutine_name(arguments)
  ! subroutine body
end subroutine subroutine_name
  • subroutine_name: সাবরুটিনের নাম।
  • arguments: সাবরুটিনের ইনপুট প্যারামিটার (ঐচ্ছিক)।

সাবরুটিন ডিক্লারেশন উদাহরণ:

program subroutine_example
  implicit none
  real :: a, b

  ! মান ইনপুট
  a = 5.0
  b = 10.0

  ! সাবরুটিন কল
  call add_numbers(a, b)

contains

  ! সাবরুটিন ডিক্লারেশন
  subroutine add_numbers(x, y)
    real :: x, y

    print *, "The sum of ", x, " and ", y, " is: ", x + y
  end subroutine add_numbers

end program subroutine_example

এখানে:

  • add_numbers হল একটি সাবরুটিন যা দুটি আর্গুমেন্ট নেয় এবং তাদের যোগফল স্ক্রীনে প্রিন্ট করে।
  • call কিওয়ার্ডটি সাবরুটিনটি কল করার জন্য ব্যবহৃত হয়।
  • সাবরুটিন কোনো মান রিটার্ন করে না, এটি সরাসরি কার্যক্রম সম্পাদন করে।

সাবরুটিনের বৈশিষ্ট্য:

  • সাবরুটিন কোনো মান রিটার্ন করে না, তবে এটি ইনপুট আর্গুমেন্ট পরিবর্তন করতে পারে (যদি তা intent(inout) বা intent(out) হিসেবে ডিক্লেয়ার করা থাকে)।
  • Subroutine-এর মধ্যে কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করা যায়, যা একই কাজ বারবার করতে ব্যবহৃত হয়।

৩. ফাংশন এবং সাবরুটিনের মধ্যে পার্থক্য

বৈশিষ্ট্যFunctionSubroutine
রিটার্ন মানএকটি একক মান রিটার্ন করেকোনো মান রিটার্ন করে না
কল পদ্ধতিফাংশন কল করার মাধ্যমে ব্যবহৃত হয়call কিওয়ার্ড ব্যবহার করে কল করা হয়
ইনপুট প্যারামিটারশুধুমাত্র আর্গুমেন্ট গ্রহণ করেআর্গুমেন্ট গ্রহণ করতে পারে, তবে এটি মান রিটার্ন করে না
ব্যবহারগাণিতিক বা লজিক্যাল ফলাফল রিটার্ন করতে ব্যবহৃতকোডের কার্যক্রম সম্পাদন করতে ব্যবহৃত

৪. ইনপুট প্যারামিটার এবং আর্গুমেন্ট ম্যানিপুলেশন

ফোরট্রানে intent কিওয়ার্ড ব্যবহার করে আপনি একটি প্যারামিটারের উদ্দেশ্য নির্ধারণ করতে পারেন, যেমন intent(in), intent(out), অথবা intent(inout)

উদাহরণ:

program argument_example
  implicit none
  real :: a, b

  a = 5.0
  b = 10.0

  call multiply(a, b)

  print *, 'The value of a after subroutine call: ', a
  print *, 'The value of b after subroutine call: ', b

contains

  subroutine multiply(x, y)
    real :: x, y

    ! x কে পরিবর্তন না করে y এর মান গুণ করা
    x = x * y
    y = y * 2
  end subroutine multiply

end program argument_example

এখানে:

  • x = x * y: x এর মান পরিবর্তন করা হয়েছে।
  • y = y * 2: y এর মান পরিবর্তন করা হয়েছে।

এটি দেখায় যে intent(inout) বা intent(out) প্যারামিটারগুলির মাধ্যমে ইনপুট এবং আউটপুট প্যারামিটার ম্যানিপুলেশন সম্ভব।


উপসংহার

ফোরট্রানে Function এবং Subroutine উভয়ই কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করতে ব্যবহৃত হয়, তবে তাদের মধ্যে মৌলিক পার্থক্য রয়েছে। Function একটি একক মান রিটার্ন করে, যেখানে Subroutine সরাসরি কার্যক্রম সম্পাদন করে এবং কোনো মান রিটার্ন করে না। এই দুটি কৌশল আপনাকে আরও মডুলার এবং কার্যকর প্রোগ্রাম তৈরি করতে সাহায্য করবে।

Content added By
Promotion

Are you sure to start over?

Loading...