الترويسة cmath: pow وsqrt وabs وround
استخدم مكتبة الرياضيات القياسية لتنفيذ العمليات الرياضية الشائعة.
الترويسة cmath: pow وsqrt وabs وround درس مجاني في C++ Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C++ Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C++ Academy 4 دروس في المجموع.
ترويسة <cmath>
توجد الدوال الرياضية القياسية في <cmath>. تقبل معظمها قيمة من النوع double وتعيدها؛ كما تتوفر نسخ محمّلة للنوعين float وlong double.
الأسس: pow
ترفع std::pow(base, exp) الأساس إلى القوة exp. وتعيد قيمة من النوع double.
#include <cmath>
double x = std::pow(2.0, 10); // 1024.0
double y = std::pow(9.0, 0.5); // 3.0الجذور التربيعية: sqrt وcbrt
تعيد sqrt الجذر التربيعي، بينما تعيد cbrt الجذر التكعيبي.
double s = std::sqrt(2.0); // 1.414...
double c = std::cbrt(27.0); // 3.0القيمة المطلقة: abs
تعمل std::abs مع الأنواع الصحيحة وأنواع الفاصلة العائمة. بالنسبة إلى الأعداد الصحيحة، استخدم <cstdlib> أو استخدم std::abs مباشرةً.
#include <cmath>
#include <cstdlib>
int i = std::abs(-5); // 5
double d = std::abs(-3.14); // 3.14التقريب: floor وceil وround وtrunc
أوضاع التقريب الأربعة:
floor— باتجاه اللانهاية السالبةceil— باتجاه اللانهاية الموجبةround— إلى أقرب عدد، مع تقريب أنصاف القيم بعيدًا عن الصفرtrunc— باتجاه الصفر
أمثلة على التقريب
شاهد كيف تختلف هذه الدوال عند التعامل مع الأعداد الموجبة والسالبة.
std::cout << std::floor(3.7) << "\n"; // 3
std::cout << std::ceil(3.2) << "\n"; // 4
std::cout << std::round(3.5) << "\n"; // 4
std::cout << std::trunc(-3.7) << "\n"; // -3
std::cout << std::floor(-3.7) << "\n"; // -4باقي القسمة على أعداد الفاصلة العائمة: fmod
يعمل العامل % مع الأعداد الصحيحة فقط. استخدم std::fmod مع أعداد الفاصلة العائمة.
double r = std::fmod(10.5, 3.0); // 1.5اللوغاريتمات
ثلاثة أنواع من اللوغاريتمات:
std::log— اللوغاريتم الطبيعي (أساسه e)std::log10— اللوغاريتم ذو الأساس 10std::log2— اللوغاريتم ذو الأساس 2 (في C++11)
الدالة الأسية: exp
تحسب std::exp(x) القيمة e^x، وهي الدالة العكسية للوغاريتم الطبيعي.
double e = std::exp(1.0); // 2.718...
double x = std::log(e); // 1.0حساب المثلثات
تشمل الدوال sin وcos وtan ودوالها العكسية (asin وacos وatan). تتعامل جميعها مع الزوايا بوحدة الراديان.
double y = std::sin(M_PI / 2); // 1.0
// Convert degrees to radians: deg * M_PI / 180ثوابت مفيدة (C++20)
أضاف C++20 ثوابت رياضية مسماة في <numbers>، منها std::numbers::pi وe وsqrt2 وغيرها.
#include <numbers>
std::cout << std::numbers::pi; // 3.14159...
std::cout << std::numbers::e; // 2.71828...اختبار سريع
ما الدالة التي تقرّب -3.7 إلى -4؟
مراجعة
تغطي <cmath> الأسس والجذور والقيمة المطلقة والتقريب وباقي القسمة واللوغاريتمات والدوال الأسية والمثلثية. وتعمل الدوال المثلثية بوحدة الراديان. أضاف C++20 الترويسة <numbers> للثوابت المسماة مثل std::numbers::pi.
تعلم C++ مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 51
- الدروس
- 203
الأسئلة الشائعة
هل درس «الترويسة cmath: pow وsqrt وabs وround» مجاني؟
نعم — نص درس «الترويسة cmath: pow وsqrt وabs وround» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C++ Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C++ Academy 4 دروس في المجموع.
ماذا ستتعلم في «الترويسة cmath: pow وsqrt وabs وround»؟
استخدم مكتبة الرياضيات القياسية لتنفيذ العمليات الرياضية الشائعة. تتمرن على C++ Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C++ Academy؟
لا تُشترط خبرة سابقة. C++ Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «الترويسة cmath: pow وsqrt وabs وround»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C++ Academy هذا؟
نعم. كل درس في C++ Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الأنواع الصحيحة مقابل أنواع الفاصلة العائمة
- الترويسة cmath: pow وsqrt وabs وround
- الأعداد العشوائية باستخدام الترويسة random
- الحدود الرقمية وسلوك تجاوز السعة