حاسبة الأقراص
أدخل الوزن الذي تريده على البار وشاهد بدقة الأقراص التي توضع على كل جانب: 100 كغ على بار وزنه 20 كغ تعني 40 كغ لكل جانب، قرص 25 وقرص 15. الأقراص الأثقل أولًا، ودون تقريب إذا تعذّر تكوين الهدف. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الوزن الإجمالي المستهدف (كغ)
- 100
- وزن القضيب (كغ)
- 20
- وزن الأقراص لكل جانب (كغ)
- 40
- الوزن الإجمالي المحمّل (كغ)
- 100
تحميل البار الحديدي مجانًا
كيف يُحمَّل البار خطوة بخطوة
تحميل البار عملية حسابية بسيطة لكن الخطأ فيها سهل وسط زحام النادي. أولًا اطرح وزن البار الفارغ من الهدف، ووزن البار القياسي 20 كغ. ثم اقسم الباقي على اثنين، لأن الجانبين يجب أن يتساويا. وأخيرًا املأ كل جانب بدءًا بأثقل قرص ما زال مناسبًا، ثم الذي يليه، حتى لا يتبقى شيء. مع المجموعة القياسية من أقراص 25 و20 و15 و10 و5 و2.5 و1.25 كغ، يترك هدف 100 كغ أربعين كيلوغرامًا لكل جانب، أي قرصًا من 25 كغ وقرصًا من 15 كغ. وتعرض النتيجة أيضًا الوزن الإجمالي الدقيق الذي سترفعه.
أخطاء شائعة عند تحميل البار
أكثر الأخطاء شيوعًا نسيان وزن البار، فتصبح كل مجموعة أثقل مما خُطط لها. ومنها أيضًا تحميل الجانبين بشكل مختلف، فيميل البار. مع الأقراص القياسية يتغير حمل كل جانب بخطوات قدرها 1.25 كغ، لذلك لا يمكن تكوين بعض الأهداف، وتنبّهك الحاسبة إلى ذلك بدل التقريب إلى وزن قريب. إذا كان في ناديك بار مختلف أو أقراص مختلفة فأدخلها، لأن تحميلًا يفترض أقراصًا لا تملكها لا فائدة منه. والقيم المحوّلة من الرطل تعمل أيضًا، بشرط أن يكون كل شيء بالوحدة نفسها.
إمكانية البلوغ والحالتان الخاصّتان
لمجموعة الأقراص الافتراضية أكبر خطوة قاسم مشترك قدرها 1.25 كغم، فيجب أن تكون أحمال الجانب مضاعفات لتلك الخطوة كي تكون قابلة للتحميل. ويمكنك تجاوز plates كليًّا لنمذجة مخزون صالتك الرياضية الخاصّ، بما فيه القيم الكسرية أو المحوَّلة إلى أرطال.
حالات الاستخدام
تطبيقات الصالة الرياضية والتدريب
أظهِر للرافع أي الأقراص بالضبط يُدخلها على كل جانب لوزن عمل موصوف، مستعملًا باره الخاصّ.
مخزونات أقراص مخصّصة
مرّر مصفوفة plates لمطابقة مخزون صالة منزلية واكتشِف متى يتعذّر ببساطة تحميل هدف.
الأسئلة الشائعة
كيف تقرّر أي الأقراص تستعمل؟
مرور جشع من الأكبر أولًا على مجموعة الأقراص المزالة التكرار والمرتَّبة تنازليًّا، محمّلًا أكبر عدد من كل قياس يتّسع لكل جانب.
كم وزنًا يوضع على كل جانب من البار؟
اطرح وزن البار من هدفك واقسم الباقي على اثنين. هدف 100 كغ على بار وزنه 20 كغ يترك 80 كغ من الأقراص، أي 40 كغ لكل جانب.
لماذا لا يمكن تحميل الوزن الذي أستهدفه؟
لأن الأقراص المتاحة لا تكوّن بالضبط الحمل المطلوب لكل جانب. مع المجموعة القياسية يجب أن يكون حمل كل جانب من مضاعفات 1.25 كغ، وبدل أن تقترح الحاسبة وزنًا قريبًا فإنها تخبرك بأن الهدف غير ممكن.
هل يمكنني استخدام أقراصي الخاصة أو بار مختلف؟
نعم. أدخل الأقراص الموجودة فعلًا في ناديك، بما فيها الأوزان الكسرية أو المحوّلة من الرطل، وأدخل وزن البار الذي تستخدمه. عندها يُبنى التحميل مما تملكه فقط.
ماذا لو كان الهدف مساويًا للبار الفارغ أو أخف منه؟
إذا ساوى الهدف وزن البار فلا تحتاج إلى أي قرص وترفع البار وحده. وإذا كان أخف من البار الفارغ فلا يمكن تحميله وترفضه الحاسبة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/plate-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"target_kg":100}'const res = await fetch("https://api.kit.forhosting.com/dev/plate-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"target_kg": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/plate-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"target_kg": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/plate-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"target_kg":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"target_kg":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/plate-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"target_kg": 100
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.plate_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
بمعلومية target_kg وbar_kg وقائمة اختيارية بالأقراص المتوفّرة، تُعيد تحميل الأقراص من الأكبر أولًا لأحد جانبَي البار والمجموع الدقيق المتحقّق.
خوارزمية الجشع لكل جانب
ومع القيم الافتراضية (bar_kg قدره 20 ومجموعة الأقراص المعيارية 25 و20 و15 و10 و5 و2.5 و1.25) يترك هدفٌ قدره 100 كغم حملًا قدره 80 كغم، أي 40 كغم لكل جانب، فيُعيد المرور الجشع قرصًا واحدًا 25 كغم وقرصًا واحدًا 15 كغم لكل جانب، وهو المثال المشحون بالضبط. وكل مدخل في plates_per_side زوج {weight, count}، مرتَّب من الأثقل أولًا، يصف ما يُعلَّق على أحد طرفَي البار.
إمكانية البلوغ والحالتان الخاصّتان
وبعد المرور الجشع، إن بقي أي وزن متبقٍّ فوق 1e-6 كغم، فلا يمكن بناء الحمل من الأقراص المعطاة، فيُطلق الاستدعاء invalid_input يعني أن الهدف غير قابل للبلوغ بمجموعة الأقراص، بدل إعادة تحميل تقريبي. وهناك حالتان خاصّتان تقفزان فوق الخوارزمية: إن ساوى الحمل صفرًا (يساوي الهدف البار) أعاد per_side_kg قدره 0 ومصفوفة plates_per_side فارغة وtotal_kg يساوي البار؛ وإن كان الحمل سالبًا (الهدف دون البار) أطلق invalid_input لأن الهدف أخفّ من البار الفارغ.
المدخلات والتحقق والمجاميع المُعادة
يجب أن يكون target_kg عددًا منتهيًا أكبر من صفر، وأن يكون bar_kg عددًا منتهيًا لا يقلّ عن صفر، وقيمته الافتراضية 20 عند إغفاله. ومعامل plates، عند تمريره، يجب أن يكون مصفوفة غير فارغة كل عنصر فيها عدد منتهٍ أكبر من صفر؛ وما ليس مصفوفة، أو مصفوفة فارغة، أو قرص غير موجب، يُطلق كلٌّ منها خطأ invalid_input مُصنَّفًا. ولاحِظ أن هذه القدرة لا تُجري أي تقريب للأوزان: فـ per_side_kg يساوي load/2 بالضبط، ويُعاد حساب total_kg بوصفه bar_kg + 2*per_side_kg، فيعكس المجموع المُعاد الوزن المحمّل الحقيقي لا الهدف المطلوب حين يختلفان. وتُعيد الاستجابة target_kg وbar_kg إلى جانب per_side_kg وتفصيل الأقراص والمجموع، مانحةً خطة تحميل مكتفية بذاتها.
حالات التكامل
أدوات البرمجة والتدريب
مرّر أوزان جلسة كاملة المستهدفة عبر API لتهيئة إشارات التحميل مسبقًا لكل مجموعة.
أسئلة تقنية
ما البار ومجموعة الأقراص الافتراضية؟
بار 20 كغم وأقراص 25 و20 و15 و10 و5 و2.5 و1.25 كغم، ما لم تتجاوز bar_kg أو مصفوفة plates.
ماذا لو تعذّر بناء الهدف بالضبط؟
إن بقي أي وزن بعد المرور الجشع، أعاد خطأ invalid_input يعني أن الهدف غير قابل للبلوغ بتلك المجموعة.
هل النتائج لكل جانب أم إجمالية؟
تسرد plates_per_side ما يوضَع على أحد طرفَي البار؛ وper_side_kg يساوي load/2 وtotal_kg يساوي bar_kg زائد ضِعف ذلك.
هل هي مجانية وكم تكلفة API؟
widget المتصفح مجاني (tier A) ويشغّل النواة الحتمية نفسها؛ وتُفوتر استدعاءات API لكل طلب ناجح من $0.002.