قاعدة
الأولويات Priority
Rules
____________________________
يجب علينا قبل الدخول في البرمجة فهم
الطريقة الرياضية للتعامل مع البيانات وطريقة تعامل المصنف مع الدوال الرياضية
والأقواس
وبرنامج
الباسكال يتعامل مع العمليات الرياضية حسب القاعدة التالية
والتي تعتمد على
الأسبقية بحيث
أولا
: تنفيذ الدالة Not
|
AND |
MOD |
DIV |
/ |
* |
بحيث أن الدالتين
Div
و Mod
دوال رياضية سيتم
التعرف عليها لاحقا
ثالثا
: تنفيذ العمليات
|
OR |
- |
+ |
|
= |
<> |
<= |
>= |
< |
> |
عندما
يكون هناك دالتين من نفس المستوى ننفذ الدالة بدءا من اليسار إلى اليمين
لتتضح
الرؤيا حول إستخدام قاعدة الأولويات نرى الأمثلة التالية
1-Write
a PASCAL program to find the roots of a quadratic equation (assume that
b2 – 4ac >= 0)
يريد في
هذا المثال إيجاد جذور لمتتابعة ثنائية
الحل
Program
Root(input,output);
Var
A,b,c
:integer;
X1,x2 : real
;
الناتج عرفناه على أنه
عدد حقيقي لإنه سيكون ناتج من عمليات منها عمليات قسمة
وفي حالة وجود عمليات
قسمة فناتجها دائما عدد حقيقي وليس صحيح
Begin
Writeln (‘Enter the
Numbers A , B ,C’);
Readln
(a,b,c);
X1:= (-b+sqrt(b*b
–4*a*c))/(2*a);
X2:= (-b-sqrt(b*b –4*a*c))/(2*a);
Write (‘The Nunmber X1
=’,x1 ,’And Number X2 =’,x2);
End.
2- Find
(7 Div 2/3)
في هذا المثال نلاحظ أن
الدالتين Div و /
يأتيان في مرتبة
واحده في أولوية التنفيذ
ولكن لإن Div
أتت قبل من جهة
اليسار فنقوم بتنفيذها أولا لذلك
7
div 2/3 =
3
/ 3 =
1.0
( لاحظ أن العدد جوابه
1.0 وليس 1
لإنه ناتج من قسمة
فلذلك يعد عدد حقيقي Real ولا يعتبر
Integer)