![]() |
|
التعريف بـ PostFix و PreFix و InFix ومجالات استخدامهم : الجزء الثالث - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : التعريف بـ PostFix و PreFix و InFix ومجالات استخدامهم : الجزء الثالث (/showthread.php?tid=5080) |
التعريف بـ PostFix و PreFix و InFix ومجالات استخدامهم : الجزء الثالث - محمد شريقي - 04-10-12 [COLOR="#000080"]بسم الله الرحمن الرحيم
كنت قد تكلمت عن هياكل البيانات هياكل البيانات 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] |