You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/pa/2-js-basics/3-making-decisions/assignment.md

118 lines
12 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "ffe366b2d1f037b99fbadbe1dc81083d",
"translation_date": "2025-10-22T17:25:50+00:00",
"source_file": "2-js-basics/3-making-decisions/assignment.md",
"language_code": "pa"
}
-->
# ਫੈਸਲੇ ਲੈਣਾ: ਵਿਦਿਆਰਥੀ ਗਰੇਡ ਪ੍ਰੋਸੈਸਰ
## ਸਿੱਖਣ ਦੇ ਉਦੇਸ਼
ਇਸ ਅਸਾਈਨਮੈਂਟ ਵਿੱਚ, ਤੁਸੀਂ ਇਸ ਪਾਠ ਵਿੱਚ ਸਿੱਖੇ ਗਏ ਫੈਸਲੇ ਲੈਣ ਦੇ ਅਸੂਲਾਂ ਦਾ ਅਭਿਆਸ ਕਰੋਗੇ। ਤੁਸੀਂ ਇੱਕ ਪ੍ਰੋਗਰਾਮ ਬਣਾਉਣ ਜਾ ਰਹੇ ਹੋ ਜੋ ਵੱਖ-ਵੱਖ ਗਰੇਡਿੰਗ ਸਿਸਟਮਾਂ ਤੋਂ ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਗਰੇਡ ਪ੍ਰੋਸੈਸ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ `if...else` ਬਿਆਨ, ਤੁਲਨਾ ਆਪਰੇਟਰ ਅਤੇ ਤਰਕਸ਼ੀਲ ਆਪਰੇਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਹ ਨਿਰਧਾਰਤ ਕਰੋਗੇ ਕਿ ਕਿਹੜੇ ਵਿਦਿਆਰਥੀ ਆਪਣੇ ਕੋਰਸਾਂ ਵਿੱਚ ਪਾਸ ਹਨ।
## ਚੁਣੌਤੀ
ਤੁਸੀਂ ਇੱਕ ਸਕੂਲ ਲਈ ਕੰਮ ਕਰਦੇ ਹੋ ਜੋ ਹਾਲ ਹੀ ਵਿੱਚ ਇੱਕ ਹੋਰ ਸੰਸਥਾ ਨਾਲ ਮਿਲ ਗਿਆ ਹੈ। ਹੁਣ ਤੁਹਾਨੂੰ ਦੋ ਬਿਲਕੁਲ ਵੱਖਰੇ ਗਰੇਡਿੰਗ ਸਿਸਟਮਾਂ ਤੋਂ ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਗਰੇਡ ਪ੍ਰੋਸੈਸ ਕਰਨੇ ਹਨ ਅਤੇ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨਾ ਹੈ ਕਿ ਕਿਹੜੇ ਵਿਦਿਆਰਥੀ ਪਾਸ ਹੋ ਰਹੇ ਹਨ। ਇਹ ਸ਼ਰਤ ਲਾਗੂ ਕਰਨ ਦੇ ਤਰੀਕੇ ਦਾ ਅਭਿਆਸ ਕਰਨ ਦਾ ਬਹੁਤ ਵਧੀਆ ਮੌਕਾ ਹੈ!
### ਗਰੇਡਿੰਗ ਸਿਸਟਮਾਂ ਨੂੰ ਸਮਝਣਾ
#### ਪਹਿਲਾ ਗਰੇਡਿੰਗ ਸਿਸਟਮ (ਸੰਖਿਆਵਾਂ)
- ਗਰੇਡ 1-5 ਦੇ ਅੰਕਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ
- **ਪਾਸਿੰਗ ਗਰੇਡ**: 3 ਅਤੇ ਇਸ ਤੋਂ ਉੱਪਰ (3, 4, ਜਾਂ 5)
- **ਫੇਲ ਗਰੇਡ**: 3 ਤੋਂ ਹੇਠਾਂ (1 ਜਾਂ 2)
#### ਦੂਜਾ ਗਰੇਡਿੰਗ ਸਿਸਟਮ (ਅੱਖਰ ਗਰੇਡ)
- ਗਰੇਡ ਅੱਖਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ: `A`, `A-`, `B`, `B-`, `C`, `C-`
- **ਪਾਸਿੰਗ ਗਰੇਡ**: `A`, `A-`, `B`, `B-`, `C`, `C-` (ਸਾਰੇ ਦਿੱਤੇ ਗਰੇਡ ਪਾਸ ਹਨ)
- **ਨੋਟ**: ਇਸ ਸਿਸਟਮ ਵਿੱਚ `D` ਜਾਂ `F` ਵਰਗੇ ਫੇਲ ਗਰੇਡ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ
### ਤੁਹਾਡਾ ਕੰਮ
ਦਿੱਤੇ ਗਏ ਐਰੇ `allStudents`, ਜੋ ਸਾਰੇ ਵਿਦਿਆਰਥੀਆਂ ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਗਰੇਡ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਦੇ ਅਧਾਰ 'ਤੇ ਇੱਕ ਨਵਾਂ ਐਰੇ `studentsWhoPass` ਬਣਾਓ ਜਿਸ ਵਿੱਚ ਸਾਰੇ ਪਾਸ ਕਰਨ ਵਾਲੇ ਵਿਦਿਆਰਥੀਆਂ ਦੇ ਗਰੇਡ ਸ਼ਾਮਲ ਹੋਣ।
```javascript
let allStudents = [
'A', // Letter grade - passing
'B-', // Letter grade - passing
1, // Numeric grade - failing
4, // Numeric grade - passing
5, // Numeric grade - passing
2 // Numeric grade - failing
];
let studentsWhoPass = [];
```
### ਕਦਮ-ਦਰ-ਕਦਮ ਪਹੁੰਚ
1. **ਲੂਪ ਸੈਟ ਕਰੋ** ਜੋ `allStudents` ਐਰੇ ਵਿੱਚ ਹਰ ਗਰੇਡ ਨੂੰ ਚੈੱਕ ਕਰੇ
2. **ਗਰੇਡ ਦੀ ਕਿਸਮ ਚੈੱਕ ਕਰੋ** (ਕੀ ਇਹ ਸੰਖਿਆ ਹੈ ਜਾਂ ਸਤਰ?)
3. **ਸਹੀ ਗਰੇਡਿੰਗ ਸਿਸਟਮ ਦੇ ਨਿਯਮ ਲਾਗੂ ਕਰੋ**:
- ਸੰਖਿਆਵਾਂ ਲਈ: ਚੈੱਕ ਕਰੋ ਕਿ ਗਰੇਡ >= 3 ਹੈ
- ਸਤਰਾਂ ਲਈ: ਚੈੱਕ ਕਰੋ ਕਿ ਇਹ ਵੈਧ ਪਾਸਿੰਗ ਅੱਖਰ ਗਰੇਡ ਵਿੱਚੋਂ ਇੱਕ ਹੈ
4. **ਪਾਸਿੰਗ ਗਰੇਡ** ਨੂੰ `studentsWhoPass` ਐਰੇ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ
### ਮਦਦਗਾਰ ਕੋਡ ਤਕਨੀਕਾਂ
ਇਸ ਪਾਠ ਤੋਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੇ ਅਸੂਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- **typeof ਆਪਰੇਟਰ**: `typeof grade === 'number'` ਚੈੱਕ ਕਰਨ ਲਈ ਕਿ ਕੀ ਇਹ ਸੰਖਿਆਵਾਂ ਵਾਲਾ ਗਰੇਡ ਹੈ
- **ਤੁਲਨਾ ਆਪਰੇਟਰ**: `>=` ਸੰਖਿਆਵਾਂ ਵਾਲੇ ਗਰੇਡ ਦੀ ਤੁਲਨਾ ਕਰਨ ਲਈ
- **ਤਰਕਸ਼ੀਲ ਆਪਰੇਟਰ**: `||` ਕਈ ਅੱਖਰ ਗਰੇਡ ਸ਼ਰਤਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ
- **if...else ਬਿਆਨ**: ਵੱਖਰੇ ਗਰੇਡਿੰਗ ਸਿਸਟਮਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ
- **ਐਰੇ ਮੈਥਡ**: `.push()` ਪਾਸਿੰਗ ਗਰੇਡ ਨੂੰ ਆਪਣੇ ਨਵੇਂ ਐਰੇ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਲਈ
### ਉਮੀਦਵਾਰ ਨਤੀਜਾ
ਜਦੋਂ ਤੁਸੀਂ ਆਪਣਾ ਪ੍ਰੋਗਰਾਮ ਚਲਾਉਂਦੇ ਹੋ, `studentsWhoPass` ਵਿੱਚ ਇਹ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ: `['A', 'B-', 4, 5]`
**ਇਹ ਗਰੇਡ ਕਿਉਂ ਪਾਸ ਹਨ:**
- `'A'` ਅਤੇ `'B-'` ਵੈਧ ਅੱਖਰ ਗਰੇਡ ਹਨ (ਇਸ ਸਿਸਟਮ ਵਿੱਚ ਸਾਰੇ ਅੱਖਰ ਗਰੇਡ ਪਾਸ ਹਨ)
- `4` ਅਤੇ `5` ਸੰਖਿਆਵਾਂ ਵਾਲੇ ਗਰੇਡ ਹਨ ਜੋ >= 3 ਹਨ
- `1` ਅਤੇ `2` ਫੇਲ ਹਨ ਕਿਉਂਕਿ ਇਹ ਸੰਖਿਆਵਾਂ ਵਾਲੇ ਗਰੇਡ < 3 ਹਨ
## ਆਪਣੇ ਹੱਲ ਦੀ ਜਾਂਚ
ਵੱਖ-ਵੱਖ ਸਥਿਤੀਆਂ ਨਾਲ ਆਪਣੇ ਕੋਡ ਦੀ ਜਾਂਚ ਕਰੋ:
```javascript
// Test with different grade combinations
let testGrades1 = ['A-', 3, 'C', 1, 'B'];
let testGrades2 = [5, 'A', 2, 'C-', 4];
// Your solution should work with any combination of valid grades
```
## ਬੋਨਸ ਚੁਣੌਤੀਆਂ
ਜਦੋਂ ਤੁਸੀਂ ਮੂਲ ਅਸਾਈਨਮੈਂਟ ਪੂਰਾ ਕਰ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਇਹ ਵਾਧੂ ਕੰਮ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ:
1. **ਵੈਧਤਾ ਜੋੜੋ**: ਗਲਤ ਗਰੇਡ (ਜਿਵੇਂ ਕਿ ਨਕਾਰਾਤਮਕ ਸੰਖਿਆਵਾਂ ਜਾਂ ਗਲਤ ਅੱਖਰ) ਦੀ ਜਾਂਚ ਕਰੋ
2. **ਸੰਖਿਆਵਾਂ ਦੀ ਗਿਣਤੀ**: ਗਿਣੋ ਕਿ ਕਿੰਨੇ ਵਿਦਿਆਰਥੀ ਪਾਸ ਕਰਦੇ ਹਨ ਅਤੇ ਕਿੰਨੇ ਫੇਲ
3. **ਗਰੇਡ ਰੂਪਾਂਤਰਨ**: ਸਾਰੇ ਗਰੇਡ ਨੂੰ ਇੱਕ ਹੀ ਸੰਖਿਆਵਾਂ ਵਾਲੇ ਸਿਸਟਮ ਵਿੱਚ ਰੂਪਾਂਤਰਨ ਕਰੋ (A=5, B=4, C=3, ਆਦਿ)
## ਰੂਬ੍ਰਿਕ
| ਮਾਪਦੰਡ | ਸ਼ਾਨਦਾਰ (4) | ਨਿਪੁੰਨ (3) | ਵਿਕਾਸਸ਼ੀਲ (2) | ਸ਼ੁਰੂਆਤੀ (1) |
|----------|---------------|----------------|----------------|---------------|
| **ਕਾਰਗੁਜ਼ਾਰੀ** | ਪ੍ਰੋਗਰਾਮ ਦੋਵੇਂ ਸਿਸਟਮਾਂ ਤੋਂ ਸਾਰੇ ਪਾਸਿੰਗ ਗਰੇਡ ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਪਛਾਣਦਾ ਹੈ | ਪ੍ਰੋਗਰਾਮ ਛੋਟੇ ਮੁੱਦਿਆਂ ਜਾਂ ਕਿਨਾਰਿਆਂ ਦੇ ਕੇਸਾਂ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ | ਪ੍ਰੋਗਰਾਮ ਅੰਸ਼ਿਕ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ ਪਰ ਤਰਕਸ਼ੀਲ ਗਲਤੀਆਂ ਹਨ | ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਗਲਤੀਆਂ ਹਨ ਜਾਂ ਚਲਦਾ ਨਹੀਂ |
| **ਕੋਡ ਸਟ੍ਰਕਚਰ** | ਸਾਫ਼, ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਗਠਿਤ ਕੋਡ ਸਹੀ if...else ਤਰਕ ਨਾਲ | ਚੰਗੀ ਸਟ੍ਰਕਚਰ ਸਹੀ ਸ਼ਰਤ ਬਿਆਨਾਂ ਨਾਲ | ਕੁਝ ਸੰਗਠਨਾਤਮਕ ਮੁੱਦਿਆਂ ਨਾਲ ਸਵੀਕਾਰਯੋਗ ਸਟ੍ਰਕਚਰ | ਖਰਾਬ ਸਟ੍ਰਕਚਰ, ਤਰਕ ਨੂੰ ਸਮਝਣਾ ਮੁਸ਼ਕਲ |
| **ਅਸੂਲਾਂ ਦੀ ਵਰਤੋਂ** | ਤੁਲਨਾ ਆਪਰੇਟਰ, ਤਰਕਸ਼ੀਲ ਆਪਰੇਟਰ ਅਤੇ ਸ਼ਰਤ ਬਿਆਨਾਂ ਦੀ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਵਰਤੋਂ | ਪਾਠ ਦੇ ਅਸੂਲਾਂ ਦੀ ਚੰਗੀ ਵਰਤੋਂ ਛੋਟੇ ਗੈਰਾਂ ਨਾਲ | ਕੁਝ ਅਸੂਲਾਂ ਦੀ ਵਰਤੋਂ ਪਰ ਮਹੱਤਵਪੂਰਨ ਤੱਤਾਂ ਦੀ ਘਾਟ | ਪਾਠ ਦੇ ਅਸੂਲਾਂ ਦੀ ਸੀਮਿਤ ਵਰਤੋਂ |
| **ਸਮੱਸਿਆ ਹੱਲ** | ਸਮੱਸਿਆ ਦੀ ਸਪਸ਼ਟ ਸਮਝ ਅਤੇ ਸੁੰਦਰ ਹੱਲ ਪਹੁੰਚ | ਚੰਗੀ ਸਮੱਸਿਆ ਹੱਲ ਪਹੁੰਚ ਮਜ਼ਬੂਤ ਤਰਕ ਨਾਲ | ਕੁਝ ਸਮੱਸਿਆ ਹੱਲ ਪਰ ਕੁਝ ਗੁੰਝਲ | ਅਸਪਸ਼ਟ ਪਹੁੰਚ, ਸਮਝ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਨਹੀਂ |
## ਜਮ੍ਹਾਂ ਕਰਨ ਦੇ ਨਿਯਮ
1. **ਆਪਣੇ ਕੋਡ ਦੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜਾਂਚ ਕਰੋ** ਦਿੱਤੇ ਉਦਾਹਰਣਾਂ ਨਾਲ
2. **ਟਿੱਪਣੀਆਂ ਸ਼ਾਮਲ ਕਰੋ** ਜੋ ਤੁਹਾਡੇ ਤਰਕ ਨੂੰ ਸਮਝਾਉਂਦੀਆਂ ਹਨ, ਖਾਸ ਕਰਕੇ ਸ਼ਰਤ ਬਿਆਨਾਂ ਲਈ
3. **ਨਤੀਜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ** ਕਿ ਇਹ ਉਮੀਦਵਾਰ ਨਤੀਜਿਆਂ ਨਾਲ ਮਿਲਦਾ ਹੈ: `['A', 'B-', 4, 5]`
4. **ਅਣਪ੍ਰਤੀਸ਼ਤ ਡਾਟਾ ਕਿਸਮਾਂ ਜਾਂ ਖਾਲੀ ਐਰੇ ਵਰਗੇ ਕਿਨਾਰੇ ਦੇ ਕੇਸਾਂ ਨੂੰ ਵਿਚਾਰੋ**
> 💡 **ਸਲਾਹ**: ਸਧਾਰਨ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ! ਪਹਿਲਾਂ ਮੂਲ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਸਹੀ ਬਣਾਓ, ਫਿਰ ਹੋਰ ਸੁਧਾਰਤਮਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰੋ। ਯਾਦ ਰੱਖੋ, ਉਦੇਸ਼ ਇਸ ਪਾਠ ਵਿੱਚ ਸਿੱਖੇ ਗਏ ਫੈਸਲੇ ਲੈਣ ਦੇ ਤਰਕਾਂ ਦਾ ਅਭਿਆਸ ਕਰਨਾ ਹੈ।
---
**ਅਸਵੀਕਰਤਾ**:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦਾ ਯਤਨ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।