|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "8328f58f4593b4671656ff8f4b2edbd9",
|
|
|
"translation_date": "2025-10-22T14:32:55+00:00",
|
|
|
"source_file": "2-js-basics/2-functions-methods/assignment.md",
|
|
|
"language_code": "ur"
|
|
|
}
|
|
|
-->
|
|
|
# فنکشنز کے ساتھ مزہ کریں
|
|
|
|
|
|
## ہدایات
|
|
|
|
|
|
اس اسائنمنٹ میں، آپ مختلف قسم کے فنکشنز بنانے کی مشق کریں گے تاکہ جاوا اسکرپٹ فنکشنز، پیرامیٹرز، ڈیفالٹ ویلیوز، اور ریٹرن اسٹیٹمنٹس کے بارے میں سیکھے گئے تصورات کو مضبوط کیا جا سکے۔
|
|
|
|
|
|
ایک جاوا اسکرپٹ فائل بنائیں جس کا نام `functions-practice.js` ہو اور درج ذیل فنکشنز کو نافذ کریں:
|
|
|
|
|
|
### حصہ 1: بنیادی فنکشنز
|
|
|
1. **ایک فنکشن بنائیں جس کا نام `sayHello` ہو** جو کوئی پیرامیٹر نہ لے اور صرف "Hello!" کو کنسول میں لاگ کرے۔
|
|
|
|
|
|
2. **ایک فنکشن بنائیں جس کا نام `introduceYourself` ہو** جو ایک `name` پیرامیٹر لے اور ایک پیغام لاگ کرے جیسے "Hi, my name is [name]"۔
|
|
|
|
|
|
### حصہ 2: ڈیفالٹ پیرامیٹرز کے ساتھ فنکشنز
|
|
|
3. **ایک فنکشن بنائیں جس کا نام `greetPerson` ہو** جو دو پیرامیٹرز لے: `name` (ضروری) اور `greeting` (اختیاری، ڈیفالٹ "Hello" ہے)۔ فنکشن کو ایک پیغام لاگ کرنا چاہیے جیسے "[greeting], [name]!"۔
|
|
|
|
|
|
### حصہ 3: ویلیوز واپس کرنے والے فنکشنز
|
|
|
4. **ایک فنکشن بنائیں جس کا نام `addNumbers` ہو** جو دو پیرامیٹرز (`num1` اور `num2`) لے اور ان کا مجموعہ واپس کرے۔
|
|
|
|
|
|
5. **ایک فنکشن بنائیں جس کا نام `createFullName` ہو** جو `firstName` اور `lastName` پیرامیٹرز لے اور مکمل نام کو ایک سنگل اسٹرنگ کے طور پر واپس کرے۔
|
|
|
|
|
|
### حصہ 4: سب کچھ ملا کر
|
|
|
6. **ایک فنکشن بنائیں جس کا نام `calculateTip` ہو** جو دو پیرامیٹرز لے: `billAmount` (ضروری) اور `tipPercentage` (اختیاری، ڈیفالٹ 15 ہے)۔ فنکشن کو ٹپ کی رقم کا حساب لگانا اور واپس کرنا چاہیے۔
|
|
|
|
|
|
### حصہ 5: اپنے فنکشنز کو ٹیسٹ کریں
|
|
|
ہر فنکشن کو ٹیسٹ کرنے کے لیے فنکشن کالز شامل کریں اور نتائج کو `console.log()` کے ذریعے دکھائیں۔
|
|
|
|
|
|
**مثال کے ٹیسٹ کالز:**
|
|
|
```javascript
|
|
|
// Test your functions here
|
|
|
sayHello();
|
|
|
introduceYourself("Sarah");
|
|
|
greetPerson("Alex");
|
|
|
greetPerson("Maria", "Hi");
|
|
|
|
|
|
const sum = addNumbers(5, 3);
|
|
|
console.log(`The sum is: ${sum}`);
|
|
|
|
|
|
const fullName = createFullName("John", "Doe");
|
|
|
console.log(`Full name: ${fullName}`);
|
|
|
|
|
|
const tip = calculateTip(50);
|
|
|
console.log(`Tip for $50 bill: $${tip}`);
|
|
|
```
|
|
|
|
|
|
## معیار
|
|
|
|
|
|
| معیار | بہترین | مناسب | بہتری کی ضرورت ہے |
|
|
|
| ------ | ------- | ------- | ------------------ |
|
|
|
| **فنکشن کی تخلیق** | تمام 6 فنکشنز صحیح طریقے سے نافذ کیے گئے ہیں، مناسب سینٹیکس اور نام دینے کے اصولوں کے ساتھ | 4-5 فنکشنز صحیح طریقے سے نافذ کیے گئے ہیں، معمولی سینٹیکس مسائل کے ساتھ | 3 یا کم فنکشنز نافذ کیے گئے ہیں یا بڑے سینٹیکس مسائل ہیں |
|
|
|
| **پیرامیٹرز اور ڈیفالٹ ویلیوز** | ضروری پیرامیٹرز، اختیاری پیرامیٹرز، اور ڈیفالٹ ویلیوز کو صحیح طریقے سے استعمال کیا گیا ہے | پیرامیٹرز کو صحیح طریقے سے استعمال کیا گیا ہے لیکن ڈیفالٹ ویلیوز میں مسائل ہو سکتے ہیں | پیرامیٹرز کا غلط یا غائب نفاذ |
|
|
|
| **ویلیوز واپس کرنا** | وہ فنکشنز جو ویلیوز واپس کرنے چاہئیں وہ صحیح طریقے سے کرتے ہیں، اور وہ فنکشنز جو ویلیوز واپس نہیں کرتے وہ صرف ایکشنز انجام دیتے ہیں | زیادہ تر ریٹرن ویلیوز صحیح ہیں، معمولی مسائل کے ساتھ | ریٹرن اسٹیٹمنٹس میں اہم مسائل |
|
|
|
| **کوڈ کا معیار** | صاف، اچھی طرح سے منظم کوڈ، معنی خیز ویری ایبل ناموں اور مناسب انڈینٹیشن کے ساتھ | کوڈ کام کرتا ہے لیکن مزید صاف یا بہتر منظم ہو سکتا ہے | کوڈ پڑھنے میں مشکل یا خراب ساخت کا حامل ہے |
|
|
|
| **ٹیسٹنگ** | تمام فنکشنز مناسب فنکشن کالز کے ساتھ ٹیسٹ کیے گئے ہیں اور نتائج واضح طور پر دکھائے گئے ہیں | زیادہ تر فنکشنز مناسب طریقے سے ٹیسٹ کیے گئے ہیں | فنکشنز کی محدود یا غلط ٹیسٹنگ |
|
|
|
|
|
|
## اضافی چیلنجز (اختیاری)
|
|
|
|
|
|
اگر آپ مزید چیلنج کرنا چاہتے ہیں:
|
|
|
|
|
|
1. **اپنے کسی فنکشن کا ایرو فنکشن ورژن بنائیں**
|
|
|
2. **ایک فنکشن بنائیں جو دوسرے فنکشن کو پیرامیٹر کے طور پر قبول کرے** (جیسے سبق میں `setTimeout` کی مثالیں)
|
|
|
3. **ان پٹ ویلیڈیشن شامل کریں** تاکہ آپ کے فنکشنز غلط ان پٹ کو اچھی طرح سے ہینڈل کریں
|
|
|
|
|
|
---
|
|
|
|
|
|
> 💡 **ٹپ**: اپنے براؤزر کے ڈیولپر کنسول (F12) کو کھولنا یاد رکھیں تاکہ اپنے `console.log()` اسٹیٹمنٹس کے آؤٹ پٹ کو دیکھ سکیں!
|
|
|
|
|
|
---
|
|
|
|
|
|
**ڈسکلیمر**:
|
|
|
یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔ |