پروگرامنگ میں ایک فنکشن کیا ہے؟

پروگرامنگ میں ایک فنکشن کیا ہے؟

کیا آپ اکثر اپنے کوڈ کو اپنے پروگرام کے مختلف حصوں میں دوبارہ استعمال کرنے کے لیے اپنے کوڈ کو کاپی اور پیسٹ کرتے ہوئے پاتے ہیں؟





اگر ایسا ہے تو ، آپ افعال کے استعمال پر غور کرنا چاہیں گے۔ افعال پروگرامنگ زبانوں کی ایک بہت طاقتور خصوصیت ہیں۔ وہ کوڈ کو زیادہ موثر ، پڑھنے میں آسان اور خوبصورت بنا سکتے ہیں۔





ایک فنکشن کیا ہے؟

فنکشن کوڈ کا ایک بلاک ہے جو کسی کام کو انجام دیتا ہے۔ اسے کئی بار بلایا اور دوبارہ استعمال کیا جا سکتا ہے۔ آپ معلومات کو کسی فنکشن میں منتقل کر سکتے ہیں اور یہ معلومات واپس بھیج سکتا ہے۔ بہت سی پروگرامنگ لینگویجز میں بلٹ ان فنکشن ہوتے ہیں جن تک آپ ان کی لائبریری میں رسائی حاصل کر سکتے ہیں ، لیکن آپ اپنے فنکشن بھی بنا سکتے ہیں۔





جب آپ کسی فنکشن کو کال کرتے ہیں تو ، پروگرام موجودہ پروگرام کو روک دے گا اور فنکشن پر عمل کرے گا۔ فنکشن اوپر سے نیچے تک پڑھا جائے گا۔ ایک بار جب فنکشن مکمل ہوجاتا ہے ، پروگرام چلتا رہتا ہے جہاں اسے روک دیا گیا تھا۔ اگر فنکشن نے کوئی ویلیو لوٹائی تو وہ ویلیو استعمال ہوگی جہاں فنکشن بلایا گیا تھا۔

آپ فنکشن کیسے لکھتے ہیں؟

افعال لکھنے کے بہت سے مختلف طریقے ہیں۔ صحیح نحو کا انحصار اس زبان پر ہوگا جس میں آپ پروگرامنگ کر رہے ہیں۔ ہم پروگرامنگ نحو کی ایک حد کو ظاہر کرنے کے لیے ازگر ، جاوا اسکرپٹ ، اور C ++ میں مثالیں دکھائیں گے۔



متعلقہ: پروگرامنگ زبانیں افعال کے بغیر کیوں موجود نہیں ہوسکتی ہیں۔

افعال باطل۔

پہلی قسم کا فنکشن جسے ہم دیکھیں گے وہ ایک باطل فنکشن ہے۔ اس کا سیدھا مطلب یہ ہے کہ فنکشن کوئی قیمت واپس نہیں کرتا۔ باطل افعال ہدایات کا ایک سیٹ مکمل کرنے کے لیے استعمال ہوتے ہیں۔ ان مثالوں میں ، جو فنکشن ہم نے لکھا ہے اسے کہتے ہیں۔ ہیلو فنکشن . فنکشن کا مقصد آؤٹ پٹ 'ہیلو ورلڈ' ہے۔





ٹپ: افعال کے نام دیں جو وضاحت کرتے ہیں کہ وہ کیا کرتے ہیں۔ افعال کو سنبھالنا اور کوڈ کو پڑھنا آسان ہوگا کیونکہ آپ کا پروگرام زیادہ پیچیدہ ہوجاتا ہے۔

ازگر۔





def helloFunction():
print('Hello World')
helloFunction()

مطلوبہ الفاظ دفاع ایک فنکشن کی وضاحت اور تخلیق کے لیے ازگر میں استعمال کیا جاتا ہے۔ اگلا ، فنکشن کا نام ہے۔ فنکشن میں دی گئی ہدایات بڑی آنت کے بعد اگلی لائن پر عمل کرتی ہیں۔ ازگر میں سفید جگہ اہم ہے ، لہذا ان تمام کوڈ کو انڈینٹ کرنا یقینی بنائیں جو آپ چاہتے ہیں کہ آپ کا فنکشن چلے۔ مندرجہ بالا مثال میں ، فنکشن کوڈ کی ایک لائن چلاتا ہے۔

آپ کی گہری آنکھوں نے اس پر توجہ دی ہوگی۔ پرنٹ کریں() ایک فنکشن بھی ہے ، لیکن اسے ہمارے فنکشن سے مختلف کہا جاتا ہے۔ ابھی اس سوچ کو پکڑو ، ہم افعال کے پیرامیٹرز کو بعد میں تلاش کریں گے۔

جاوا اسکرپٹ۔

میموری کے استعمال کو کم کرنے کا طریقہ ونڈوز 10۔
function helloFunction(){
alert('Hello World!');
}
helloFunction();

جاوا اسکرپٹ میں ، کلیدی لفظ۔ فنکشن افعال بنانے کے لیے استعمال کیا جاتا ہے۔ اگلا ، ہمارے پاس فنکشن کا نام ہے۔ کوئی بھی کوڈ جو گھوبگھرالی بریکٹ کے درمیان آتا ہے جب فنکشن بلایا جاتا ہے تو چلایا جاتا ہے۔

جاوا اسکرپٹ میں سفید جگہ اہم نہیں ہے ، لیکن فنکشن میں کوڈ کو انڈینٹ کرنے کا رواج ہے۔ انڈینٹیشن کوڈ کو پڑھنا آسان بناتا ہے ، جو کہ بہت اہم ہے کیونکہ آپ کے پروگرام زیادہ پیچیدہ ہو جاتے ہیں۔

نوٹ: بہت پسند ہے۔ پرنٹ کریں() پہلے کی مثال میں ، الرٹ () ایک فنکشن بھی ہے

سی ++۔

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

افعال C ++ میں مختلف طریقے سے بنائے جاتے ہیں۔ فنکشن کی وضاحت کے لیے کلیدی لفظ کے بجائے ، پہلا لفظ ڈیٹا کی اس قسم کو بیان کرتا ہے جو فنکشن واپس آئے گا۔ اس صورت میں ، ہمارا فنکشن کوئی ڈیٹا واپس نہیں کرتا ، لہذا ڈیٹا باطل ہے۔ اگلا ، ہمارے پاس فنکشن کا نام ہے۔ جاوا اسکرپٹ کی طرح ، گھوبگھرالی بریکٹ کے درمیان تمام کوڈ چلتا ہے جب فنکشن کہا جاتا ہے۔ اسی طرح جاوا اسکرپٹ کی طرح ، سفید جگہ فنکشن کو متاثر نہیں کرتی لیکن اچھی مشق ہے۔

کیا آپ نے C ++ کوڈ میں ایک اور فنکشن دیکھا؟ جی ہاں، مرکزی() ایک فنکشن ہے جب آپ C ++ پروگرام پر عملدرآمد کرتے ہیں تو ، آپ خود بخود مرکزی فنکشن کو کال کرتے ہیں۔ جب مرکزی کام کامیابی کے ساتھ مکمل ہوجاتا ہے تو ، یہ 0 واپس آجاتا ہے کیونکہ یہ پروگرام سے باہر نکلتا ہے تاکہ یہ اشارہ کیا جا سکے کہ پروگرام چلانے میں کوئی خرابی نہیں تھی۔

افعال جو اقدار کا تقاضا کرتے ہیں۔

باطل افعال بہت اچھے ہیں اگر آپ کو معلوم ہو کہ آپ ایک ہی کوڈ کو بار بار لکھ رہے ہیں۔ لیکن وہ محدود ہوسکتے ہیں۔ وہ مستحکم ہیں اور تبدیل نہیں ہوتے ہیں۔ وہ ہمیشہ ایک ہی ہدایات کو مکمل کرتے ہیں۔ ان کی افادیت کو بڑھانے کا ایک طریقہ یہ ہے کہ فنکشن میں مختلف اقدار کو منتقل کیا جائے۔

آپ نے محسوس کیا ہوگا کہ بریکٹ ہمارے تمام افعال کے ناموں کی پیروی کرتے ہیں۔ بریکٹ میں ، ہم اعلان کر سکتے ہیں کہ ہمارے فنکشن کو چلانے کے لیے ڈیٹا کی ضرورت ہے۔ پھر ہم فنکشن میں اپنے فنکشن کو منتقل ہونے والے ڈیٹا کو استعمال کر سکتے ہیں۔ آئیے ایک بار پھر پچھلی مثالوں پر ایک نظر ڈالتے ہیں ، لیکن اس بار اس فقرے کو پاس کریں جسے ہم آؤٹ پٹ کرنا چاہتے ہیں۔

ازگر۔

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

اب ، بریکٹ کے درمیان ، ہمارا فنکشن اعلان کرتا ہے کہ اسے چلانے کے لیے متغیر کی ضرورت ہے۔ ہم نے متغیر کا نام دیا ہے۔ نیا فقرہ اور اب اسے اپنے فنکشن میں استعمال کر سکتے ہیں۔ جب ہم فنکشن کو کال کرتے ہیں ، ہمیں مطلوبہ معلومات کو بریکٹ کے درمیان رکھ کر پاس کرنے کی ضرورت ہوتی ہے۔ جاوا اسکرپٹ میں بھی یہی تبدیلیاں کی گئیں۔

جاوا اسکرپٹ۔

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

سی ++۔

میرے میک پر imessage کام کیوں نہیں کرے گا؟
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

ہمارے C ++ فنکشن کو تھوڑی اور معلومات درکار ہے۔ ہم جانتے ہیں کہ آپ کا فنکشن سٹرنگ ڈیٹا چاہتا ہے ، لیکن یہ C ++ کے لیے کافی اچھا نہیں ہے۔ جب آپ اپنا فنکشن بناتے ہیں تو آپ کو یہ بتانا ہوتا ہے کہ آپ کے فنکشن کو کس قسم کا ڈیٹا درکار ہے۔ اگر آپ صحیح قسم کا ڈیٹا نہیں بھیجتے ہیں تو ، فنکشن ایک خرابی پیدا کرے گا۔

یہ تھوڑا پریشان کن لگ سکتا ہے ، لیکن سخت زبانیں اکثر آپ کو سر درد سے بچا سکتی ہیں۔ اگر آپ جاوا اسکرپٹ میں کوئی فنکشن لکھتے ہیں جس کے لیے ایک عدد کی ضرورت ہوتی ہے ، لیکن نمبر کو بطور تار بھیجا جاتا ہے ، تو یہ ایک بگ بنا سکتا ہے جس کا سراغ لگانا بہت مشکل ہے۔

متعلقہ: 5 فنکشنل پروگرامنگ زبانیں جو آپ کو جاننی چاہئیں۔

افعال جو قدر واپس کرتے ہیں۔

آخری فنکشن کی صلاحیت جس کا ہم احاطہ کریں گے ڈیٹا واپس کرنا ہے۔ یہ خاص طور پر قیمتی ہے جب آپ ڈیٹا استعمال کرنے سے پہلے اسے تبدیل کرنا چاہتے ہیں۔ اگرچہ آپ اس ان لائن کو لکھ سکتے ہیں ، اگر آپ ایک ہی حساب کو کئی بار استعمال کریں گے ، جیسے امپیریل کو میٹرک میں تبدیل کرنا ، اسے بطور فنکشن لکھنا زیادہ معنی خیز ہوگا۔ ہماری مثال آسان ہوگی۔ ہمارے فنکشن کو دو عدد کی ضرورت ہوگی اور وہ رقم واپس کردے گی۔

ازگر۔

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

اس مثال میں ، ہمارے فنکشن میں ایک کے بجائے دو متغیرات کی ضرورت ہوتی ہے۔ ہم اس بات کی نشاندہی کرتے ہیں کہ اپنے متغیر ناموں کو کوما سے الگ کر کے۔ مطلوبہ الفاظ واپسی فنکشن کو بتاتا ہے کہ مندرجہ ذیل ڈیٹا واپس کریں ، اس صورت میں ، 2 + 4 ، یا 6۔ ہم فنکشن کو اندر کے اندر کہتے ہیں۔ پرنٹ کریں() فنکشن

ایک بار جب ہمارا پروگرام اس لائن پر پہنچ جاتا ، تو یہ رک جاتا ، ہمارا فنکشن چلاتا ، اور پھر جیسے جاری رہتا۔ فنکشن شامل کرنا (2 ، 4) اصل میں صرف لوٹی ہوئی قیمت 6 تھی۔

جاوا اسکرپٹ۔

جاوا اسکرپٹ کوڈ ازگر کوڈ سے بہت ملتا جلتا ہے۔ بنیادی فرق یہ ہے کہ فنکشن کو الرٹ کہا جاتا ہے۔

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

سی ++۔

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

C ++ کوڈ اسی طرح چلتا ہے ، لیکن ہمیشہ کی طرح ، تھوڑی اور معلومات کی ضرورت ہوتی ہے۔ پہلے ، ہمیں یہ بتانا ہوگا کہ ہمارا فنکشن کس قسم کا ڈیٹا واپس کرے گا۔ آپ اسے دیکھیں گے۔ باطل میں تبدیل کر دیا گیا ہے int . اس کا مطلب یہ ہے کہ کوئی ڈیٹا واپس کرنے کی بجائے ، ہمارا فنکشن ایک عدد واپس کر دے گا۔ اس کے علاوہ ، کوڈ اس کوڈ کی طرح ہے جو ہم پہلے ہی تلاش کر چکے ہیں۔

اپنے افعال کا نظم کریں۔

افعال کے بارے میں ایک مزے کی بات یہ ہے کہ افعال دوسرے افعال کو کال کر سکتے ہیں۔ وہ اپنے آپ کو بھی بلا سکتے ہیں! لیکن بڑی طاقت کے ساتھ بڑی ذمہ داری آتی ہے۔ ایسے افعال کے ساتھ کوڈ بناتے ہوئے پاگل نہ ہوں جو دوسرے افعال کو کال کرتے ہیں جو کہ ابھی تک مزید افعال کو کال کرتے ہیں۔

جیسا کہ ذکر کیا گیا ہے ، ہر بار جب کوئی فنکشن بلایا جاتا ہے ، پروگرام رک جاتا ہے جبکہ یہ فنکشن چلاتا ہے۔ اس کا مطلب یہ ہے کہ پروگرام فعال میموری میں منعقد کیا جا رہا ہے۔ اگر آپ ان کو مکمل کیے بغیر کئی مزید فنکشنز کو کال کرتے ہیں تو آپ زیادہ فعال میموری استعمال کر رہے ہیں۔ اگر آپ محتاط نہیں ہیں تو آپ کا پروگرام ہاتھ سے نکل سکتا ہے۔

بانٹیں بانٹیں ٹویٹ ای میل۔ آبجیکٹ انکپسولیشن کے ذریعے اپنے کوڈ کو کیسے صاف رکھیں۔

عالمی متغیرات سادہ لگ سکتے ہیں ، لیکن وہ اکثر بہت سارے کیڑے کی وجہ ہوتے ہیں۔ اپنے کوڈ کو انکپسولیشن کے ساتھ ہموار کرنے کا طریقہ یہاں ہے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • پروگرامنگ۔
  • فنکشنل پروگرامنگ۔
مصنف کے بارے میں جینیفر سیٹن۔(21 مضامین شائع ہوئے)

جے سیٹن ایک سائنس رائٹر ہے جو پیچیدہ موضوعات کو توڑنے میں مہارت رکھتا ہے۔ اس نے ساسکیچوان یونیورسٹی سے پی ایچ ڈی کی ہے۔ اس کی تحقیق آن لائن طالب علموں کی مصروفیت بڑھانے کے لیے گیم پر مبنی سیکھنے کو استعمال کرنے پر مرکوز ہے۔ جب وہ کام نہیں کررہی ہے ، آپ اسے پڑھنے ، ویڈیو گیمز کھیلنے یا باغبانی کے ساتھ ملیں گے۔

جینیفر سیٹن سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔