قواعد الأولوية للعمليات الحسابية
المفاهيم:( كيفية ترتيب تنفيذ العمليات الحسابية في لغة C++)
شاشة تنفيذ البرنامج:
الشرح:
 
حالة الذاكرة:
البرنامج:
#include <iostream>
 
using namespace std;
 
int main()
{
 
int k;
 
k =  12 - 2 * 4 + 13 % 5 ;
cout <<k <<endl ;
 
k = (12 - 2) * 4 + 13 % 5 ;
cout <<k <<endl ;
 
int i=3;
k = ++i ;
cout <<k <<endl ;
 
system("pause");
return 0;
 
}
إدراج المكتبة القياسية iostream ، وهي المكتبة التي تحتوي علي تصريحات الدوال المسئولة من عمليات الإدخال والإخراج
إستخدام فضاء التسمية std ، حيث أن كل محتويات مكتبات C++ القياسية بداخل هذا الفضاء.
الدالة الرئيسية main، التي تشكل نقطة الدخول لبرامج C++
الدخول الي جسم الدالة الرئيسية main
الإعلان عن متغير k من نوع int . نلاحظ أنه قد تم حجز مساحة 4 بايت في الذاكرة وتخصيصها للمتغير k. نلاحظ أن قيمة المتغير k تكون قيمة غير مُعرفة.
تنفيذ عملية الضرب أولاً، حيث أن عمليات: الضرب (*) ، القسمة( /)، والباقي الصحيح من القسمة (%) تقع في نفس مستوي الأولوية ولها أولوية أكبر من الجمع والطرح. عند تساوي مستوي الأولوية تنفذ العمليات من اليسار لليمين.
تنفيذ عملية الباقي الصحيح من القسمة بعد عملية الضرب(نفس مستوي الأولوية)،،تم تنفيذها ثانياً لأنها تقع يمين عملية الضرب السابقة.
تنفيذ عملية الطرح(الجمع والطرح يقعان في نفس مستوي الأولوية). عند تساوي الأولوية تنفذ العملية من اليسار لليمين.
تنفيذ عملية الجمع.
تنفيذ عملية التخصيص كآخر عملية . عملية التخصيص لها أولوية دنيا. تنفذ عملية التخصيص من اليمين لليسار. عند تنفيذ عملية التخصيص فإن القيمة النهائية للعملية الحسابية تحفظ في المتغير k (مكان الذاكرة المخصص للمتغير k).
طباعة قيمة المتغير k
طباعة سطر بإستخدام الدالة endl (وهي دالة مُعرفة في المكتبة القياسية iostream)
تنفيذ العملية المحصورة بين الأقواس أولاً ، حيث أن العمليات المحصورة بين الأقواس () تقع في المستوي الأول للأولوية.
تنفيذ عملية الضرب ثانياً، حيث أن عمليات: الضرب (*) ، القسمة( /)، والباقي الصحيح من القسمة (%) تقع في نفس مستوي الأولوية ولها أولوية أكبر من الجمع والطرح.
تنفيذ عملية الباقي الصحيح من القسمة ثالثاً، بعد عملية الضرب(نفس مستوي الأولوية)،،تم تنفيذها ثالثاً لأنها تقع يمين عملية الضرب السابقة.
تنفيذ عملية الجمع.
تنفيذ عملية التخصيص كآخر عملية . عملية التخصيص لها أولوية دنيا. تنفذ عملية التخصيص من اليمين لليسار. عند تنفيذ عملية التخصيص فإن القيمة النهائية للعملية الحسابية تحفظ في المتغير k (مكان الذاكرة المخصص للمتغير k).
طباعة قيمة المتغير k
طباعة سطر بإستخدام الدالة endl (وهي دالة مُعرفة في المكتبة القياسية iostream)
الإعلان عن متغير i من نوع int وفي نفس العبارة حفظنا فيه الرقم 3 (لاحظ أنه قد تم حجز مساحة 4 بايت في الذاكرة وأن الرقم 3 قد حفظ فيه).
تنفيذ عملية الزيادة القَبْلية أولاً ،مستوي الأولوية لعمليتي الزيادة القَبْلية والنقصان القَبْلي أعلي من عملية الضرب.
تنفيذ عملية الضرب ثانياً
تنفيذ عملية التخصيص كآخر عملية . عملية التخصيص لها أولوية دنيا. تنفذ عملية التخصيص من اليمين لليسار. عند تنفيذ عملية التخصيص فإن القيمة النهائية للعملية الحسابية تحفظ في المتغير k (مكان الذاكرة المخصص للمتغير k).
طباعة قيمة المتغير k
طباعة سطر بإستخدام الدالة endl (وهي دالة مُعرفة في المكتبة القياسية iostream)
تثبيت شاشة الإخراج
إخبار بيئة التنفيذ أن الدالة main قد إنتهت نهاية صحيحة
نهاية جسم الدالة main
لمعاينة العملية الحسابية الأصلية قُم بتمرير الماوس علي نتيجة العملية(المُظللة باللون الأصفر).
الشارح علي الزمن الحقيقي. فكرة وتنفيذ أ. مكي الأحمدي جامعة بيشة Real Time Narrator. Idea and Implementation By Uz. Makki Ahmedi ,UB