menu search
brightness_auto
more_vert

أودّ لو أعرف هل تختلف أولويات العمليات الحسابية في البرمجة أم أنّ الأولويات ثابتة في كل المجالات، وهل تختلف طريقة كتابة العمليات الحسابية في لغات البرمجة المختلفة؟

thumb_up_off_alt 0 معجب thumb_down_off_alt 0 شخص غير معجب

1 إجابة واحدة

more_vert

عزيزي السّائل، نعم، إنّ أولويات العمليّات الحسابيّة تختلف في لغات البرمجة من لغةٍ إلى أخرى، وفيما يأتي توضيح لذلك:

في لغات البرمجة الأكثر شهرة مثل: (Java)، و(C++)، و (VB.net) تكون الأولويات بالتّرتيب؛ من الأولويّة الأعلى إلى الأقل كما يأتي:

  1. الأقواس.
  2. الأسس.
  3. القسمة والضرب، تتساويان في الأولوية.
  4. الجمع والطرح، تتساويان في الأولوية.

وعند تساوي الأولويات تنفذ العمليات الحسابية من اليسار إلى اليمين.

مثال: 2*3+(5*4)^2

الحل:

  1. في البداية نجد قيمة ما داخل الأقواس (4*5)=20
  2. ثم نجد حاصل 2 أس 20 =400
  3. بعدها نجد حاصل ضرب (3*2)= 6
  4. أصبح لدينا 400+6 نقوم بعملية الجمع ليكون الناتج= 406

أمّا في بعض لغات البرمجة الأخرى، فإنّه لا يوجد ترتيب محدّد لأولويّات العمليّات الحسابية، مثل اللغات الآتية:

  1. Smalltalk

إذ تُنفّذ العمليّات من اليسار إلى اليمين بالتّرتيب.

مثال: 4*5+3

الحل:

  1. تُنفّذ عمليّة الجمع أولاً، 5+3=8
  2. ثمّ تُنفّذ عملية الضرب، 4*8=32
  3. إذاً النّاتج 32 وليس 17 حسب أولويات لغات البرمجة الأخرى.
  4. لغة LISP

إذ تُنفّذ العمليّات من اليسار إلى اليمين بالتّرتيب كما في لغة (Smalltalk).

أمّا اللّغات التي تنفّذ العمليات الحسابية من اليمين إلى اليسار فهي كالآتي:

  1. لغة APL

مثال: 2-1*4

الحل:

  1. تُنفذ عملية الطرح بدايةً 2-1=1
  2. إيجاد حاصل الضّرب 1*4=4
  3. الناتج هو 4 وليس 7.
thumb_up_off_alt 0 معجب thumb_down_off_alt 0 شخص غير معجب

اسئلة متعلقة

thumb_up_off_alt 0 معجب thumb_down_off_alt 0 شخص غير معجب
1 إجابة
thumb_up_off_alt 0 معجب thumb_down_off_alt 0 شخص غير معجب
1 إجابة
thumb_up_off_alt 0 معجب thumb_down_off_alt 0 شخص غير معجب
1 إجابة
thumb_up_off_alt 0 معجب thumb_down_off_alt 0 شخص غير معجب
1 إجابة
thumb_up_off_alt 0 معجب thumb_down_off_alt 0 شخص غير معجب
1 إجابة
...