عزيزي السّائل، نعم، إنّ أولويات العمليّات الحسابيّة تختلف في لغات البرمجة من لغةٍ إلى أخرى، وفيما يأتي توضيح لذلك:
في لغات البرمجة الأكثر شهرة مثل: (Java)، و(C++)، و (VB.net) تكون الأولويات بالتّرتيب؛ من الأولويّة الأعلى إلى الأقل كما يأتي:
- الأقواس.
- الأسس.
- القسمة والضرب، تتساويان في الأولوية.
- الجمع والطرح، تتساويان في الأولوية.
وعند تساوي الأولويات تنفذ العمليات الحسابية من اليسار إلى اليمين.
مثال: 2*3+(5*4)^2
الحل:
- في البداية نجد قيمة ما داخل الأقواس (4*5)=20
- ثم نجد حاصل 2 أس 20 =400
- بعدها نجد حاصل ضرب (3*2)= 6
- أصبح لدينا 400+6 نقوم بعملية الجمع ليكون الناتج= 406
أمّا في بعض لغات البرمجة الأخرى، فإنّه لا يوجد ترتيب محدّد لأولويّات العمليّات الحسابية، مثل اللغات الآتية:
- Smalltalk
إذ تُنفّذ العمليّات من اليسار إلى اليمين بالتّرتيب.
مثال: 4*5+3
الحل:
- تُنفّذ عمليّة الجمع أولاً، 5+3=8
- ثمّ تُنفّذ عملية الضرب، 4*8=32
- إذاً النّاتج 32 وليس 17 حسب أولويات لغات البرمجة الأخرى.
- لغة LISP
إذ تُنفّذ العمليّات من اليسار إلى اليمين بالتّرتيب كما في لغة (Smalltalk).
أمّا اللّغات التي تنفّذ العمليات الحسابية من اليمين إلى اليسار فهي كالآتي:
- لغة APL
مثال: 2-1*4
الحل:
- تُنفذ عملية الطرح بدايةً 2-1=1
- إيجاد حاصل الضّرب 1*4=4
- الناتج هو 4 وليس 7.