الرياضيات#
مقدمة#
تتضمن مكتبة الرياضيات كلاً من دوال بايثون المدمجة ووحدة الرياضيات الكاملة math المتوفرة تلقائيًا في VEXcode EXP. تتيح لك هذه الأدوات إجراء كل شيء بدءًا من العمليات الحسابية الأساسية وحتى حساب المثلثات المتقدم والتقريب والعمليات اللوغاريتمية.
استخدم هذه الدوال والثوابت لحساب المواضع والزوايا والمسافات وغيرها من القيم العددية لروبوتك. يمكنك أيضًا التحويل بين الدرجات والراديان، وتقييم التعبيرات، والتعامل مع قيم خاصة مثل اللانهاية وNaN.
فيما يلي قائمة بالوظائف الرياضية والثوابت والأدوات المساعدة المتاحة:
الوظائف المدمجة – أدوات الرياضيات الشائعة المضمنة في بايثون.
abs– تُرجع القيمة المطلقة للعدد.round– يقوم بتقريب رقم إلى عدد محدد من المنازل العشرية.min– تُرجع أصغر قيمة من قيم الإدخال.max– تُرجع أكبر قيمة من قيم الإدخال.sum– يجمع كل القيم في مجموعة قابلة للتكرار.divmod– تُرجع ناتج القسمة والباقي كزوج مرتب.pow– يرفع عددًا إلى قوة، مع إمكانية إضافة باقي القسمة.int– يحول قيمة إلى عدد صحيح.float– يحول قيمة إلى عدد عشري.
Constants – Predefined values from the math module.
علم المثلثات – حساب الزوايا والعلاقات بين الأضلاع.
math.sin– جيب الزاوية بالراديان.math.cos– جيب تمام الزاوية بالراديان.math.tan– ظل الزاوية بالراديان.math.atan– دالة الظل العكسي لقيمة بالراديان.math.atan2– ظل الزاوية العكسي لـ y/x بالراديان، مع الأخذ في الاعتبار الربع.math.asin– Arcsine of a value in radians.math.acos– معكوس جيب التمام لقيمة بالراديان.math.degrees– يحول الراديان إلى درجات.math.radians– يحول الدرجات إلى راديان.
التقريب والقيمة المطلقة - ضبط الدقة أو الاتجاه.
math.ceil– التقريب إلى أقرب عدد صحيح.math.floor– التقريب إلى أقرب عدد صحيح.math.trunc– يزيل الجزء العشري.math.fabs– تُرجع القيمة المطلقة كعدد عشري.
الأسس واللوغاريتمات – حسابات القوة والجذر واللوغاريتم.
math.pow– يرفع عددًا إلى قوة.math.sqrt– تُرجع الجذر التربيعي.math.exp– يحسب e مرفوعًا للأس x.math.log– احسب لوغاريتم x.
عمليات الفاصلة العائمة – فحص أو تحليل قيم الفاصلة العائمة.
math.modf– تُرجع الأجزاء الكسرية والصحيحة من عدد عشري.math.frexp– يحلل العدد إلى جزء من الكسر والأس.math.fmod– الباقي مع إشارة المقسوم.math.copysign– تُرجع قيمة بإشارة قيمة أخرى.math.ldexp– يحسبx * (2 ** exp).
الوظائف المدمجة#
توفر لغة بايثون العديد من الدوال المدمجة التي تسمح لك بإجراء العمليات الحسابية داخل مشروعك.
abs#
تقوم الدالة abs بإرجاع القيمة المطلقة للعدد، مع إزالة أي إشارة سالبة.
Usage:
abs(x)
المعلمة |
وصف |
|---|---|
|
عدد صحيح أو عدد عشري. |
# Get the absolute value of -10
abs_result = abs(-10)
brain.screen.print(abs_result)
# abs_result = 10
round#
round تقوم بتقريب رقم إلى عدد محدد من المنازل العشرية.
Usage:
round(x, ndigits)
المعلمة |
وصف |
|---|---|
|
عدد صحيح أو عدد عشري. |
|
اختياري. عدد المنازل العشرية المراد التقريب إليها. القيمة الافتراضية هي 0. |
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
brain.screen.print(round_int_result)
# round_int_result = 6
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
brain.screen.print(round_result, precision=2)
# round_result = 3.14
min#
تقوم الدالة min بإرجاع أصغر قيمة من بين عدة وسائط أو من كائن قابل للتكرار.
Usage:
min(arg1, arg2, …) or min(sequence)
المعلمة |
وصف |
|---|---|
|
الأرقام للمقارنة. |
|
قائمة أو صف أو تسلسل آخر يحتوي على أرقام. |
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
brain.screen.print(min_result)
# min_result = 1
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
brain.screen.print(min_list_result)
# min_list_result = 1
max#
تُعيد الدالة max أكبر قيمة من بين عدة وسائط أو من كائن قابل للتكرار.
Usage:
max(arg1, arg2, …) or max(sequence)
المعلمة |
وصف |
|---|---|
|
الأرقام للمقارنة. |
|
قائمة أو صف أو تسلسل آخر يحتوي على أرقام. |
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
brain.screen.print(max_result)
# max_result = 7
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
brain.screen.print(max_list_result)
# max_list_result = 25
sum#
sum يجمع كل القيم في مجموعة قابلة للتكرار، مع قيمة بداية اختيارية.
Usage:
sum(sequence, start)
المعلمة |
وصف |
|---|---|
|
قائمة أو صف أو تسلسل آخر يحتوي على أرقام. |
|
اختياري. قيمة تُضاف إلى المجموع. القيمة الافتراضية هي 0. |
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
brain.screen.print(sum_result)
# sum_result = 15
# Calculate the sum of a list with a starting value of 10
sum_with_start = sum([1, 2, 3], 10)
brain.screen.print(sum_with_start)
# sum_with_start = 16
divmod#
divmod تُرجع مجموعة تحتوي على ناتج القسمة وباقي عملية القسمة.
Usage:
divmod(a, b)
المعلمة |
وصف |
|---|---|
|
الأرباح الموزعة. |
|
المقسوم عليه. |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
brain.screen.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow يرفع رقمًا إلى قوة ويقوم اختياريًا بإجراء عملية حسابية على باقي القسمة.
Usage:
pow(x, y, mod)
المعلمة |
وصف |
|---|---|
|
الرقم الأساسي. |
|
الأس. |
|
اختياري. قيمة باقي القسمة. إذا تم توفيرها، فإنها تُرجع |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
brain.screen.print(pow_result)
# pow_result = 8
int#
يقوم الأمر int بتحويل رقم أو سلسلة نصية إلى عدد صحيح. كما يدعم تحويل الأساس عند التحويل من سلسلة نصية.
Usage:
int(x, base)
المعلمة |
وصف |
|---|---|
|
رقم أو سلسلة نصية أو كائن آخر للتحويل. |
|
اختياري. أساس العد المستخدم للتحويل. القيمة الافتراضية هي 10. |
# Convert a float to an integer to get rid of decimals
price = 19.99
price_int = int(price)
brain.screen.print("{} coins".format(price_int))
# Output: 19 coins
# Convert a string into an integer to use in calculations
user_input = "55"
user_number = int(user_input)
brain.screen.print(user_number * 2)
# Output: 110
float#
float يحول رقمًا أو سلسلة نصية إلى رقم ذي فاصلة عائمة.
Usage:
float(x)
المعلمة |
وصف |
|---|---|
|
رقم أو سلسلة نصية أو كائن آخر للتحويل. |
# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
robot.screen.print(apples_per_person)
# Output: 3.00
# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
robot.screen.print(user_number * 3)
# Output: 70.20
وحدة الرياضيات#
توفر وحدة math في لغة MicroPython طرقًا إضافية لإجراء العمليات الحسابية الشائعة. وتشمل هذه الطرق العمليات المثلثية واللوغاريتمية وغيرها من العمليات العددية.
يتم استيراد وحدة math افتراضيًا في VEXcode.
Constants#
الثوابت هي قيم محددة مسبقاً تظل ثابتة طوال فترة المشروع. ويمكن استخدامها في العمليات الحسابية دون الحاجة إلى أي تعريف أو تعيين.
باي#
pi يعطي الثابت الرياضي π، وهو نسبة محيط الدائرة إلى قطرها.
Usage:
math.pi
# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
brain.screen.print(circle_area, precision=2)
# circle_area = 78.54
هـ#
e يعطي أساس اللوغاريتم الطبيعي.
Usage:
math.e
# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
brain.screen.print(e_power, precision=2)
# e_power = 7.39
Trigonometry#
الخطيئة#
تقوم الدالة sin بحساب جيب الزاوية بالراديان وتعيد قيمة عشرية.
Usage:
math.sin(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يمثل زاوية بالراديان. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.screen.print(result, precision=2)
# result = 0.50
كوس#
تقوم الدالة cos بحساب جيب تمام الزاوية بالراديان وتعيد قيمة عشرية.
Usage:
math.cos(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يمثل زاوية بالراديان. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.screen.print(result, precision=2)
# result = 0.50
لون برونزي#
تقوم الدالة tan بحساب ظل الزاوية بالراديان وتعيد قيمة عشرية.
Usage:
math.tan(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يمثل زاوية بالراديان. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.screen.print(result)
# result = 1.00
أسين#
asin يحسب الجيب العكسي (الجيب العكسي) لعدد ما ويعيد قيمة عشرية تمثل الزاوية بالراديان.
Usage:
math.asin(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح بين -1 و 1. |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
brain.screen.print(result)
# result = 30.00
أكوس#
acos يحسب معكوس جيب التمام (arc cosine) لعدد ما ويعيد قيمة عشرية تمثل الزاوية بالراديان.
Usage:
math.acos(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح بين -1 و 1. |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
brain.screen.print(result)
# result = 60.00
أتان#
تقوم atan بحساب الظل العكسي (الظل العكسي) لعدد ما وتعيد قيمة عشرية تمثل الزاوية بالراديان.
Usage:
math.atan(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح. |
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
brain.screen.print(result)
# result = 45.00
atan2#
atan2 يحسب القيمة الرئيسية لظل الزاوية العكسي لـ y/x ويعيد قيمة عشرية تمثل الزاوية بالراديان.
Usage:
math.atan2(y, x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يمثل الإحداثي الصادي. |
|
عدد عشري أو عدد صحيح يمثل الإحداثي السيني. |
# Calculate the inverse tangent
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
brain.screen.print(result)
# result = 45.00
الدرجات العلمية#
تقوم الدالة degrees بتحويل الزاوية من الراديان إلى الدرجات وتعيد قيمة عشرية.
Usage:
math.degrees(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يمثل زاوية بالراديان. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.screen.print(degrees_result)
# degrees_result = 180.00
الراديان#
radians يحول الزاوية من الدرجات إلى الراديان كعدد عشري.
Usage:
math.radians(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يمثل زاوية بالدرجات. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.screen.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
سقف#
ceil تقرب العدد إلى أقرب عدد صحيح.
Usage:
math.ceil(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يتم تقريبه لأعلى. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.screen.print(ceil_result)
# ceil_result = 4
أرضية#
الطابق floor.
Usage:
math.floor(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح يتم تقريبه إلى أقرب عدد صحيح أصغر. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.screen.print(floor_result)
# floor_result = 3
trunc#
trunc يزيل الجزء العشري من الرقم دون تقريب.
Usage:
math.trunc(x)
المعلمة |
وصف |
|---|---|
|
قيمة عشرية سيتم اقتطاعها. |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.screen.print(trunc_result)
# trunc_result = 3
فابز#
تقوم الدالة fabs بإرجاع القيمة المطلقة للعدد كعدد عشري.
Usage:
math.fabs(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح. |
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
brain.screen.print(fabs_result, precision=1)
# fabs_result = 3.7
Exponents & Logarithms#
سجل#
تقوم الدالة log بحساب لوغاريتم عدد ما وإرجاع قيمة عشرية.
Usage:
math.log(x, base)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح موجب. |
|
اختياري. أساس اللوغاريتم المراد استخدامه. افتراضياً، يكون هذا هو اللوغاريتم الطبيعي. |
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
brain.screen.print(log_result)
# log_result = 2.00
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
brain.screen.print(log_result)
# log_result = 3.00
قوة#
pow يرفع x إلى قوة y ويعيد قيمة عشرية، حتى لو كان كلا المدخلين عددين صحيحين.
Usage:
math.pow(x, y)
المعلمة |
وصف |
|---|---|
|
أساس عددي عشري أو صحيح. |
|
أسّ عشري أو صحيح. |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.screen.print(power_result)
# power_result = 8.00
الجذر التربيعي#
تقوم الدالة sqrt بحساب الجذر التربيعي لعدد ما وتعيد قيمة عشرية، حتى بالنسبة للأعداد المربعة الكاملة.
Usage:
math.sqrt(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح غير سالب. |
# Calculate the square root of 16
square_root = math.sqrt(16)
brain.screen.print(square_root)
# square_root = 4.00
خبرة#
تقوم الدالة exp بحساب الأس لعدد ما وإرجاع قيمة عشرية.
Usage:
math.exp(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح. |
# Calculate e raised to the power of 1
exp_result = math.exp(1)
brain.screen.print(exp_result, precision=2)
# exp_result = 2.72
Floating Point Operations#
modf#
modf يقوم بتحليل العدد إلى أجزائه الكسرية والصحيحة ويعيد مجموعة (fractional part, integer part)، وكلاهما كأعداد عشرية.
Usage:
math.modf(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح لتحليله. |
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
brain.screen.print(fractional_part, precision=2)
brain.screen.print(integer_part)
# fractional_part = 0.14
# integer_part = 3
راديكس#
frexp يقوم بتحليل العدد إلى الجزء العشري والأس الخاص به ويعيد مجموعة (mantissa, exponent)، حيث يكون الجزء العشري عددًا عشريًا والأس عددًا صحيحًا.
Usage:
math.frexp(x)
المعلمة |
وصف |
|---|---|
|
عدد عشري أو عدد صحيح لتحليله. |
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
brain.screen.print(mantissa, precision=2)
brain.screen.print(exponent)
# mantissa = 0.50
# exponent = 5
fmod#
fmod يعيد باقي القسمة مع الحفاظ على إشارة المقسوم (x).
Usage:
math.fmod(x, y)
المعلمة |
وصف |
|---|---|
|
الأرباح الموزعة. |
|
المقسوم عليه. |
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
brain.screen.print(fmod_result)
# fmod_result = 1
توقيع النسخة#
copysign تُرجع x بإشارة y.
Usage:
math.copysign(x, y)
المعلمة |
وصف |
|---|---|
|
القيمة المراد تعديلها. |
|
القيمة التي سيتم نسخ إشارتها. |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
brain.screen.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp يحسب x * (2 ** exp)، وهو ما يعادل x * 2exp.
Usage:
math.ldexp(x, exp)
المعلمة |
وصف |
|---|---|
|
القيمة الأساسية. |
|
الأس. |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
brain.screen.print(ldexp_result)
# ldexp_result = 48