|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "8328f58f4593b4671656ff8f4b2edbd9",
|
|
|
"translation_date": "2025-10-22T21:25:48+00:00",
|
|
|
"source_file": "2-js-basics/2-functions-methods/assignment.md",
|
|
|
"language_code": "bn"
|
|
|
}
|
|
|
-->
|
|
|
# ফাংশন নিয়ে মজা
|
|
|
|
|
|
## নির্দেশনা
|
|
|
|
|
|
এই অ্যাসাইনমেন্টে, আপনি বিভিন্ন ধরনের ফাংশন তৈরি করার অনুশীলন করবেন যাতে JavaScript ফাংশন, প্যারামিটার, ডিফল্ট মান এবং রিটার্ন স্টেটমেন্ট সম্পর্কে আপনার শেখা ধারণাগুলো আরও দৃঢ় হয়।
|
|
|
|
|
|
`functions-practice.js` নামে একটি JavaScript ফাইল তৈরি করুন এবং নিচের ফাংশনগুলো বাস্তবায়ন করুন:
|
|
|
|
|
|
### অংশ ১: সাধারণ ফাংশন
|
|
|
1. **`sayHello` নামে একটি ফাংশন তৈরি করুন** যা কোনো প্যারামিটার নেয় না এবং কনসোলে "Hello!" লগ করে।
|
|
|
|
|
|
2. **`introduceYourself` নামে একটি ফাংশন তৈরি করুন** যা একটি `name` প্যারামিটার নেয় এবং কনসোলে "Hi, my name is [name]" এর মতো একটি বার্তা লগ করে।
|
|
|
|
|
|
### অংশ ২: ডিফল্ট প্যারামিটার সহ ফাংশন
|
|
|
3. **`greetPerson` নামে একটি ফাংশন তৈরি করুন** যা দুটি প্যারামিটার নেয়: `name` (প্রয়োজনীয়) এবং `greeting` (ঐচ্ছিক, ডিফল্ট মান "Hello")। ফাংশনটি কনসোলে "[greeting], [name]!" এর মতো একটি বার্তা লগ করবে।
|
|
|
|
|
|
### অংশ ৩: রিটার্ন মান সহ ফাংশন
|
|
|
4. **`addNumbers` নামে একটি ফাংশন তৈরি করুন** যা দুটি প্যারামিটার (`num1` এবং `num2`) নেয় এবং তাদের যোগফল রিটার্ন করে।
|
|
|
|
|
|
5. **`createFullName` নামে একটি ফাংশন তৈরি করুন** যা `firstName` এবং `lastName` প্যারামিটার নেয় এবং একটি পূর্ণ নাম একটি স্ট্রিং হিসেবে রিটার্ন করে।
|
|
|
|
|
|
### অংশ ৪: সবকিছু একসাথে মেশানো
|
|
|
6. **`calculateTip` নামে একটি ফাংশন তৈরি করুন** যা দুটি প্যারামিটার নেয়: `billAmount` (প্রয়োজনীয়) এবং `tipPercentage` (ঐচ্ছিক, ডিফল্ট মান ১৫)। ফাংশনটি টিপের পরিমাণ গণনা করে এবং রিটার্ন করবে।
|
|
|
|
|
|
### অংশ ৫: আপনার ফাংশনগুলো পরীক্ষা করুন
|
|
|
প্রত্যেকটি ফাংশনের জন্য ফাংশন কল যোগ করুন এবং `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}`);
|
|
|
```
|
|
|
|
|
|
## মূল্যায়ন
|
|
|
|
|
|
| মানদণ্ড | চমৎকার | যথাযথ | উন্নতির প্রয়োজন |
|
|
|
| -------- | --------- | -------- | ----------------- |
|
|
|
| **ফাংশন তৈরি** | সব ৬টি ফাংশন সঠিকভাবে বাস্তবায়িত হয়েছে, সঠিক সিনট্যাক্স এবং নামকরণ পদ্ধতি অনুসরণ করে | ৪-৫টি ফাংশন সঠিকভাবে বাস্তবায়িত হয়েছে, ছোটখাটো সিনট্যাক্স সমস্যা থাকতে পারে | ৩ বা তার কম ফাংশন বাস্তবায়িত হয়েছে অথবা বড় সিনট্যাক্স সমস্যা রয়েছে |
|
|
|
| **প্যারামিটার ও ডিফল্ট মান** | প্রয়োজনীয় প্যারামিটার, ঐচ্ছিক প্যারামিটার এবং ডিফল্ট মান সঠিকভাবে ব্যবহার করা হয়েছে | প্যারামিটার সঠিকভাবে ব্যবহার করা হয়েছে, তবে ডিফল্ট মানে সমস্যা থাকতে পারে | প্যারামিটার বাস্তবায়ন ভুল বা অনুপস্থিত |
|
|
|
| **রিটার্ন মান** | যেসব ফাংশন রিটার্ন মান দেওয়া উচিত, সেগুলো সঠিকভাবে রিটার্ন করে এবং যেসব ফাংশন রিটার্ন মান দেওয়া উচিত নয়, সেগুলো শুধুমাত্র কাজ সম্পন্ন করে | বেশিরভাগ রিটার্ন মান সঠিক, ছোটখাটো সমস্যা থাকতে পারে | রিটার্ন স্টেটমেন্টে উল্লেখযোগ্য সমস্যা রয়েছে |
|
|
|
| **কোডের গুণমান** | পরিষ্কার, সুসংগঠিত কোড, অর্থবহ ভ্যারিয়েবল নাম এবং সঠিক ইনডেন্টেশন | কোড কাজ করে, তবে আরও পরিষ্কার বা সুসংগঠিত হতে পারত | কোড পড়তে অসুবিধা হয় বা খারাপভাবে গঠিত |
|
|
|
| **পরীক্ষা** | সব ফাংশন যথাযথভাবে পরীক্ষা করা হয়েছে এবং ফলাফল স্পষ্টভাবে প্রদর্শিত হয়েছে | বেশিরভাগ ফাংশন যথাযথভাবে পরীক্ষা করা হয়েছে | ফাংশনগুলোর সীমিত বা ভুল পরীক্ষা করা হয়েছে |
|
|
|
|
|
|
## বোনাস চ্যালেঞ্জ (ঐচ্ছিক)
|
|
|
|
|
|
যদি আপনি আরও চ্যালেঞ্জ নিতে চান:
|
|
|
|
|
|
1. **একটি ফাংশনের অ্যারো ফাংশন সংস্করণ তৈরি করুন**
|
|
|
2. **একটি ফাংশন তৈরি করুন যা অন্য একটি ফাংশনকে প্যারামিটার হিসেবে গ্রহণ করে** (যেমন লেসনের `setTimeout` উদাহরণ)
|
|
|
3. **ইনপুট যাচাই যোগ করুন** যাতে আপনার ফাংশনগুলো ভুল ইনপুট সঠিকভাবে পরিচালনা করতে পারে
|
|
|
|
|
|
---
|
|
|
|
|
|
> 💡 **পরামর্শ**: আপনার ব্রাউজারের ডেভেলপার কনসোল (F12) খুলতে ভুলবেন না যাতে আপনার `console.log()` স্টেটমেন্টের আউটপুট দেখতে পারেন!
|
|
|
|
|
|
---
|
|
|
|
|
|
**অস্বীকৃতি**:
|
|
|
এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। এর মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী থাকব না। |