⚡ JavaScript

العمليات الحسابية — JavaScript

```html

ما هذا ولماذا؟

تخيل أنك أمين صندوق في متجر للحلويات. يأتي إليك مشتري ويقول: "أعطني 3 قطع شوكولاتة بسعر 50 روبل لكل قطعة و2 ليموناضة بسعر 70 روبل لكل واحدة". لحساب المجموع، تحتاج إلى ضرب (3 × 50 و 2 × 70)، ثم جمع النتائج. وإذا أعطى المشتري 500 روبل، فستحتاج إلى طرح قيمة المشتريات لإعطاء الباقي. أما إذا كانت الحلوى تباع في عبوات تحتوي كل منها على 4 قطع، وتحتاج إلى 10 قطع، فسيتعين عليك القسمة لمعرفة عدد العبوات التي ستأخذها.

في JavaScript، تعمل العمليات الحسابية تمامًا كما في دروس الرياضيات. الفرق هو أنك بدلاً من الكتابة على الورق، تعطي أوامر للكمبيوتر. الكمبيوتر يحسب فورًا ولا يخطئ أبدًا (إذا لم تخطئ أنت في الأمر).

لماذا يحتاج المبرمج إلى هذا؟ تخيل أنك تكتب لعبة حيث تجمع الشخصية العملات المعدنية. كل عملة تضيف 10 نقاط. يجب أن تكون قادرًا على إضافة 10 إلى النتيجة الحالية. أو، على سبيل المثال، تصنع آلة حاسبة لدروس الفيزياء - ستحتاج إلى جميع العمليات في وقت واحد.

في JavaScript، هناك 5 عمليات حسابية أساسية:

  • + — الجمع (كما في المدرسة)
  • - — الطرح
  • * — الضرب (النجمة، لأنه لا يوجد علامة × على لوحة المفاتيح)
  • / — القسمة (الشرطة المائلة، لأنه لا يوجد علامة ÷)
  • % — باقي القسمة (هذا جديد! يظهر المقدار المتبقي إذا قسمت بدون كسر)

على عكس Python، حيث تعطي القسمة دائمًا عددًا كسريًا (على سبيل المثال، 10 / 3 = 3.333...)، في JavaScript أيضًا أعداد كسرية، ولكن هناك خدعة واحدة: الأعداد الصحيحة في JS قد تتصرف بشكل غير متوقع إذا كانت كبيرة. لكن سنتحدث عن هذا لاحقًا.

القاعدة الأساسية: الكمبيوتر ينفذ العمليات بنفس الترتيب المتبع في الرياضيات: الضرب والقسمة أولاً، ثم الجمع والطرح. الأقواس تغير الترتيب. تذكر: الأقواس أولاً، ثم الضرب/القسمة، ثم الجمع/الطرح.

أمثلة على الكود مع الشرح

دعنا ننتقل فورًا إلى الأمثلة. افتح وحدة التحكم في المتصفح (F12 → علامة التبويب Console) أو أي محرر عبر الإنترنت وحاول إدخال الكود. يمكن نسخ جميع الأمثلة وتشغيلها.

مثال 1: الجمع والطرح — كما في المتجر

// كان معك 150 روبل. اشتريت فطيرة بـ 45 روبل.
// كم تبقى من المال؟
let bylo = 150;
let potratil = 45;
let ostalos = bylo - potratil;
console.log("المبلغ المتبقي بالروبل:", ostalos); // سيظهر: المبلغ المتبقي بالروبل: 105

// والآن تخيل أن أمي أعطتك 50 روبل إضافية لشراء آيس كريم.
let dobavka = 50;
let vsego = ostalos + dobavka;
console.log("المبلغ الإجمالي الآن بالروبل:", vsego); // سيظهر: المبلغ الإجمالي الآن بالروبل: 155

// بالمناسبة، يمكنك كتابة الأرقام مباشرة، بدون متغيرات:
console.log(100 + 200); // 300
console.log(500 - 250); // 250

الشرح: المتغيرات هي مثل صناديق صغيرة عليها ملصقات. في الصندوق bylo وضعنا الرقم 150. عندما نكتب bylo - potratil، يقوم الكمبيوتر بإخراج الأرقام من الصناديق ويطرحها. نضع النتيجة في صندوق جديد ostalos. console.log هو أمر "أظهر النتيجة في وحدة التحكم".

في Python، سيبدو الأمر نفسه تقريبًا، لكن let غير مطلوب (في Python فقط bylo = 150). JavaScript يتطلب let (أو const، أو var) لتعريف المتغير.

مثال 2: الضرب — حساب تكلفة الشراء

// تشتري 4 دفاتر بسعر 25 روبل لكل دفتر.
// كم يجب أن تدفع؟
let cenaTetradi = 25;
let kolichestvo = 4;
let stoimost = cenaTetradi * kolichestvo;
console.log("تكلفة الدفاتر:", stoimost); // 100

// وإذا كنت بحاجة لشراء 3 علب بسكويت بسعر 89 روبل و2 عصير بسعر 55 روبل؟
let pechenie = 89 * 3; // 267
let sok = 55 * 2;      // 110
let itog = pechenie + sok;
console.log("الإجمالي المستحق:", itog); // 377

// يمكنك الحساب مباشرة داخل console.log:
console.log("التحقق:", 89 * 3 + 55 * 2); // أيضًا 377

// الضرب في البرمجة هو النجمة *.
// في الرياضيات يكتبون ×، لكنه غير موجود على لوحة المفاتيح، لذلك يستخدمون *.
console.log(10 * 10); // 100
console.log(7 * 8);   // 56

الشرح: لاحظ أننا لم نكتب (89 * 3) + (55 * 2)، على الرغم من أن هذا ممكن أيضًا. الكمبيوتر يعرف أن الضرب يتم قبل الجمع. لكن إذا كنت تريد التأكد، ضع أقواسًا. إنها لا تضر، بل تجعل الكود أوضح.

نصيحة: ضع دائمًا أقواسًا في التعبيرات المعقدة، كما في الرياضيات. (a + b) * c ليس مثل a + b * c.

مثال 3: القسمة — نقسم البيتزا

// لديك بيتزا مكونة من 8 قطع. أنتم 3 أصدقاء (وأنت الرابع).
// كم قطعة سيحصل عليها كل شخص إذا قسمت بالتساوي؟
let kuskov = 8;
let druzei = 4; // أنت + 3 أصدقاء
let kazhdomu = kuskov / druzei;
console.log("نصيب كل شخص من القطع:", kazhdomu); // 2

// وإذا كانت البيتزا مكونة من 10 قطع، وأنتم 4؟
console.log(10 / 4); // 2.5 — كل شخص يحصل على 2.5 قطعة

// القسمة قد تعطي أعدادًا كسرية. في JavaScript تسمى "أعداد ذات فاصلة عائمة".
console.log(7 / 2); // 3.5
console.log(1 / 3); // 0.3333333333333333 (أرقام كثيرة بعد الفاصلة)

// مهم: إذا قسمت 0 على أي رقم، ستكون النتيجة 0:
console.log(0 / 5); // 0

// أما إذا قسمت رقمًا على 0؟ ستكون النتيجة Infinity (لا نهاية):
console.log(10 / 0); // Infinity — هذه قيمة خاصة في JS

الشرح: في Python، القسمة / تعطي أيضًا عددًا كسريًا. لكن في Python يوجد أيضًا // — القسمة الصحيحة (كم عدد القطع الصحيحة). في JavaScript لا يوجد هذا العامل (لكن هناك طرق للحصول على عدد صحيح — عبر Math.floor أو Math.trunc، سنتحدث عن هذا لاحقًا).

تذكر: القسمة على صفر غير ممكنة في الرياضيات، لكن الكمبيوتر لا يتعطل — بل يعطي Infinity (لا نهاية).

```