04-10-12, 02:10 PM
[COLOR="#000080"]بسم الله الرحمن الرحيم
كنت قد تكلمت عن هياكل البيانات
هياكل البيانات Data Structures الصف Queue : الجزء الاول
هياكل البيانات Data Structures المكدس Stack: الجزء الثاني
وكان هذا من اجل الوصول الى هنا
كم منا يحاول ان يعرف نتيجة معادلة تكتب بالتيكست ؟
مثل هذا المعادلة فرضاً
اعتقد الكثير
اذن كيف يتم ذلك
بداية ان المعالج لا يقرأ الصيغ هكذا (تسمى الصيغة بهذا الشكل infix)
لذا يجب تحويلها الى شكل يفهمه المعالج ويوجد صيغتين وهما prefix و postfix
ساشرح هاتين الصيغتين
قبل كل شيء يجب ان نعلم ان العمليات الحسابية كلها تتكون من 3 اشياء اساسية
اولا العامل operator
وهو اشارة + او - او log او mod ..... الخ
ثانيا المعامل operand
وهو الارقام التي يتم تطبيق المعامل operator عليها lمثل رقم 4 او 50 او 1000 او اي رقم اخر
ثالثا الاقواس ( )
يوجد بعض الاشخاص الذين ينسبونها الى العوامل operators ولكني اعتقد انها ليست كذلك لانها مستقلة بحد ذاتها
ووظيفة هذه الاقواس ( ) هي ترتيب الاولويات اعتقد ان الجميع فاهم قصدي اي انه اذا كانت لدينا المعادلة التالية
فإن اولوية العامل + اكبر من العامل * لانها كانت بين قوسين فهي تنفذ اولاً
هذه كانت المعلومات الاولية التي لا بد لك من معرفتها قبل الاكمال في هذا الشرح
الان ساشرح صيغة prefix
في هذه الصيغة يسبق العامل المعاملات اي ان العامل يأتي قبل المعاملات التي يجب ان يطبق عليها
مثال 1
المعادلة البسيطة التالية
تكتب هكذا
مثال 2
تكتب هكذا
حيث يقوم المعالج بحساب قيمة B*C ثم يجمعها مع A لتصبح A+B*C
لا تهتم كثيرا سنشرح كل شيء بالتفصيل لاحقاً
والان ساشرح صيغة postfix
في هذه الصيغة المعاملات تسبق العامل اي ان العامل يأتي بعد المعاملات التي يجب ان يطبق عليها
مثال 1
المعادلة
تكتب هكذا
مثال 2
تكتب هكذا
هنا يقوم المعالج بالبحث عن العامل الاول والذي هو * و يقوم بتطبيقه المعاملان السابقان له وهما B و C ثم يطبق العامل + على النتيجة السابقة مع المعامل A لتصبح المنعادلة A+B*C
الى هنا سأتوقف لأكمل لاحقا بإذن الله
سنتعرف لاحقا على طريقة تحويل المعادلات من صيغة infix الى كل من صيغة prefix و postfix
وذلك من خلال الفيجوال بيسك دوت نت وسنتعرف على خوارزمية التحويل من اجل كتابة تابع تحويل باي لغة برمجة كانت
والسلام عليكم ورحمة الله[/COLOR]
كنت قد تكلمت عن هياكل البيانات
هياكل البيانات Data Structures الصف Queue : الجزء الاول
هياكل البيانات Data Structures المكدس Stack: الجزء الثاني
وكان هذا من اجل الوصول الى هنا
كم منا يحاول ان يعرف نتيجة معادلة تكتب بالتيكست ؟
مثل هذا المعادلة فرضاً
كود :
5+8/2*6+(5-3^(8/4))
اعتقد الكثير
اذن كيف يتم ذلك
بداية ان المعالج لا يقرأ الصيغ هكذا (تسمى الصيغة بهذا الشكل infix)
لذا يجب تحويلها الى شكل يفهمه المعالج ويوجد صيغتين وهما prefix و postfix
ساشرح هاتين الصيغتين
قبل كل شيء يجب ان نعلم ان العمليات الحسابية كلها تتكون من 3 اشياء اساسية
اولا العامل operator
وهو اشارة + او - او log او mod ..... الخ
ثانيا المعامل operand
وهو الارقام التي يتم تطبيق المعامل operator عليها lمثل رقم 4 او 50 او 1000 او اي رقم اخر
ثالثا الاقواس ( )
يوجد بعض الاشخاص الذين ينسبونها الى العوامل operators ولكني اعتقد انها ليست كذلك لانها مستقلة بحد ذاتها
ووظيفة هذه الاقواس ( ) هي ترتيب الاولويات اعتقد ان الجميع فاهم قصدي اي انه اذا كانت لدينا المعادلة التالية
كود :
5*(2+1)
فإن اولوية العامل + اكبر من العامل * لانها كانت بين قوسين فهي تنفذ اولاً
هذه كانت المعلومات الاولية التي لا بد لك من معرفتها قبل الاكمال في هذا الشرح
الان ساشرح صيغة prefix
في هذه الصيغة يسبق العامل المعاملات اي ان العامل يأتي قبل المعاملات التي يجب ان يطبق عليها
مثال 1
المعادلة البسيطة التالية
كود :
A+B
تكتب هكذا
كود :
+AB
مثال 2
كود :
A+B*C
تكتب هكذا
كود :
+A*BC
حيث يقوم المعالج بحساب قيمة B*C ثم يجمعها مع A لتصبح A+B*C
لا تهتم كثيرا سنشرح كل شيء بالتفصيل لاحقاً
والان ساشرح صيغة postfix
في هذه الصيغة المعاملات تسبق العامل اي ان العامل يأتي بعد المعاملات التي يجب ان يطبق عليها
مثال 1
المعادلة
كود :
A+B
تكتب هكذا
كود :
AB+
مثال 2
كود :
A+B*C
تكتب هكذا
كود :
ABC*+
هنا يقوم المعالج بالبحث عن العامل الاول والذي هو * و يقوم بتطبيقه المعاملان السابقان له وهما B و C ثم يطبق العامل + على النتيجة السابقة مع المعامل A لتصبح المنعادلة A+B*C
الى هنا سأتوقف لأكمل لاحقا بإذن الله
سنتعرف لاحقا على طريقة تحويل المعادلات من صيغة infix الى كل من صيغة prefix و postfix
وذلك من خلال الفيجوال بيسك دوت نت وسنتعرف على خوارزمية التحويل من اجل كتابة تابع تحويل باي لغة برمجة كانت
والسلام عليكم ورحمة الله[/COLOR]