كل الأدوات
رسم بياني

حاسبة برمجة رياضية على الإنترنت: لغة آمنة مع الحلقات والدوال والرسوم

مختبر برمجي مدمج للرياضيات والرسم. اكتب برامجاً بلغة مفسَّرة آمنة (بدون eval) مع المتغيرات والمصفوفات والدوال والحلقات والشروط، بالإضافة إلى دوال رياضية مضمّنة ودوال المشتقة العددية والتكامل وأوامر الرسم ثنائي وثلاثي الأبعاد. شغّل البرنامج بالضغط على Ctrl/Cmd+Enter، وحمّل سكربتات أمثلة، وشاهد كلاً من مخرجات وحدة التحكم ورسوم SVG/WebGL — كلها تُنفّذ محلياً في متصفحك.

Ctrl/Cmd + Enter للتشغيل · Tab للمسافة البادئة
البرمجة النصية · دليل

دليل الآلة الحاسبة البرمجية

لغة صندوق رمل آمنة مع المتغيرات والدوال والحلقات والرسوم

تشغّل الآلة الحاسبة البرمجية لغة مدمجة صغيرة داخل مفسر معزول. يمكنك تعريف المتغيرات والدوال، واستخدام تفرعات if/else، وحلقات for وwhile، والمصفوفات (مع range وpush وlen)، واستدعاء دوال الرياضيات المدمجة، وإنشاء رسوم ثنائية أو ثلاثية الأبعاد. يُحلل المفسر الكود إلى AST ويُنفذ بالكامل داخل متصفحك — فلا يستخدم eval أو new Function أبداً، ويمنع حد الخطوات الحلقات اللانهائية.

01 كتابة سكربت

تُنفذ العبارات من الأعلى إلى الأسفل. أسند المتغيرات بـ =، وعرّف الدوال بـ fn name(args) { ... }، وتفرّع بـ if/else. تستخدم الحلقات for (i = 0; i < n; i = i + 1) { ... } وwhile (cond) { ... }. تُنشأ المصفوفات بـ [1, 2, 3] أو range(n)، ويعمل push/len كما هو متوقع. تكتب print(...) إلى وحدة تحكم الإخراج.

تتضمن دوال الرياضيات المتاحة sin, cos, tan, asin, acos, atan, log, exp, sqrt, abs, min, max, pow, floor, ceil وround، إضافة إلى ثابت باي. تنتج أوامر الرسم أشكالاً بجانب وحدة التحكم: plot(f, xmin, xmax) لمنحنى ثنائي الأبعاد؛ وplot3d(f, xmin, xmax, ymin, ymax) لسطح؛ وparam3d(x, y, z, tmin, tmax) لمنحنى بارامتري؛ وscatter3d(xs, ys, zs) لسحابة نقطية. كما تتوفر derivative(f, x) وintegrate(f, a, b).

استخدم أزرار الأمثلة لتحميل عينات عاملة، ثم حرّرها. اضغط Ctrl/Cmd+Enter (أو تشغيل) للتنفيذ. يُدرج المحرر مسافتين عند الضغط على Tab للحفاظ على ترتيب المسافات البادئة. إذا احتوى السكربت على خطأ، تُظهر وحدة التحكم رقم السطر والسبب؛ وإذا استغرق وقتاً طويلاً، يوقفه حد الخطوات بأمان.

  • المتغيرات: x = 3، name = value (لا حاجة لكلمة var/let)
  • الدوال: fn add(a, b) { return a + b }
  • الشرط: if (x > 0) { ... } else { ... }
  • الحلقات: for وwhile مع أقواس معقوفة حول الجسم
  • المصفوفات: [1, 2, 3]، range(n)، push(arr, v)، len(arr)
  • الإخراج: print(...)؛ الرسوم تُعرض فوق وحدة التحكم
الأزرار والمفاتيح

التشغيل

  • ▶ Runينفذ السكربت. الاختصار Ctrl/Cmd+Enter.
  • Ctrl/Cmd+Enterاختصار لوحة المفاتيح للتشغيل.
  • Tabيُدرج مسافتين للمسافة البادئة.

محمّلات الأمثلة

  • 2Dيحمّل مثال رسم ثنائي الأبعاد باستخدام plot(...).
  • 3Dيحمّل مثال سطح ثلاثي الأبعاد باستخدام plot3d(...).
  • بارامترييحمّل مثال منحنى param3d(...).
  • تبعثريحمّل مثال سحابة نقطية scatter3d(...).

المحرر والإخراج

  • منطقة الكوداكتب السكربت هنا؛ تظهر أرقام الأسطر في الهامش.
  • لوحة وحدة التحكمتُظهر مخرجات print(...) أو رسائل الخطأ أو "لا يوجد إخراج".
  • منطقة الرسمتُعرض الأشكال ثنائية/ثلاثية الأبعاد عندما يستدعي السكربت أمر رسم.

الأوامر المدمجة

  • plot(f, a, b)يرسم منحنى ثنائي الأبعاد لـ f(x) عبر [a, b].
  • plot3d(f, a, b, c, d)يرسم سطحاً z = f(x, y) عبر المستطيل.
  • param3d(x, y, z, a, b)يرسم منحنى بارامتري عبر t ∈ [a, b].
  • scatter3d(xs, ys, zs)يرسم سحابة نقطية ثلاثية الأبعاد من ثلاث مصفوفات.
  • derivative(f, x)المشتقة العددية لـ f عند x.
  • integrate(f, a, b)التكامل المحدد العددي عبر [a, b].
نصائح
  • غلّف أجسام الدوال وأجسام الحلقات دائماً بالأقواس المعقوفة { }.
  • استخدم print(...) لفحص القيم أثناء تصحيح الأخطاء.
  • يحمي حد الخطوات الصفحة من الحلقات اللانهائية — بسّط الحلقات الثقيلة إذا أُوقفت.
  • ابدأ من مثال وعدّله لتتعلم الصياغة بسرعة.
  • لا يتوفر وصول إلى DOM أو الشبكة أو eval داخل الصندوق — لا يمكن للسكربتات مغادرة المتصفح.

حاسبة برمجة نصية مجانية على الإنترنت بلغة آمنة مدمجة. عرّف المتغيرات والدوال، واستخدم if/else وحلقات for وwhile والمصفوفات وrange/len/push، واستدعِ الدوال الرياضية المدمجة (sin وcos وlog وsqrt وabs وmin وmax وpow)، وأنشئ الرسوم باستخدام plot وplot3d وparam3d وscatter3d. المفسّر معزول — لا يستخدم eval أو new Function أبداً — ويفرض حداً للخطوات. اضغط Ctrl/Cmd+Enter للتشغيل.

كتابة السكربت

تُنفَّذ العبارات من الأعلى إلى الأسفل. عيّن المتغيرات بـ =، وعرّف الدوال بـ fn name(args) { ... }، وتفرّع بـ if/else. تستخدم الحلقات for (i = 0; i < n; i = i + 1) { ... } وwhile (cond) { ... }. تُنشأ المصفوفات بـ [1, 2, 3] أو range(n)، ويعمل push/len كما هو متوقع. تكتب print(...) إلى وحدة تحكم المخرجات.

الدوال الرياضية والرسومية المدمجة

تتضمن الدوال المتاحة sin وcos وtan وasin وacos وatan وlog وexp وsqrt وabs وmin وmax وpow وfloor وceil وround، بالإضافة إلى الثابت pi. أوامر الرسم: plot(f, xmin, xmax) لـ 2D؛ وplot3d(f, xmin, xmax, ymin, ymax) للأسطح؛ وparam3d(x, y, z, tmin, tmax) للمنحنيات؛ وscatter3d(xs, ys, zs) للسُحُب النقطية. يتوفر أيضاً derivative(f, x) وintegrate(f, a, b).

الأمان والحدود

تُحلَّل اللغة إلى AST وتُفسَّر في بيئة معزولة دون وصول إلى DOM أو الشبكة أو eval. يمنع حد لخطوات التنفيذ الحلقات اللانهائية، والذاكرة محدودة. اضغط Ctrl/Cmd+Enter (أو زر التشغيل) للتنفيذ؛ وتُظهر الأخطاء السطر والسبب في وحدة التحكم. كل السكربتات تبقى في متصفحك.

الأسئلة الشائعة

Qهل لغة السكربت هي JavaScript؟
A

لا. إنها لغة مخصصة صغيرة تُحلَّل إلى AST وتُفسَّر في بيئة معزولة، دون وصول إلى DOM أو الشبكة أو eval.

Qكيف أشغّل السكربت؟
A

اضغط Ctrl/Cmd+Enter أو انقر زر التشغيل. تظهر مخرجات print(...) وأي رسوم في منطقة النتائج.

Qماذا يحدث إذا كتبت حلقة لا نهائية؟
A

يفرض المفسّر حداً أقصى لعدد خطوات التنفيذ ويوقف السكربت بخطأ، لذا لن تتجمد الصفحة.

Qهل يمكنني الرسم من سكربت؟
A

نعم — استخدم plot وplot3d وparam3d وscatter3d؛ وتُعرض الرسوم إلى جانب مخرجات وحدة التحكم. يتوفر أيضاً derivative(f,x) وintegrate(f,a,b).