هذه الأداة مقدمة من Hesapstan لتحويل التعابير الرياضية بين الترميز الداخلي Infix، والترميز البادئ Prefix أو البولندي، والترميز اللاحق Postfix أو البولندي العكسي RPN.
ماذا تفعل هذه الأداة؟
هذه الأداة تحوّل طريقة كتابة التعبير بين Infix وPrefix وPostfix، ولا تحسب القيمة العددية للتعبير. أي أنها تغيّر شكل الترميز فقط، ولا تعطي ناتج العملية مثل آلة حاسبة عادية.
تدعم الأداة ستة اتجاهات للتحويل: من Infix إلى Prefix، ومن Infix إلى Postfix، ومن Prefix إلى Infix، ومن Prefix إلى Postfix، ومن Postfix إلى Infix، ومن Postfix إلى Prefix. العوامل المدعومة هي + و - و * و / و ^.
لا تحسب هذه الأداة نتيجة التعبير. كما أنها لا تدعم الدوال الرياضية مثل sin أو cos أو sqrt أو log.
ما الفرق بين Infix وPrefix وPostfix؟
في الترميز الداخلي Infix يُكتب العامل بين المعاملين، وهو الشكل المألوف في الرياضيات المدرسية. مثال ذلك: A + B.
- Infix: العامل في الوسط، مثل A + B.
- Prefix أو الترميز البولندي: العامل في البداية، مثل + A B.
- Postfix أو الترميز البولندي العكسي RPN: العامل في النهاية، مثل A B +.
في Prefix وPostfix تُفهم بنية التعبير من ترتيب الرموز. لذلك تظهر هذه الصيغ في الخوارزميات، والمترجمات، وبنى المعطيات، والحساب المعتمد على المكدس.
لماذا يسمى الترميز البولندي بهذا الاسم؟
يرتبط اسم الترميز البولندي بالمنطقي البولندي يان لوكاشيفيتش. في هذا الأسلوب يُكتب العامل قبل المعاملات، ولذلك يمكن تمثيل كثير من التعابير دون الحاجة إلى الأقواس المعتادة في Infix.
أما Postfix فيسمى Reverse Polish Notation أو RPN. في هذا الشكل يأتي العامل بعد المعاملات، ويمكن معالجة التعبير بسهولة باستخدام مكدس.
كيف تستخدم المحوّل؟
اختر صيغة المصدر وصيغة الهدف، ثم اكتب التعبير حسب قواعد صيغة المصدر. يجب أن تكون صيغة الهدف مختلفة عن صيغة المصدر.
- في Infix يمكنك استخدام الكتابة الرياضية المعتادة والأقواس عند الحاجة: (A + B) * C.
- في Prefix افصل الرموز بمسافات: * + A B C.
- في Postfix افصل الرموز بمسافات: A B + C *.
- بعد التحويل راجع قائمة الرموز المكتشفة والتعبير الناتج في الصيغة المطلوبة.
الرمز هو جزء مستقل من التعبير، مثل عدد أو اسم متغير أو عامل أو قوس. تدعم الأداة الأعداد وأسماء المتغيرات المفردة أو متعددة الأحرف مثل A وB وx وabc.
كيف تتعامل الأداة مع الأولوية والأقواس؟
في Infix تُحدد أولوية العوامل والأقواس ترتيب العمليات. في هذه الأداة تكون الأولوية: ^ ثم * و / ثم + و -.
العامل ^ يُعامل كعامل يرتبط من اليمين، أما + و - و * و / فتُعامل كعوامل ترتبط من اليسار. يمكن للأقواس في Infix تغيير هذا الترتيب المعتاد.
تستخدم الأداة قواعد الأولوية والارتباط القياسية المذكورة هنا. لا تدعم جدول أولوية خاصًا يحدده المستخدم.
لماذا لا تدعم الأداة السالب الأحادي؟
السالب الأحادي هو علامة ناقص واحدة قبل قيمة، مثل -x أو -3. هذه الأداة لا تدعمه مباشرة، لأن الرمز نفسه '-' يُستخدم أيضًا كعامل طرح بين قيمتين.
إذا احتجت إلى إدخال ثابت سالب، فاستخدم الصيغة المحددة في العقد: (-3). بهذه الطريقة يمكن للمفسّر أن يتعامل معه كثابت سالب، لا كعملية سالب أحادي مستقلة.
إدخال -3 مباشرة غير مدعوم. للثابت السالب استخدم (-3). أما تطبيق السالب الأحادي على متغيرات مثل -x فهو خارج نطاق هذه الأداة.
أمثلة على اتجاهات التحويل الستة
يمكن كتابة التعبير نفسه بصيغ مختلفة مع الحفاظ على بنية العملية نفسها. الأمثلة التالية توضّح اتجاهات التحويل المدعومة.
من Infix إلى Prefix
الإدخال: (A + B) * C
الناتج: * + A B C
يُجمع A + B أولًا داخل قوس، ثم يضرب الناتج في C. في Prefix تُكتب العوامل قبل المعاملات التي تخصها.
من Infix إلى Postfix
الإدخال: (A + B) * C
الناتج: A B + C *
في Postfix تأتي المعاملات أولًا، ثم يُكتب العامل بعد القيم التي يربطها.
من Prefix إلى Infix
الإدخال: * + A B C
الناتج: (A + B) * C
تُقرأ صيغة Prefix بمطابقة كل عامل مع معاملاته، ثم تُكتب البنية نفسها بالصيغة الداخلية المألوفة.
من Prefix إلى Postfix
الإدخال: * + A B C
الناتج: A B + C *
يحافظ التحويل على بنية التعبير، لكنه يعيد ترتيب الرموز وفق صيغة Postfix.
من Postfix إلى Infix
الإدخال: A B + C *
الناتج: (A + B) * C
تُحل صيغة Postfix بمنطق المكدس؛ كل عامل يربط المعاملات المناسبة التي تسبقه.
من Postfix إلى Prefix
الإدخال: 3 4 + 2 *
الناتج: * + 3 4 2
هذا التعبير يعني تجميع 3 + 4 أولًا ثم ضرب الناتج في 2. الأداة لا تختصره إلى 14، بل تغير الصيغة فقط.
لماذا يُستخدم Postfix أو RPN؟
يفيد Postfix أو RPN لأنه يقلل الحاجة إلى الأقواس ويمكن معالجته بسهولة باستخدام المكدس. لذلك يظهر في الآلات الحاسبة، والمترجمات، ودروس الخوارزميات.
يمكن قراءة تعبير Postfix من اليسار إلى اليمين: تُضاف المعاملات إلى المكدس، وعند ظهور عامل تُؤخذ القيم اللازمة وتُبنى البنية الجديدة. عرض قائمة الرموز في الأداة يساعد على فهم هذه العملية.
الأخطاء الشائعة ورسائل التحقق
أكثر أخطاء التحويل تأتي من ترتيب الرموز، أو الأقواس، أو عدم توافق عدد العوامل مع عدد المعاملات.
- إذا فُتح قوس في Infix فيجب إغلاقه.
- في Prefix وPostfix يجب فصل الرموز بمسافات.
- عدد العوامل والمعاملات يجب أن يكون متوافقًا مع قواعد الصيغة المختارة.
- الأحرف غير المدعومة أو أسماء الدوال تُعد رموزًا غير صالحة.
- إدخال السالب الأحادي مثل -3 مباشرة ليس مدعومًا.
ما حدود هذه الأداة؟
هذه الأداة مخصصة لتحويل الصيغ في سياق علوم الحاسوب والرياضيات المتقطعة. معرفة حدودها تمنع سوء فهم الناتج.
- لا تحسب القيمة العددية للتعبير.
- تدعم فقط العوامل + و - و * و / و ^.
- لا تدعم الدوال مثل sin أو cos أو sqrt أو log.
- لا تدعم السالب الأحادي مباشرة؛ استخدم (-3) للثابت السالب.
- لا تسمح بتغيير أولوية العوامل أو قواعد ارتباطها.
ما الحاسبة القريبة التي أستخدمها بعد ذلك؟
هذه الصفحة مخصصة للترميز الشكلي للتعابير. إذا كان هدفك عملية حسابية مباشرة أو نوعًا آخر من الترميز، فقد تكون أداة أخرى أنسب.
- حاسبة الضرب مناسبة إذا أردت ضرب أرقام مباشرة.
- حاسبة الأعداد الصحيحة مناسبة لعمليات الأعداد الصحيحة والقيم ذات الإشارة.
- حاسبة صيغة بناء المجموعة مناسبة إذا كنت تحتاج أداة أخرى للترميز الرياضي الرسمي في موضوع المجموعات.
أسئلة شائعة
ما هو الترميز البولندي؟
هو ترميز تُكتب فيه العملية قبل المعاملات. مثلًا يكتب التعبير A + B على الصورة + A B.
ما الفرق بين Prefix وPostfix؟
في Prefix يأتي العامل قبل المعاملات مثل + A B. في Postfix يأتي العامل بعد المعاملات مثل A B +.
ما معنى RPN؟
RPN اختصار Reverse Polish Notation، أي الترميز البولندي العكسي، وهو نفسه الترميز اللاحق Postfix.
هل تحسب الأداة نتيجة التعبير؟
لا. الأداة تحول الصيغة فقط بين Infix وPrefix وPostfix، ولا تنفذ الحساب العددي.
كيف أدخل عددًا سالبًا؟
السالب الأحادي غير مدعوم مباشرة. للثابت السالب استخدم الصيغة (-3).
هل يجب وضع مسافات في Prefix وPostfix؟
نعم. يجب فصل الرموز بمسافات، مثل * + A B C أو A B + C *.
ما العوامل المدعومة؟
العوامل المدعومة هي + و - و * و / و ^. لا تدعم الأداة الدوال أو العوامل الخاصة.
كيف تتعامل الأداة مع الأقواس؟
تستخدم الأقواس في Infix لتحديد ترتيب العمليات. أما Prefix وPostfix فيُفهم ترتيبهما غالبًا من ترتيب الرموز نفسه.