قاعدة الأولويات فى باسكال

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

قاعدة الأولويات فى باسكال

مُساهمة من طرف ذوكا في الثلاثاء ديسمبر 17, 2013 8:30 pm

بسم الله الرحمن الرحيم


يجب علينا قبل الدخول في البرمجة فهم الطريقة الرياضية للتعامل مع البيانات وطريقة تعامل المصنف مع الدوال الرياضية والأقواس

وبرنامج الباسكال يتعامل مع العمليات الرياضية حسب القاعدة التالية والتي تعتمد على الأسبقية:

أولا : تنفيذ الدالة Not

ثانيا : تنفيذ الدوال التالية

AND

MOD

DIV

/

*

بحيث أن الدالتين Div و Mod دوال رياضية سيتم التعرف عليها لاحقا


ثالثا : تنفيذ العمليات


OR

-

+


رابعا : تنفيذ المعاملات المنطقية

=

<> <=

>=

<

>


عندما يكون هناك دالتين من نفس المستوى ننفذ الدالة بدءا من اليسار إلى اليمين

لتتضح الرؤيا حول إستخدام قاعدة الأولويات نرى الأمثلة التالية

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.
________________________________________ _________
Find: 7 Div 2/3


في هذا المثال نلاحظ أن الدالتين Div و / يأتيان في مرتبة واحده في أولوية التنفيذ ولكن لإن Div أتت قبل من جهة اليسار فنقوم بتنفيذها أولا لذلك
الكود:

7 div 2/3 =


3 / 3 =


1.0
( لاحظ أن العدد جوابه 1.0 وليس 1 لإنه ناتج من قسمة فلذلك يعد عدد حقيقي Real ولا يعتبر Integer)
avatar
ذوكا
.....
.....

تاريخ التسجيل : 26/05/2013
المساهمات : 92
النقاط : 155
التقيم : 11
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى