Skip to content

Commit

Permalink
New: If statements course section addedd!
Browse files Browse the repository at this point in the history
  • Loading branch information
TeaByte committed Feb 10, 2024
1 parent c846edd commit 6363176
Show file tree
Hide file tree
Showing 11 changed files with 298 additions and 30 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: القيم المنطقية والتعامل معها
snippet: قد تكون القيم المنطقية واحدة فقط من قيمتين
order: 2
order: 9
---

نوع آخر من البيانات هو `Boolean`. قد تكون القيم المنطقية واحدة فقط من قيمتين:
Expand Down
5 changes: 0 additions & 5 deletions courses/booleans/_data.json

This file was deleted.

23 changes: 0 additions & 23 deletions courses/booleans/intro.md

This file was deleted.

2 changes: 1 addition & 1 deletion courses/functions/_data.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"label": "الدوال",
"lableSlug": "functions",
"order": 9
"order": 8
}
5 changes: 5 additions & 0 deletions courses/if-statements/_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"label": "الجمل الشرطية",
"lableSlug": "if-statements",
"order": 10
}
36 changes: 36 additions & 0 deletions courses/if-statements/bool-if-statements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: استخدام الجمل الشرطية مع القيم المنطقية
snippet: استخدام البيانات لاتخاذ القرارات في التعليمات البرمجية
order: 1
---

يتم استخدام الجمل الشرطية لاتخاذ قرارات.

الكلمة الأساسية `if` تطلب من JavaScript تنفيذ التعليمات البرمجية في الأقواس
المتعرجة وفقًا لشروط معينة، محددة بين الأقواس. تُعرف هذه الشروط بالشروط المنطقية
وقد تكون صحيحة أو خاطئة فقط.

عندما يتم تقييم الشرط على أنه صحيح، يقوم البرنامج بتنفيذ العبارة داخل الأقواس
المتعرجة. عندما يتم تقييم الشرط المنطقي إلى خطأ، لن يتم تنفيذ العبارة الموجودة
داخل الأقواس المتعرجة.

مثال:

```js
function test(myCondition) {
if (myCondition) {
return "صحيح";
}
return "خطأ";
}

test(true);
test(false);
```

تقوم `test(true)` بإرجاع السلسلة `صحيح`، بينما تقوم `test(false)` بإرجاع السلسلة
`خطأ`.

<mark>
عندما يتم استدعاء <code>test()</code> بقيمة <code>true</code>, تقوم عبارة if بتقييم myCondition لمعرفة ما إذا كانت صحيحة أم لا. وبما أنه <code>true</code>، ترجع الدالة السلسلة "صحيح". عندما نستدعي <code>test()</code> بقيمة <code>false</code>, فإن myCondition ليس صحيحًا ولا يتم تنفيذ العبارة الموجودة بين الأقواس المتعرجة وترجع الدالة السلسلة "خطأ"
</mark>
62 changes: 62 additions & 0 deletions courses/if-statements/comparison-with-equality-operator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: مقارنة مع عامل المساواة
snippet: يقارن عامل المساواة بين قيمتين
order: 2
---

هناك العديد من عوامل المقارنة في JavaScript. تقوم جميع عوامل التشغيل هذه بإرجاع
قيمة منطقية صحيحة أو خاطئة.

العامل الأساسي هو عامل المساواة `==`. يقارن عامل المساواة بين قيمتين ويعيد صحيحًا
إذا كانتا متكافئتين أو خطأ إذا لم يكونا كذلك.

<mark>
لاحظ أن المساواة تختلف عن التعيين <code>=</code>، الذي يسند القيمة الموجودة على يمين العامل إلى متغير على اليسار.
</mark>

مثال:

```js
function equalityTest(myVal) {
if (myVal == 10) {
return "يساوي";
}
return "لا يساوي";
}
```

إذا كانت قيمة `myVal` تساوي `10`، فسيُرجع عامل المساواة القيمة `true`، وبالتالي
سيتم تنفيذ التعليمات البرمجية الموجودة بين الأقواس المتعرجة، وستُرجع الدالة
`يساوي`. وبخلاف ذلك، سترجع الدالة `لا يساوي`. لكي تتمكن JavaScript من مقارنة
نوعين مختلفين من البيانات (على سبيل المثال، الأرقام والسلاسل)، يجب عليها تحويل
نوع واحد إلى آخر. يُعرف هذا باسم نوع الإكراه. ومع ذلك، بمجرد القيام بذلك، يمكنه
مقارنة المصطلحات على النحو التالي:

لكي تتمكن JavaScript من مقارنة نوعين مختلفين من البيانات (على سبيل المثال،
الأرقام والسلاسل)، يجب عليها تحويل نوع واحد إلى آخر. يُعرف هذا باسم نوع الإكراه.
ومع ذلك، بمجرد القيام بذلك، يمكنه مقارنة المصطلحات على النحو التالي:

```js
1 == 1; // true
1 == 2; // false
1 == "1"; // true
"3" == 3; // true
```

---

## عامل عدم المساواة

عامل عدم المساواة `=!` هو عكس عامل المساواة. وهذا يعني يعني ليس متساويا حيث تُرجع
خطأ عندما يكون الناتج صحيح في عامل المساواة والعكس صحيح. مثل عامل المساواة،
سيقوم عامل عدم المساواة بتحويل أنواع البيانات من القيم أثناء المقارنة.

امثله على عامل عدم المساواة:

```js
1 != 2; // true
1 != "1"; // false
1 != "1"; // false
1 != true; // false
0 != false; // false
```
32 changes: 32 additions & 0 deletions courses/if-statements/comparison-with-strict-equality-operator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: مقارنة مع عامل المساواة الصارمة
snippet: لا يقوم عامل المساواة الصارم بإجراء تحويل النوع.
order: 3
---

المساواة الصارمة `===` هي النظير لعامل المساواة `==`. ومع ذلك، على عكس عامل
المساواة، الذي يحاول تحويل كلتا القيمتين ( الاكراه )، لا يقوم عامل المساواة
الصارم بإجراء تحويل النوع.

إذا كانت القيم التي تتم مقارنتها لها أنواع مختلفة، فإنها تعتبر غير متساوية،
وسيرجع عامل المساواة الصارم خطأ.

```js
3 === 3; // true
3 === "3"; // false
```

في المثال الثاني، 3 هو نوع رقم و'3' هو نوع سلسلة. وانتجت `false`بسبب عامل
المساواة الصارم.

## عامل عدم المساواة الصارمة

عامل عدم المساواة الصارمة الصارمة `!==` هو العكس المنطقي لعامل المساواة الصارمة.
إنه يعني "غير متساوٍ تمامًا" ويُرجع خطأ حيث تُرجع المساواة الصارمة صحيحًا والعكس
صحيح. لن يقوم عامل عدم المساواة الصارم بتحويل أنواع البيانات.

```js
3 !== 3; // false
3 !== "3"; // true
4 !== 3; // true
```
30 changes: 30 additions & 0 deletions courses/if-statements/introducing-else-and-else-if-statements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: التعريف بي else و else if
snippet: لا يوجد
order: 6
---

عندما يكون شرط عبارة الجمل الشرطية صحيحًا، يتم تنفيذ كتلة التعليمات البرمجية
التالية له. وماذا عندما يكون هذا الشرط خطأ. عادة لن يحدث شيء. باستخدام عبارة
`else`, يمكن تنفيذ كتلة بديلة من التعليمات البرمجية.

```js
if (num > 10) {
return "اكبر من 10";
} else {
return "اصغر من 10";
}
```

إذا كانت لديك شروط متعددة تحتاج إلى معالجة، فيمكنك ربط عبارات `if` مع عبارات
`else if`.

```js
if (num > 15) {
return "اكبر من 15";
} else if (num < 5) {
return "اصغر من 5";
} else {
return "بين 5 و 15";
}
```
64 changes: 64 additions & 0 deletions courses/if-statements/logical-operators.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: العوامل المنطقية
snippet: العوامل المنطقية || و &&
order: 5
---

العوامل المنطقية `||` (أو) تُستخدم للتحقق مما إذا كان أحد المدخلات صحيحًا، بينما
`&&` (و) تُستخدم للتحقق مما إذا كانت كل المدخلات صحيحة. تُستخدم في بناء الشروط في
البرمجة.

## مقارنات مع المشغل `و` المنطقي

في بعض الأحيان سوف تحتاج إلى اختبار أكثر من شيء واحد في وقت واحد. يُرجع العامل
المنطقي (&&) صحيحًا إذا وفقط إذا كانت المعاملات الموجودة على يساره ويمينه صحيحة.

ويمكن تحقيق نفس التأثير من خلال تداخل عبارة الجمل الشرطية داخل عبارة جمله شرطية
أخرى.

```js
if (num > 5) {
if (num < 10) {
return "Yes";
}
}
return "No";
```

سيُرجع هذا الرمز نعم إذا كان الرقم أكبر من `5` وأقل من `10`. ويمكن كتابة نفس
المنطق باستخدام العامل المنطقي `و`.

```js
if (num > 5 && num < 10) {
return "Yes";
}
return "No";
```

## مقارنات مع المشغل `او` المنطقي

يُرجع العامل المنطقي أو العامل `||` صحيحًا إذا كان أي من المعاملين صحيحًا. وإلا
فإنها ترجع كاذبة.

يتكون العامل المنطقي أو العامل من رمزين أنبوبيين: `||`. يمكن العثور على هذا عادةً
بين مفتاحي `Backspace` و `Enter`.

```js
if (num > 10) {
return "لا";
}
if (num < 5) {
return "لا";
}
return "نعم";
```

سيُرجع هذا الرمز نعم إذا كان الرقم بين 5 و 10. يمكن كتابة نفس المنطق باستخدام
العامل المنطقي `أو`.

```js
if (num > 10 || num < 5) {
return "لا";
}
return "نعم";
```
67 changes: 67 additions & 0 deletions courses/if-statements/relational-operators.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
title: العوامل العلاقية
snippet: عبارة عن مجموعة من العلامات التي تستخدم لمقارنة القيم وتحديد العلاقات بينها
order: 4
---

العوامل العلاقية في برمجة الحاسوب هي عبارة عن مجموعة من العلامات التي تستخدم
لمقارنة القيم وتحديد العلاقات بينها. تشمل هذه العوامل العلامات التالية: `>`
(أكبر من)، `<` (أصغر من)، `>=` (أكبر من أو يساوي)، و `<=` (أصغر من أو يساوي).
تُستخدم هذه العوامل بشكل شائع في كتابة الشروط واتخاذ القرارات في البرامج، حيث يتم
تقييم العبارات المحيطة بها لإنتاج قيمة منطقية صحيحة أو خاطئة، مما يمكن من تحكم
فعال في تدفق التنفيذ في البرنامج.

## مقارنة مع أكبر من

عامل التشغيل أكبر من `>` يقارن بين قيم رقمين. إذا كان الرقم الموجود على اليسار
أكبر من الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. وإلا فإنها ترجع خطأ.

```js
5 > 3; // true
7 > "3"; // true
2 > 3; // false
"1" > 9; // false
```

## مقارنة مع أكبر من أو يساوي

عامل التشغيل أكبر من أو يساوي `>=` يقارن بين قيم رقمين. إذا كان الرقم الموجود
على اليسار أكبر من أو يساوي الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. وإلا
فإنها ترجع خطأ.

```js
6 >= 6; // true
7 >= "3"; // true
2 >= 3; // false
"7" >= 9; // false
```

## مقارنة مع أقل من

يقارن عامل التشغيل أقل من `<` بين قيم رقمين. إذا كان الرقم الموجود على اليسار
أقل من الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. وإلا فإنها ترجع خطأ. مثل
عامل المساواة، يقوم عامل التشغيل أقل من بتحويل أنواع البيانات أثناء المقارنة.

```js
2 < 5; // true
"3" < 7; // true
5 < 5; // false
3 < 2; // false
"8" < 4; // false
```

## مقارنة مع أقل من أو يساوي

العامل الأصغر من أو يساوي `<=` يقارن بين قيم رقمين. إذا كان الرقم الموجود على
اليسار أقل من أو يساوي الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. إذا كان
الرقم الموجود على اليسار أكبر من الرقم الموجود على اليمين، فسيتم إرجاع خطأ. كما
هو الحال مع عامل المساواة، يقوم عامل التشغيل الأقل من أو يساوي بتحويل أنواع
البيانات.

```js
4 <= 5; // true
"7" <= 7; // true
5 <= 5; // true
3 <= 2; // false
"8" <= 4; // false
```

0 comments on commit 6363176

Please sign in to comment.