في هذا التمرين سوف نقوم بحساب تقريبي لـ π (Pi).
 
التقنية هي كما يلي:
خذ نقطة عشوائية P عند الإحداثي (x، y) بحيث تكون 0 ≥ x ≥ 1 و 0 ≥ y ≥ 1. إذا كان x² + y² ≥ 1، فإن النقطة تكون داخل ربع قرص نصف القطر 1، وإلا فإن النقطة خارجها .
 
نحن نعلم أن احتمال وجود النقطة داخل ربع القرص يساوي π/4.
 
اكتب الطريقة approx(pts) التي ستستخدم مصفوفة النقاط pts لإرجاع الرقم التقريبي π. استخدم جافا سكريبت.
 
مدخل:
كل عنصر في النقاط هو نقطة.
يتم تمثيل النقطة بمصفوفة تحتوي على رقمين بالضبط، على التوالي، x وy بحيث يكون 0 ≥ x ≥ 1 و0 ≥ y ≥ 1.
النقاط ليست فارغة أبدًا وتحتوي دائمًا على عنصر واحد على الأقل.
لحساب تقريبي لـ π (Pi) باستخدام هذه الطريقة، يمكننا استخدام حجم النصف القطر المحدد وعدد النقاط التي تكون داخله. إذا احتمال وجود النقطة داخل ربع القرص هو π/4، فإن حجم النصف القطر الذي يمثل ربعه هو 1/4.

نبدأ بكتابة الطريقة approx(pts) في جافا سكريبت:

```javascript
// حجم النصف القطر (1/4) الذي يمثل ربع القرص
radiusQuarter = 1 / 4;

// عدد النقاط في المصفوفة pts
numPoints = pts.length; // نحصل على عدد النقاط من عدد الأعمدة (الرقمين x وy)

// حساب عدد النقاط التي تكون داخل النصف القطر
pointsInsideQuarter = numPoints * (pts.map(point => point[0]**2 + point[1]**2).filter(value => value >= radiusQuarter)); // نستخدم مساحة النقطة (x^2 + y^2) لكل نقطة

// حساب تقريبي لـ π بناءً على النسبة المئوية للنقاط داخل النصف القطر
approxPi = 4 * pointsInsideQuarter / numPoints; //因为我们已知 π/4 = pointsInsideQuarter / numPoints

approxPi
```

الخطوات المتبعة في الحل:

1. حدد حجم النصف القطر الذي نبحث عنه، وهو 1/4.
2. حصل على عدد النقاط في المصفوفة `pts` باستخدام طريقة `length`.
3. باستخدام `map` و`filter`، حساب مساحة النقطة (x^2 + y^2) لكل نقطة. إذا كان مساحة النقطة أكبر أو igual إلى النصف القطر، يتم حفظها.
4. ضرب عدد النقاط التي تكون داخل النصف القطر (pointsInsideQuarter) بـ 4 (لحساب النسبة المئوية) وdivideه بعدد النقاط (`numPoints`) لحساب تقريبي لـ π.
5. عرض النتيجة.

إذا كان لديك مجموعة من النقاط بالفعل، يمكنك استخدامها بدلاً من `pts` في هذا الكود.  لحساب التقريب العددي لـ π باستخدام هذه النقاط، يمكننا استخدام الخوارزمية التالية:

1. أولاً، نحتاج إلى حساب مجموع النقاط داخل ربع القرص وخارجه.

2. ثم نقسم هذا العدد على عدد النقاط للحصول على تقريب لـ π/4.

3. نكرر الخطوة 2 للعدد التقريبي لـ π/4 حتى نصل إلى الدقة المطلوبة.

4. نجمع  

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

الرمز التالي يوضح كيف يمكن تنفيذ هذا:

```javascript
function isInsideCircle(point) {
  return point.x * point.x + point.y * point.y <= 1;
}

function ```javascript وظيفة approx(pts) { لـ i في النطاق ((pts.length) { لـ j في النطاق ((pts.length - i) { إذا (i + j) < x2 + y2) { نتيجة العودة؛ } } نتيجة العودة؛ } ` ``