Subroutine এবং Function এর মধ্যে পার্থক্য

Procedures এবং Functions (প্রোসিডিউর এবং ফাংশনস) - ফোরট্রান (Fortran) - Computer Programming

349

ফোরট্রানে Subroutine এবং Function এর মধ্যে পার্থক্য

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


১. Subroutine (সাবরুটিন)

Subroutine হলো একটি ব্লক কোড যা এক বা একাধিক আর্গুমেন্ট (পারামিটার) গ্রহণ করে এবং নির্দিষ্ট কাজ সম্পাদন করে। সাবরুটিন কোনো মান ফেরত দেয় না, তবে এটি আর্গুমেন্টের মান পরিবর্তন করতে পারে এবং অন্যান্য পরিবর্তন করতে পারে।

সিনট্যাক্স:

SUBROUTINE <subroutine_name>(<arguments>)
    ! কোড
END SUBROUTINE <subroutine_name>

উদাহরণ:

PROGRAM example_subroutine
    INTEGER :: a, b
    a = 5
    b = 10

    CALL add_numbers(a, b)
    PRINT *, 'a = ', a
    PRINT *, 'b = ', b

CONTAINS

SUBROUTINE add_numbers(x, y)
    INTEGER :: x, y
    x = x + 1
    y = y + 2
END SUBROUTINE add_numbers

END PROGRAM example_subroutine

এখানে add_numbers সাবরুটিন a এবং b কে পরিবর্তন করবে, তবে এটি কোনো মান ফেরত দেয় না।


২. Function (ফাংশন)

Function হলো একটি বিশেষ ধরনের সাবরুটিন যা একটি মান ফেরত দেয়। এটি একটি নির্দিষ্ট কাজ সম্পাদন করে এবং একটি মান ফিরিয়ে দেয়। ফাংশন সাধারণত গণনা বা বিশ্লেষণ সংক্রান্ত কাজের জন্য ব্যবহৃত হয়।

সিনট্যাক্স:

FUNCTION <function_name>(<arguments>)
    ! কোড
    <function_name> = <return_value>
END FUNCTION <function_name>

উদাহরণ:

PROGRAM example_function
    REAL :: result
    result = square(5.0)
    PRINT *, 'The square of 5.0 is: ', result

CONTAINS

FUNCTION square(x)
    REAL :: square, x
    square = x * x
END FUNCTION square

END PROGRAM example_function

এখানে square ফাংশন একটি রিয়েল মান হিসেবে ফলাফল ফেরত দেয়, যা result ভেরিয়েবলে সংরক্ষিত হয়।


Subroutine এবং Function এর মধ্যে পার্থক্য:

বৈশিষ্ট্যSubroutineFunction
ফলাফলকোনো মান ফেরত দেয় না। এটি শুধুমাত্র কাজ সম্পাদন করে।একটি মান (ভ্যালু) ফেরত দেয়।
RETURN স্টেটমেন্টRETURN স্টেটমেন্ট ব্যবহার করা হয়, তবে কোনো মান ফেরত না দিয়ে সাবরুটিন থেকে বের হয়।ফাংশনে ফেরত দেওয়া মান অবশ্যই FUNCTION_NAME = value এর মাধ্যমে ফেরত দিতে হয়।
কলিং সেগমেন্টসাবরুটিন কল করার জন্য CALL স্টেটমেন্ট ব্যবহার করা হয়।ফাংশন কল করার জন্য সরাসরি নাম ব্যবহার করা হয় (যেমন, result = function_name(...))।
প্রকৃতিসাধারণত একাধিক আর্গুমেন্ট গ্রহণ করে এবং তাদের মান পরিবর্তন করে।সাধারণত একক আর্গুমেন্ট নিয়ে একটি নির্দিষ্ট কাজ করে এবং একটি মান ফেরত দেয়।
ভ্যালু রিটার্নকোনো মান ফেরত দেয় না, তবে আর্গুমেন্টের মান পরিবর্তন করতে পারে।একটি মান ফেরত দেয়।

উপসংহার

  • Subroutine ব্যবহার করা হয় যখন আপনি কোনো কাজ সম্পাদন করতে চান এবং কোনো মান ফেরত না দিয়ে আর্গুমেন্টগুলির মান পরিবর্তন করতে চান।
  • Function ব্যবহার করা হয় যখন একটি নির্দিষ্ট কাজ সম্পাদন করে একটি মান ফেরত দিতে হবে, যেমন গাণিতিক গণনা বা বিশ্লেষণ।

ফোরট্রানে যখনই কোনো প্রোগ্রাম লিখবেন, তখন আপনাকে বুঝে নিতে হবে কোন অবস্থায় সাবরুটিন বা ফাংশন ব্যবহার করবেন।

Content added By
Promotion

Are you sure to start over?

Loading...