প্রোগ্রামিংয়ের মৌলিক ধারণা/রিটার্ন স্টেটমেন্ট
সংক্ষিপ্ত বিবরণ
[সম্পাদনা]রিটার্ন স্টেটমেন্ট কম্পিউটার প্রোগ্রামিং ভাষার অন্তর্গত ফাংশন নামক গঠন কাঠামোর গুরুত্বপূর্ন অংশ। রিটার্ন স্টেটমেন্ট -এর মাধ্যমে কোন ফাংশনের সমাপ্তি ঘোষণা করা হয়। এছাড়াও আমরা জানি যে কম্পিউটার প্রোগ্রামে কোন ফাংশনের কার্যকলাপের সূচনা কেবল তখনই হয় যখন প্রোগ্রামের প্রধান ফাংশন main() (অথবা অন্য যে কোন ফাংশন) -এর তরফ থেকে তাকে কল করা হয়। কল করার পর ফাংশন তার ভেতরে লিখিত নির্দেশাবলী বা কোড অনুসারে কার্য সম্পাদন করে main() ফাংশন (অথবা অন্য যে ফাংশন থেকে কল করা হয়েছিল) তাকে একটি নির্দিষ্ট মান ফেরত দেওয়ার জন্য রিটার্ন স্টেটমেন্টের সহায়তা নেয়। বেশিরভাগ প্রোগ্রামিং ভাষায় return স্টেটমেন্টের মাধ্যমে ফাংশন তার আউটপুট মান ফেরত পাঠায়। তবে কোন কোন ক্ষেত্রে ফাংশন কোন আউটপুট মান ফেরত না ও পাঠাতে পারে।[১]
বিশদ আলোচনা
[সম্পাদনা]রিটার্ন স্টেটমেন্ট একটি ফাংশনের কার্যসম্পাদন চূড়ান্ত করে এবং main() ফাংশন (অথবা অন্য যে ফাংশন থেকে কল করা হয়) -কে একটি মান ফেরত দেয়। তবে কোনো কোনো ক্ষেত্রে কোন ফাংশন আউটপুট হিসাবে কোন মান প্রেরন না ও করতে পারে। নিচে একটি ছদ্ম-কোড বা সিউডোকোডের[২] মাধ্যমে return স্টেটমেন্টের কার্যকারিতার বিশদ ব্যাখা দেওয়া হল:
Function Main
...
Assign fahrenheit = GetFahrenheit()
...
End
Function GetFahrenheit
Declare Real fahrenheit
Output "Enter Fahrenheit temperature:"
Input fahrenheit
Return Real fahrenheit
এখানে প্রোগ্রামের প্রধান ফাংশন Main ফাংশন, GetFahrenheit নামক ফাংশনকে কল করে কিন্তু তার ইনপুট প্যারামিটারে কোন রকম তথ্য প্রদান করেনা। কল করার পর প্রোগ্রামের নিয়ন্ত্রন চলে যায় GetFahrenheit ফাংশন -এর কাছে যেটি তার অন্তর্লিখিত কোড বা নির্দেশাবলী অনুসারে ব্যবহারকারীর কাছ থেকে ইনপুট তথ্য সংগ্রহ করে এবং সেই মানটি GetFahrenheit ফাংশনের অন্তরবর্তী fahrenheit নামক ভেরিয়েবলে সংরক্ষিত হয়। GetFahrenheit ফাংশনের কারযকারিতা শেষ হওয়ার পর, রিটার্ন স্টেটমেন্ট Return -এর মাধ্যমে মূল ফাংশন Main ফাংশনে GetFahrenheit ভেরিয়েবলের মান ফেরত পাঠায়। লক্ষনীয় যে এই Main ফাংশন কোনো মান ফেরত দেয় না। সেই ফাংশনে কোনপ্রকার রিটার্ন স্টেটমেন্ট -এর উপস্থিতি নেই। অর্থাৎ ফাংশনে রিটার্ন স্টেটমেন্ট -এর উপস্থিতি আবশ্যিক নয়।
এখানে লক্ষণীয় যে প্রতিটি ফাংশন স্বতন্ত্র এবং প্রত্যেক ফাংশনের নিজ নিজ ভেরিয়েবল থাকে। উপরের সিউডোকোডে যদিও Main এবং GetFahrenheit -এই দুইটি ফাংশনেই fahrenheit নামক ভেরিয়েবলের উপস্থিতি আছে কিন্তু তারা সমনামের হলেও এক নয়। কম্পিউটারের মেমোরিতে এই দুটি সমনামের ভেরিয়েবল দুটি ভিন্ন ভিন্ন অবস্থানে থাকে।
ফাংশন কল করার পর যখন তার ইনপুট প্যারামিটারে কোন আর্গুমেন্ট বা তথ্য প্রদান করা হয় (যাতে সেই তথ্য অনুযায়ী ফাংশন তার নিজস্ব কাজ সম্পাদন করে একটি মান ফেরত দিতে পারে) তখন সাধারণত ইনপুট প্যারামিটারের অবস্থান অনুযায়ী সেই আর্গুমেন্ট প্রেরন করা হয়। সেভাবেই ইনপুট প্যারামিটারের অবস্থান নজরে রেখেই return স্টেটমেন্টের মাধ্যমে ফাংশনের আউটপুট প্রেরন করা হয় (বিশেষ করে কোন ফাংশনে যখন একের অধিক মান আউটপুট হিসাবে প্রেরন করতে হয়, তখনই এই পদ্ধতি কাজে লাগে)।
উপরিউক্ত সিউডোকডটিকে নিম্নরূপেও লেখা যায়,
Function Main
...
Assign fahrenheit = GetTemperature()
...
End
Function GetTemperature
Declare Real temperature
Output "Enter Fahrenheit temperature:"
Input temperature
Return Real temperature
বেশিরভাগ আধুনিক প্রোগ্রামিং ভাষাতে যখন কোন ফাংশনে রিটার্ন স্টেটমেন্ট -এর মাধ্যমে কোন মান ফেরত দেওয়ার কোড বা সাংকেতিক নির্দেশ থাকেনা তখন কম্পিউটার প্রোগ্রামের বৈশ্বিক নিয়ম অনুসারে নির্দিষ্ট ফাংশনটি প্রধানত শূন্য বা যেকোন একটি সিস্টেম নির্দেশিত মান আউটপুট হিসাবে প্রেরন করে। কিছু পুরনো প্রোগ্রামিং ভাষায় return মানের কোন অস্তিত্ব বা প্রয়োগ ছিল না। সে সব প্রোগ্রামিং ভাষাগুলিতে ফাংশনকে subroutine বলা হতো। আবার কিছু প্রোগ্রামিং ভাষায় একের অধিক মান আউটপুট হিসাবে রিটার্ন বা ফেরত দেওয়ার সুবিধা করেছে। তবে বিষয়ের সহজতার খাতিরে এইখানে আমরা যেকোন ফাংশনের দ্বারা, return স্টেটমেন্টের মাধ্যমে শুধুমাত্র আউটপুট একক মান প্রেরন অথবা কোনো আউটপুট মান প্রেরন না করা -এই দুই বিষয়েই আলোচনা সীমাবদ্ধ রাখলাম।
পরিভাষাসমূহ
[সম্পাদনা]- রিটার্ন
- কম্পিউটার প্রোগ্রামের বিশেষ নিয়ন্ত্রণ কাঠামো যা একটি ফাংশনের সমাপ্তি ঘোষনা করতে এবং আউটপুট মান প্রেরন করতে সহায়তা করে।