الكائن Math
قبل أن تفتح المحرّر، ثبّت المقاسات على اللوح حتى لا يختلط اتجاه السالب باتجاه الموجب. صورة بعرض 7.6 سم، فضلة كرتون 7.2، إزاحة إلى يسار الخط بمقدار 3.8 سم، وثلاثة أعواد: 12 و 9 و 15. هذه الأرقام لا تتحرك أثناء الشرح. الذي يتبدّل هو العدد الصحيح الذي تطلبه من كائن جاهز اسمه Math.
لا تبنِ الكائن
في العمليات الحسابية كان الرمز بين عددين وينتهي الأمر. في التاريخ والوقت كنت تصنع لحظة بـ new Date ثم تقرأ طرفًا منها. هنا لا صناعة. Math موجود سلفًا في اللغة، و new Math() يفشل، ونداؤه كدالة يفشل أيضًا. النداء الصحيح: اسم الكائن، ثم اسم العمل، على عدد عندك من قبل.
ورقة هذه الورشة لا فهرس للحفظ
كل سطر قرار واحد على هذا المقعد: بطاقة، قصّ، شراء، إزاحة يسار، أطول عود، أقصر عود. النداء يسلّمك عددًا ولا يمسّ المتر. إن أردت أن تبقى الثمانية داخل المتغير، اكتبها أنت في مكانها.
📊 قرارات المقعد
| العمل | قرار الورشة | عدد هذا المقعد | أين ينزلق اليد |
|---|---|---|---|
Math.round |
أقرب سنتيمتر صحيح لـ 7.6 |
8 |
نصف الوحدة على عدد سالب |
Math.floor |
ما تستطيع قصّه فعلًا من 7.2 |
7 |
استعماله على الإزاحة السالبة |
Math.ceil |
ما تشتريه كي تُغطى 7.2 |
8 |
دفع عدد صحيح أصلًا خطوةً إلى الأمام |
Math.trunc |
حذف الكسر من -3.8 باتجاه الصفر |
-3 |
توقّع نتيجة الخطوة نحو الأصغر |
Math.max |
الأطول بين 12 و 9 و 15 | 15 |
تمرير مصفوفة واحدة |
Math.min |
الأقصر بين الأعواد نفسها | 9 |
الخطأ نفسه مع المصفوفة |
على يمين الصفر، بقية النصف تصعد: 0.5 تستقر عند 1. على يسار الصفر، بقية النصف لا تنزل أكثر. هي تمشي نحو الموجب اللانهائي، فيستقر -1.5 عند -1 لا عند -2. من هنا يأتي خلاف المدرسة التي علّمت «النصف يصعد» على الموجب فقط. أما الخطوة نحو العدد الأصغر فلها عمل آخر، وستراها على الإزاحة.
بطاقة العرض
الإيصال لا يحمل الكسر، والورشة تطلب أقرب سنتيمتر صحيح. النداء لا يخزّن الناتج في المتغير. إن احتجت الثمانية لاحقًا، اكتبها أنت.
let width = 7.6;
console.log(Math.round(width));
البطاقة تكتب 8 و width يبقى 7.6، لأن الناتج لم يُخزَّن في المتغير. نصف الوحدة يصعد من 7.5 إلى 8 أيضًا، أما -1.5 فلا ينزل إلى -2 ويقف عند -1 لأن الاتجاه نحو الموجب.
let scrap = 7.2;
console.log(Math.floor(scrap));
console.log(Math.ceil(scrap));
المقص يقف عند 7. العُشران ليسا سنتيمترًا كاملًا يُقصّ. إن وجب أن تُغطى الفضلة بلا فجوة، فالسبعة قصيرة وعليك شراء 8. وإن كانت الفضلة 7 صحيحة من الأصل، فلا القصّ يزيدها ولا التغطية. الافتراق يظهر فقط مع الكسر.
let nudge = -3.8;
console.log(Math.trunc(nudge));
console.log(Math.floor(nudge));
الإشارة السالبة تبقى، ولا يتحوّل المقدار إلى مسافة بلا إشارة. حذف الكسر بـ Math.trunc يمشي نحو الصفر: من -3.8 تقف عند -3. الخطوة بـ Math.floor ممنوعة من الاقتراب من الصفر، فالعدد الصحيح الذي لا يكبر عن -3.8 هو -4. خلط الطريقتين يزيح الإطار سنتيمترًا زيادة أو نقصانًا.
console.log(Math.max(12, 9, 15));
console.log(Math.min(12, 9, 15));
كل عود وسيط مستقل، لا رزمة واحدة. الأطول 15 والأقصر 9. لفّ الثلاثة في مصفوفة ومرّرها كشيء واحد، فيضيع المحتوى ويأتي NaN. لم تحدث مقارنة. وصل عدد فاسد.
let drawer = Math.floor(Math.random() * 6) + 1;
console.log(drawer >= 1 && drawer <= 6);
console.log(Math.random() < 1);
السحب الخام لا يلمس 1 أبدًا. هو من صفر حتى ما دون الواحد. اضرب في 6 أولًا فتصير الفترة من صفر حتى ما دون 6، ثم خذ الخطوة نحو الأصغر فتحصل على 0 حتى 5، ثم أضف 1 فيصير الدرج من 1 إلى 6. لذلك السطر الأول صحيح في كل تشغيل. السطر الثاني سحب جديد، لا رقم الدرج نفسه، وهو أيضًا دون 1 دائمًا. إن أضفت 1 قبل تلك الخطوة، أو نسيتها، سقط الدرج على 0 أو على 7.
دائرة الفتحة على الإيصال
الفتحة دائرة نصف قطرها 5. المساحة هي π في نصف القطر في نصف القطر. الإيصال لا يعرض الكسر الطويل. يقرّب إلى عدد صحيح، ثم يكتب ذلك في الفقرة.
<!DOCTYPE html>
<html>
<head>
<title>math — page</title>
</head>
<body>
<p id="ticket">…</p>
<script>
let radius = 5;
let area = Math.PI * radius * radius;
let shown = Math.round(area);
let box = document.getElementById("ticket");
box.textContent = shown;
</script>
</body>
</html>
من يقرأ الفقرة يرى 79. π في 25 يقترب من 78.54، والتقريب يرفعه إلى 79. الخمسة نصف القطر، و 25 مربّعه. لا هذا ولا ذاك نصّ الفقرة.
قبل إغلاق الصندوق
لا تبدأ من البطاقة. تأكد أولًا أن 12 و 9 و 15 دخلت ثلاثة أعداد لا مصفوفة واحدة، وإلا جاء NaN بدل 15 و 9. ثم انظر إلى الفقرة: القارئ يرى 79 لا نصف القطر. الإزاحة السالبة هي الامتحان الصعب، لأن الحذف نحو الصفر يقف عند -3 والخطوة نحو الأصغر تقف عند -4، بينما الفضلة تُقصّ عند 7 وتُشترى عند 8 والبطاقة 8 مع بقاء المتغير على 7.6. الدرج يبقى بين 1 و 6 ما دام الضرب في 6 يسبق الخطوة ثم تأتي زيادة الواحد.
الكود يشتغل والمقاس يكذب
- صناعة
Mathبـnew، أو نداؤه كأنه دالة - إنزال
-1.5إلى -2 لأن المدرسة قالت «النصف ينزل» على السالب - مبادلة الحذف نحو الصفر بالخطوة نحو الأصغر على
-3.8نفسها - وضع 12 و 9 و 15 في مصفوفة وتسليم المصفوفة للأكبر أو للأصغر
- انتظار أن يساوي السحب 1 في إحدى المرات
- زيادة واحد على عدد كان صحيحًا منذ البداية، فقط لأن اسم العمل «تغطية»
ما يفسد الإطار هو اتجاه الخطوة على السالب، لا حفظ الأسماء. -1.5 يقف عند -1، و -3.8 ينقسم بين -3 و -4 بحسب الطريق. الدرس التالي هو نموذج DOM في HTML.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى