28
8 ا ر ج ا ب ی ت ر ت ل ر ت ن ک د. ن ک ن م ب ی ک ر ت م ه ا را ب ها امه رب ت وعه ای ار م ج م ها و امه رب ت را در ها و داده ات ن مل ع د که ی اب ب و7 چ ار7 ی، چس ی و ن امه رب ت@ ان ب ی در ر ل ر ت ن ک ارهای ت خ سا ه دارد: ب ن چ ن@ کار دو ی ا ود.M ش ی م ی سرر ت ل ص ف@ ن ی و در ا د ن م ا ی ب م ب ی ت ر ت رل ت ن ک ن@ را کهT که ا ب س ا ات ن مل ع رای ج ا ب ی ت ر ت رل ت ن ک ی م ی سرر ت عد ب ل ص فدر دو( د ن م ا ی ب م ها رل داده ت ن ک ن@ راT که ا ب س ا ها امه رب ت ها و امه رب تر ت ن@ رZ ی ب هال داده ا ق ت ت رل ا ت ن ک.) ودM ش1-8 ح یر ص و ی ن م ض ب ی ت ر تل ر ت ن ک د: وبM ش ی م م ی س ق ب ه ب س هار د7 چ ه ب ب ی ت ر ت رل ت ن ک ارهای ت خ سا ها. ر ت برا7 ت رها و لگ م ع دم ق ب اعده ل قM ن م د، رب گت ی مار ر ق اده ق ت س ورد ا م رات ا ن ع ی که در ب ارها ت خ سا اری. ر ک ب ی و ط رM ش ورات ت س ل دM ن م د، ی روب م ه کار ب ورات ت س د ی ار ه رو گ ا ب ورات ت س ن@ دZ ی ب ی که ب ارها ت خ سا امه رب ت ود.M ش ی م امه رب تا در ر ج رل ا ت ن ک رویM شZ ی ب ب خ و مماارد، ا د ی ب گ نس ی ورات ت س ه د که ب ب س ی ا ب را ج مدل ا ک ی، ب ب لا ع ی اس ی و ن امه رب ت. ب س ن@ اT ا ه ای ار وب م ن وگ لرو7 ت ی در طق ن م یس ی و ن امه رب ت ی ار ر گ ب طه ی د ق ب ه طه ای ب ق ب ل ار ر ت ن ک ال ق ت ت ا ب خ و ما که ه ل روا م ه و ها امه رب تر ت ی ر ب وا چ را ق لM ن م ها، امه رب تر ت در ر ب ی ت ر ت رل ت ن ک ود.M ش ی م و7 ب س لی لM ن م ها ن ا ب ر ی ار عض ب ال،M ن م@ وان ت ع ه . ب ب س ی ب ق ت قما د ا ر ل دی ا ن ت م ی س ق ب@ ن ی اAPL د. ن ت ار ن ع ل م اM ط س ق ف د . ن ست ه ورات ت س رل د ت ن ک د اق ق

1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

ا�ج�ر�ا� 8 ت�ر�ت�ی�ب� ک�ن�ت�ر�ل�از ای مجموعه و ها برنامه در را ها داده و عملیات که اند چارچوبی نویسی، برنامه زبان در کنترلی ساختارهای

. میکند ترکیب هم با را ها برنامه

: دارد جنبه دو کار این

بررسی فصل این در و نامند می ترتیب کنترل که را آن که است عملیات اجرای ترتیب کنترل. شود می

( دو در نامند می ها داده کنترل را آن که است ها برنامه و ها زیربرنامه بین ها داده انتقال کنترل.) شود می بررسی بعد فصل

ص�ر�ی�ح� 1-8 و� ض�م�ن�ی� ت�ر�ت�ی�ب� ک�ن�ت�ر�ل�: شوند می تقسیم دسته چهار به ترتیب کنترل ساختارهای

. پرانتزها و عملگرها تقدم قاعده مثل گیرند، می قرار استفاده مورد عبارات در که ساختارهایی

. تکراری و شرطی دستورات مثل روند، می کار به دستورات از گروهی یا دستورات بین که ساختارهایی

کنترل پیشروی موجب اما ندارد، بسنگی دستورات به که است اجرایی مدل یک اعالنی، نویسی برنامه. . است آن از ای نمونه پرولوگ در منطقی نویسی برنامه شود می برنامه در اجرا

نقطه از کنترل انتقال جب مو که همروالها و ها زیربرنامه فراخوانی مثل ها، برنامه زیر در ترتیب کنترل . شود می برنامه از دیگری ی نقطه به ای

. و لیسپ مثل زبانها از بعضی مثال، عنوان به نیست دقیق الزاما بندی تقسیم دستورات APLاین کنترل فاقد. عبارتند . شامل فقط هستند

. ، ضمنی کنترل های ساختار باشند صریح یا ضمنی است ممکن ترتیب کنترل به ساختارهای دستورات اجرايشود مي مشخص نويسي برنامه زبان توسط فرض پيش یک. صورت در ها عملیات اجرای ترتیب مثال عنوان به

. . کردن وارد مثال عنوان به شود می تعریف نویس برنامه توسط صریح، ترتیب کنترل ساختار پرانتز بدون عبارتاز استفاده و ریاضی عبارات در gotoپرانتز

م�ح�ا�س�ب�ا�ت�ی� 2-8 ع�ب�ا�ر�ا�ت� د�ر� ا�ج�ر�ا� ت�ر�ت�ی�ب�: بگیرید نظر در را دوم ی درجه دیشهی ی محاسبه فرموا

root=−B±√B2−4× A×C2× A

حداقل فرمول این (. 15در ( برای یعنی ها داده به ارجاع شمارش و جذر گرفتن نظر در با دارد وجود عملیاتبه نیاز حداقل اسمبلی یا ماشین زبان به . 15تبدیل برای را ای حافظه باید نویس برنامه این، بر عالوه دارد دستور

. باشد داشته نظر در را سازی بهینه و بگیرد نظز در میانی نتایج

. نیز آنها ولی است عملیات از ای دنباله نمایش برای قدرتمند وسیله عبارات شد، اشاره باال در که هم همانطور . نویس برنامه است، دشوار ماشین زبان به طوالنی دستورات نوشتن گرچه آورند می وجود به جدیدی مشکالت

. میکند درک را آنها اجرای ترتیب

ع�ب�ا�ر�ا�ت� د�ر�خ�ت�ی� ن�م�ا�ی�ش�

Page 2: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

نادیده عبارت ارزیابی برای را الزم معنای و نحو و گرفتیم می نظر در منفرد نهاد یک صورت به را عبارات کنون تاعملوند. را عملیات آرگومانهای عبارات در عملیات گرفتن نظر در با .1گرفتیم نامیم می

. ها عملوند شود عملوندهایشمشخصمی و عملیات یعنی است تابعی ترکیب عبارات در ترتیب کنترل مکانیزماز خود ی نوبه به نیز عملیات این های عملوند که باشند دیگری عملیات یا داده، اشیای ثوابت، است ممکن

. باشند شده تشکیل عملیات یا داده اشیای که بترکیبثوابت، کند می اِعمال عبارات به را درختی ساختار تابعیو میدهد نشان را میانی عملیات ریشه، و ها برگ بین های دهد،گره می نشان را اصلی عملیات درخت ی ریشه

. برگ ) هستند ) ثوابت یا ها داده به ارجاع ها

در . در عملیات یا ها داده به ارجاع نتایج که است بدیهی دهد می نشان را عبارات کنترلی ساختار رختی نمایش. شود می محسوب باالتر سطوح عملیات های عملوند عنوان به درخت، تر پایین سطوح

بگیرید : نظر در زیرا دوم ی درجه ی معادله های ریشه ی محاسبه فرمول درختی نمایش مثال عنوان به

. کند نمی تعریف را اریابی ترتیب از بخشی نیز درخت حتی

آیا – که نیست مشخص مثال، عنوان بعد Bبه یا قبل باید

. B**2از آیا که نیست مشخص همچنین شود ارزیابی

ی شناسه به ارجاع ارجاع Bدو یک در تواند می

. خیر یا شود داده جا

خواهیم عبارات نحوی نمایشهای به نگاهی ارزیابی، ترتیب دقیق تعیین به مربوطه مشکالت به پرداختن از قبلداشت.

ع�ب�ا�ر�ا�ت� ن�ح�و�خطی ی دنباله یک صورت به را عبارات باید ها برنامه در شوند، داده نمایش درختی صورت به عبارات اگر

. کرد خطی مشخص ی دنباله صورت به را ها درخت بتوان که باشد داشته وجود هایی گذاری نشانه باید یعنی. . کنیم می بررسی را گذاریها نشانه متداولترین حال کرد مشخص

گذاری مثل .prefixنشانه شود می نوشته آرگومان نام از قبل تابع توابع فراخوانی را. F(x,y,z)در کار این . داد توسعه عبارات در موجود عملیات تمام به توان می

: داریم گذاری نشانه نوع این در

1 operand

A

C

2A

*

*

ی 1شکل درجه ی ریشه ی محاسبه فرمول درختی نمایشدوم

Page 3: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

. . شد خواهند نوشته راست به چپ از ترتیب به عملوندها سپس و شود می نوشته عملیات نماد ابتدا

تکرار قاعده این باشد، دیگری های عملوند دارای عملیات این که باشد عملیات یک خودش ی اگرعملوندشود می

عبارات را آن که ندارد، وجود پرانتز گذاری نشانه نوع این .polishدر نامند می نیز

که گیرد می قرار استفاده مورد لیسپ در نمایش این از . Cambridge Polishشکلی نشانه روش این در دارد نام . هر که است تودرتو لیسی مانند عبارت ترتیب بدین گیرند می قرار پرانتز داخل در آرگومانهایش و عملیات گذاری

. گیرد می قرار ها ازعملوند لیستی آن از بعد و شود می شروع عملگر نماد یک با لیست

: داریم زیر درخت برای مثال عنوان به

Page 4: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

عبارت )2شکل درختی (a+b()c-dشکل

Page 5: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

گذاری گزاری . postfixنشانه نشانه می prefixهمانند عملوندها از بعد عملگرها که تفاوت این با استشکل. عبارت مثال عنوان به صورت 2آیند .ab+caبه شود-* می داده نمایش

گذاری . .infixنشانه نشانه نوع این در است مناسب بسیار دودویی عملیات برای گذاری نشانه نوع این . و منطقی و ای محاسبه عملیات برای گذاری نشانه نوع این چون شود می نوشته عملوندها بین عملگر گذاری . بیش که عملگرهایی برای است شده متداول نیز سازی برنامه زبانهای در رود، می کار به ریاضیات در ای رابطه

. ) ( گذاری نشانه نیست مناسب شرطی عبارات مثل دارند عملوند دو شکل infixاز .a+b(*)c-a، )2برای است(

ع�ب�ا�ر�ا�ت� م�ع�ن�ا�ی� . چگونگی در هستند مفید سازی برنامه زبانهای طراحی در که دارند صفاتی شده ذکر گذاری نشانه سه از یک هر

. . کنیم می ارائه آنها ارزیابی برای هایی الگریتم ادامه در دارند تفاوت هم با عبارات ارزیابی

عبارات . . prefixارزیابی آرگومانهای تعداد باید کنیم ارزیابی را آن توانیم می عبارات پیمایش بار یک با

. شود می گرفته نظر در عملگرها برای فردی به منحصر نمادهای دلیل همین به بدانیم، را نوع هرعملیات اینتوان می که دارند، سازی برنامه های زبان در خاصی ارزشهای پرانتز، در جویی صرفه بر عالوه گذاری نشانه

: برد نام را زیر موارد

گذاری نشانه صورت به تابع .prefixفراخوانی شود می انجام

. . است کلی ی شیوه یک بنابراین شود می گرفته کار به عملوندها از تعدادی هر با عملیاتی نمایش برای . گذار نشانه با باید لیسپ در مثال عنوان به بیاموزیم را آن نحوی قاعده باید عبارتی هر نوشتن برای

Cambridge polish. بنویسیم را عبارتی هر بتوانیم تا باشیم آشنا

گذاری عبارات prefixنشانه ی ترجمه دلیل، همین به و کرد گشایی رمز توان می راحتی به به prefixرا. است پذیر انجام ساده، کدهای از ای دنباله

. 3مورد با کرد گشایی رمز راحتی به را آن توان می یعنی است پذیر انجام راحتی به زیر الگوریتم از استفاده بااینکه عبارت Pفرض می prefixیک پشته یک از استفاده با را عبارت این است، عملوند و عملگر شامل که باشد

: کرد ارزیابی توان

در بعدی قلم . pاگر کنید اضاف پشته باالی به را آن است، عملگر یک

بعدی قلم .pاگر دهید قرار پشته باالی در را آن باشد عملوند یک

عملوندها این روی بر را عملگر توان می داشت، قرار پشته باالی در عملگر یک نیاز مورد عملوندهای اگر. کنیم عمل

Page 6: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

تعداد آیا ببینیم کنیم چک باید پشته باالی در عملوند هر دادن قرار از پس که، است این الگوریتم این مشکل. خیر یا دارد وجود پشته، باالی فعلی عملگر برای الزم عملوندهای

عبارات گذاری . postfixارزیابی نشانه برخالف اینجا گذاری prefixدر نشانه در موجود عملگر چون ، postfix شده ارزیابی قبال عملوندهایش شود، پیمایشمی عملگری وقتی دارد، قرار عملوندهایش از بعد

الگوریتم. مراحل :postfixاند است زیر صورت به

در بعدی قلم .pاگر دهید قرار پشته باالی در را آن باشد، عملوند یک

در بعدی قلم عملگر pاگر و nیک است، این nتایی جای به دارد، قرار پشتته باالی در آن nآرگومان. دهید قرار پشته در آنها روی بر عملگر اجرای ی نتیجه قلم،

از بسیاری کار اساس است، ساده آن سازی پیاده و ارزیابی استراتژی چون کنید می مشاهده که همانطور . به عبارات نحو ترجمه حین در است کد تولید برای . postfixمفسرها از استفاده با کد مولد شود می تبدیل

. کند می تعیین عبارت مقدار ی محاسبه برای را شده تولید کد ترتیب فوق الگوریتم

عبارات گذاری . infixارزیابی نشانه سازی infixگرچه برنامه زبان در آن از استفاده است، متداول: آورد می وجود به را مشکالتی

گذاری نشانه نشانه infixچون این از تنها تواند نمی زبان است، مناسب دودویی عملگرهای برای فقط . گذاری نشانه باید بلکه کند استفاده با infixگذاری . prefixیا postfixرا را ترجمه ترکیب این کند ترکیب

. میکند دشوار

عملگر یک از بیش پرانتز infixوقتی از اینکه مگر است، مبهم گذاری نشانه این شود، ظاهر عبارتی در. گردد استفاده

برای مقداری گرفتن نظر در با توان می را آخر ی صورت 2*3+4نکته به .infixکه کرد اثبات این هست، مقدار

مقدار 10عبارت بیانگر تواند می که .14است . مورد این برای است اثباتی زیر شکل باشد نیز

عملگرها 3شکل ارزیابی ترتیب

. ی قاعده دو نباشد پرانتز به نیازی تا بینند می تدارک را ضمنب قواعد زبانها دلیل، همین به. دهیم می شرح را ضمنی

Page 7: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

.) ( عملگرها تقدم قواعد عملگرها مراتب به سلسله شوند، می ظاهر عبارات در که عملگرهایی . باشد، مراتب سلسله سطح چند از عملگرهایی شامل که عبارتی در گیرند می قرار تقدم یا مراتبی سلسله ترتیب

. شود اجرا زودتر باالتر تقدم با عملگرهایی که است این ضمنی ی عبارت قاعده در در * a*b+cلذا عملگر ، . شود + می ارزیابی زودتر و دارد قرار مراتب سلسله در باالی

ادا 1جدول در مراتب سلسله

. پذیری الزم شرکت دیگری ضمنی ی قاعده هستند، مراتب سلسله یک در عملیاتی شامل که عباراتی در . . ولی است ضمنی ی قاعده متداولترین راست به چپ پذیری شرکت کند مشخص کامال را عملیات ترتیب تا است . به محاسباتی عبارات برای عملگرها تقدم شود می ارزایابی چپ به راست از توان مثل ریاضی قواعد از برخی

. . حاوی زبان اگر شناسند می را عبارات معنای به مربوط مدل نویسان برنامه اغلب زیرا کند می عمل خوبی. شوند می مواجه شکست با ها تقدم نباشند، موجود کالسیک ریاضیات در که باشد، عملگرهایی

. کنیم می بررسی دارند ای یافته توسعه عملگرهای که زبانهایی از نمونه چند زیر در حال

. . Cزبان شرکت ی قاعده از آنها، اغلب کند می استفاده ای پیشرفته تقدم جدول از زبان این. کنند می استفاده راست به چپ پذیری

.. APLزبان است شده طراحی بردارها و ها آرایه روی بر کردن کار برای آن اولیه عملیات که است زبانی . از بعضی اینکه مگر شوند می ارزیابی چپ به راست از عبارات تمام و است مصنوعی آن عملگرهای برای تقدم

. این در تقدمی دلیل همین به هستند شهودی بردارها روی بر عملیاتها اغلب کنید دقت نباشد فهم قابل عبارات. شوند می ارزیابی چپ به راست از دستورات و ندارد وجود زبان

. اسمالتاک ( زبان ( چه جدید تابع که نیست روشن است، کارایی برای متدهایی توابع ایجاد اسمالتاک هدف. . شود می ارزیابی راست به چپ از عبارات و شود می حذف کلی طور به تقدم بنابراین باشد داشته باید تقدمی

( فورث آن (. forthزبان نحو و ، بوده پشته آن اجرای زمان ساختار که است زبانی محض postfixفورث

در. .postfixبود نیست مطرح مشکل یک عنوان به تقدم محض

. دارند را خودشان خاص مشکالت ها گذاری نشانه سه از یک و Infixهر پذیری شرکت قواعد و ضمنی تقدم با . قواعد به نیاز ام است منطقی و ای رابطه محاسباتی، عبارات اغلب برای طبیعی نمایش یک پرانتزها، از استفاده

گذاری نشانه از استفاده لزوم و که prefixپیچیده دارند، دودویی از غیر عملیاتهای برای دیگری گذاری نشانه یا . گذاری نشانه کند می مشکل را عبارات ی نیاز infixترجمه و پاگیرهستند و دست ضمنی قواعد از استفاده بدون

. گذاری نشانه هست زیادی گذاری پرانتز تعداد prefixبه آن، از استفاده برای و کند نمی استفاده پرانتزها از. است دشوار بسیار شرایط، این و باشد مشخص قبل از باید نیاز مورد های عملوند

ا�ج�ر�ا� 2-2-8 ز�م�ا�ن� ن�م�ا�ی�ش�

Page 8: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

شکل سه از یکی به را عبارت هر هایی infixو postfix ,prefixاگر گزینه عبارت آن ارزیابی برای مترجم کنیم تبدیل . . نشانه شامل عبارت چنانچه است عبارت برای درختی کنترلی ساختار ایجاد ترجمه، در مرحله اولین دارد مختلفی

. infixگذاری تصمیمات دوم اختیاری ی مرحله در شود می استفاده ضمنی پذیری شرکت و تقدم قواعد از باشد،. شود می گرفته ارزیابی ترتیب با رابطه در مشروح

شکل به عبارات گشایی رمز بودن مشکل دلیل حین infixبه در که شود تبدیل اجرایی شکل به است مطلوب ، : . داریم مختلف روش سه اینکار برای شود می گشایی رمز راحتی به اجرا

. : دستورات این ترتیب کنیم تبدیل واقعی ماشین کد سری یک به را عبارات اگر ماشین کد از ای دنباله . می پذیر امکان را افزار سخت مفسر از استفاده ماشین کد نمایش کند می مشخص را عملیات ترتیب

. شود می اجرا افزایشسرعت موجب و سازد

: درختی شکل به افزاری نرم مفسر کمک به عبارات اول ی مرحله در روش این در درختی ساختارهای . زبان در تکنیک این شود می انجام درخت پیمایش اجرا، یعنی دوم ی مرحله در سپس آیند، می در

شود . می استفاده لیسپ

شکلprefix یاpostfix :روش . postfixیا prefixدو در شوند اجرا توانند می قبلی های الگوریتم طبقشکل به ماشین واقعی کد کنند می کار پشته مبنای بر که واقعی کامپیوترهای از .postfixبرخی است

کند می فراخوانی بازگشتی طور به را را خود مفسر عملیات هر و شود می انجام راست به چپ از اجرا. کند ارزیابی را عملوندهایش تا

ع�ب�ا�ر�ا�ت� د�ر�خ�ت�ی� ن�م�ا�ی�ش� ا�ر�ز�ی�ا�ب�ی� . در است آسان ترجمه اصلی ی رویه است، دشوار گاهی درختی های نمایش به برنامه عبارات ی ترجمه گرچه

ترتیب مورد در مسائلی شود، می تبدیل اولیه عملیات از اجرایی ی دنباله به درخت آن در که دوم، ی مرحله . تولید درختی نمایش از را کدی که کنیم مطالعه را هایی الگوریتم خواهیم نمی اینجا در شود می مطرح ارزیابی

. میکنیم بررسی کد، تولید هنگام در را ارزیابی ترتیب به مربوط های مسئله بلکه کند،

ی .1مسئله یکنواخت: ارزیابی هر قواعد ابتدا عبارت، درخت در عملیاتی گره هر برای ) بر ) را عملیات سپس و کن تولید آن ارزیابی برای کدی یا کن ارزیابی را عملوندهایش از یک

) ( ی قاعده این کن تولید عملیات انجام برای را کدی یا کن اجرا شده ارزیابی عملوندهای روی( عجول را .aegerعملیاتی . ترتیب( کند می ارزیابی اول را عملوندها همیشه زیرا نامیم می

به مستقل عملیات یا عملوندها ارزیابی ترتیب نیست، مهم اعمال از برخی ارزیابی دقیقاستفاده بهینه طور به ماشین ویژگیهای سایر یا موقت ی حافظه از که شود می انتخاب طوری

عبارت. ) ارزیابی،برای قاعده این تحت مثال، برای ارزیابی( a+b(*)c-aشود ترتیب از کدام هر : است قبول قابل زیر

. شود( محاسبه

. بده قرار

. بده قرار. بده قرار

Page 9: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

. همیشه روش این اما است مطلوب یکنواخت، ارزیابی قاعده این از استفاده و است طبیعی کامال روش این . شرطی عبارت مثال عنوان به پذیرنیست . Z+(Y=0? X: X/Y)انجام در در مشکلی عبارت این در بگیرید نظر در را

. دست به ای نتیجه کنیم ارزیابی را شرطی عملیات عملوندهای اگر دارد وجود یکنواخت ارزیابی قواعد با رابطه . اگر یعنی نیست قبول مورد که آید باشد، Yمی . Yبر Xصفر نمی حالت این در که است بدیهی شود می تقسیم

. شوند ارزیابی عملوندها عملیات، انجام از قبل خواهیم

قاعده نام به دیگری یکنواخت ارزیابی ی قاعده است ممکن که دهد می نشان شرطی عملیات به مربوط مشکل

تنبل ) ارزیابی :lazyی باشد( . بهتر ارزیابی را عملوندها بلکه نکنید ارزیابی عملیات اجرای از قبل را عملوندها

. همه در ارزیابی ی قاعده این خیر یا است الزم ارزیابی که بگیرد تصمیم عملیات دهید اجازه و کنید ارسال نشده. . . است زیادی افزاری نرم سازی شبیه مستلزم کار این است دشوار آن سازی پیاده اما کند می عمل موارد ی

. کنند می استفاده عبارات ارزیابی برای روش این از پرولوگ و لیسپ محاورهای زبانهای

ترتیب به ها برنامه زیر به پارامترها ارسال معادل وتنبل عجول شد، مطرح که یکنواخت ارزیابی ی قاعده دو . . پیاده در ندارد وجود ای ساده یکنواخت ارزیابی ی قاعده که کنیم اشاره است نام و مقدار با پارامترها انتقال

. اسنوبال در مثال، عنوان به شود می استفاده تکنیک دو این از ترکیبی از معموال زبان های عملیات 4سازی ، که ای اولیه عملیات لی و میکنند دریافت شده ارزیابی عملوندهای همواره نویس، برنامه توسط شده تعریف

. کنند می دریافت را نشده ارزیابی های عملوند اند، شده تعریف زبان توسط

ی . 2مسئله جانبی: در اثرات مفصلی بحث دارند، عبارات بر جانبی اثرات که عملیاتی از استفاده: . بگیرید نظر در را زیر مثال نمونه برای است سازی برنامه زبان طراحی

: است مطرح دیدگاه دو عبارات در جانبی اثرات از استفاده در

می انجام صورت دو به اینکار که باشند ممنوع عبارات در باید جانبی اثرات که است این اول دیدگاهشود:

1. آورند- وجود به جانبی اثرات باشند نداشته اجازه توابع

2. گردد- معرفی نشده تعریف باشد، داشته اثر آن در جانبی اثرات که عبارتی هر مقدار

ترتیب که کند مشخص باید دقیقا زبان تعریف و باشد داشته وجود جانبی اثرات که است این دیگر دیدگاه . ممکن غیر را ها سازی بهینه از بسیاری که است این دیدگاه این مشکل است چگونه عبارات ارزیابی

. سازد می

. انتظار دارد جانبی اثر الزاما انتساب عملیات مثال عنوان به باشند، داشته جانبی اثر توانند می دستورات معموال . آیا که است این مسئله دهد قرار تأثیر مورد را بعدی دستور های ورودی دستور یک جانبی اثر که رود می . ترتیب باید نباشد، پذیر امکان اگر خیر یا باشد پذیر امکان باید ، جانبی اثرات طریق از داخلی های وابستگی

قابل نویس برنامه توسط عبارات ارزیابی حالت این در که کنیم، مشخص درختی نمایش توسط فقط را عبارات

. دهد انجام را سازی بهینه تواند می مترجم و است جانبی درک اثرا امکان توان می نباشد، مهم سازی بهینه اگر. کرد مشخص کامل طور به را ارزیابی ترتیب باید صورت این در که کرد فراهم را

ی .3مسئله خطا: شرایط

a*fun(x)+aمثال: اولیه مقدار کنید است، aفرض با و Funبرابر برگرداند، را سه .aمقدار دهد تغییر دو به را

داریم:1 : کنید- ارزیابی ترتیب به را ترم 5=2+3*1هر2 -a : کنید ارزیابی بار یک 4=1+3*1رااز funتابع- 3 قبل : aرا کنید 8=2+2*3ارزیابی

Page 10: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

فراهم را خطا شرایط و شود مواجه شکست با است ممکن که دارد وجود عملیاتی در جانبی اثر از ای ویژه نوع. صفر. بر وتقسیم سرریز مانند آیند وجود به اولیه های عملیات از بسیاری در است ممکن خطا شرایط کند . در تفاوت خاطر به است ممکن خطا شرایط وقوع حتی و معنا شود ممنوع جانبی اثرات که نیست مطلوبباشد مجبور است ممکن نویس برنامه شرایطی چنین در بگیرد، قرار تأثیر تحت عبارات اجزای ارزیابی ترتیب

. کند کنترل دقیقا را ارزیابی ديگر ترتیب زبان به زبان يك از و ندارد وجود مشكل اين حل براي عمومي حل راه. است متفاوت

ی . 4مسئله کوتاه: مدار بولین بولین عبارات عملیات از معموال نویسی برنامه orو andدر . زبان در را زیر دستورات شود می استفاده ای رابطه عبارات ترکیب :cبرای بگیرید نظر در

If ((A==0)||(B/A>C))}…{

while ((I<= UB) && (v[I]>C))}...{

. اول عملوند لذا آورد وجود به خطایی شرایط است ممکن بولین عملگر دومِ عملوند ارزیابی ، عبارت دو هر در . داشته درستی ارزش چپ سمت عبارت اول مثال در اگر افتد نمی اتفاق خطایی که کند تضمین تا شده گنجانده

. با فقط عبارت کل مقدار اگر شد نخواهد ارزیابی دوم عبارت باشد، داشته نادرستی ارزش دوم مثال در و باشد . کند کوتاه را عبارت ی بقیه تواند می مقدار این شود، تعیین چپ سمت عملوند مقدار به توجه

د�س�ت�و�ر�ا�ت� 3-8 ب�ی�ن� ت�ر�ت�ی�ب� ک�ن�ت�ر�ل�یک هر آنها، در که کنیم بررسی دستورات بین ترتیب کنترل برای را اصلی های مکانیزم خواهیم می بخش این در

. شوند می اجرا برنامه در دستورات از

ا�ص�ل�ی� 1-3-8 د�س�ت�و�ر�ا�ت�

. نمونه میدهد انجام داده اشیای روی بر را عملیاتی که شود می تعیین آن اصلی دستورات توسط برنامه هر نتایجمی فراخوانی عبارات از استفاده با که ها عملیات از ای دنباله و انتساب از عبارتند اصلی دستورات از هایی

نشان.. ما به را محاسبات از مرحله یک که بگیریم، نظر در برنامه از واحدی را اصلی دستورات توانیم می شوند . دهد می

داده اشیای به انتساب . شیوه به انتسابها دهد تغییر را محاسبات حالت داده اشیای به مقادیر انتساب طریق از تواند می نویس برنامه

: جمله از شوند می انجام گوناگونی های

. انتساب ( دستور به ) را داده اشیای مقدار یعنی عبارت راست مقدار که است این انتساب اولیه هدف . ) اولیه ) ی داده نوع هر برای که است مهم عملیات یک انتساب، دهد نسبت آن حافظه محل یعنی آن چپ مقدار

. شده زبان تعریف در مثال بنویسیم Cبرای تونیم می است، عملگر یک انتساب ، c=b=1 که با است برابر عملگرها تقدم به توجه با .c=(b=1)معنایش شود می ارزیابی زیر صورت به و

به- 1 یک .bمقدار شود می داده نسبت

.b=1عبارت- 2 گرداند برمی را یک مقدار

در- 3 یک .cمقدار گیرد می قرار

. را مقداری انتساب پاسکال زبان در مثال شود می محسوب دستور یک عنوان به انتساب زبانها، از برخی در . شود می استفاده دستور سطح در آن از و گرداند، نمی بر صریحا

داشته مختلفی اثرات گوناگون وضعیتهای در است ممکن و دارند متفاوتی معنای مشابهند، ها انتساب اینکه باوجود. . دهد می نسبت دیگر عبارت چپ مقدار به را عبارت یک راست مقدار انتساب عمل چون باشد

. عنوان به میدهد نشان را انعطاف قابلیت بگذارد اثر متغیرها راست مقدار و چپ مقدار بر بتواند که عملگرهایی

Page 11: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

در رفتار * Cمثال آن چپ مقدار مثل متغیر یک راست مقدار با که است، مستقیم غیر ارجاع عملگر یک عملگره ، : . ببینید & زیرا دستور میکند تبدیل راست مقدار به را چپ مقدار که آدرسهست، عملگر یک عملگر و کند می

int i,*p;

P=&I;

*P=7;

: داریم دستورات این در

1-i. شده تعریف صحیح نوع از2-P. است شده تعریف صحیح مقدار به گری اشاره3-P بهi چپ مقدار یعنی میکند، )&iاشاره راست مقدار یک عنوان( iبه به راست مقدار این و شد تبدیل

راست .pمقدار است شده ذخیرهراست -4 )*pمقدار است شده تبدیل چپ مقدار یک چپ( pبه مقدار راست iکه مقدار نتیجه در و iاست

با است .7برابر شد خواهد

. ورودی از دستورات ها داده خواندن برای دستوراتی سازی برنامه زبانهای اغلب . وردی انتساب با را متغیرها مقادیر دستورات این دارند ارتباطی خطوط یا فایل پایانه،

. صورت به دستورات این نحو میدهند تغییر متغیرها . read(file,data)به است

. انتساب عملیات به سایر آرگومان مقدار انتساب عنوان به پارامترها انتقال . اسنوبال در مثال دارد وجود نیز ضمنی انتسابهای شود می محسوب مجازی پارامترهای

به 4 ارجاع ،input. شود داده نسبت آن به جدیدی مقدار شود می موجب

دستور سطح ترتیب کنترل مختلف شکلهایدنباله: ترکیب.1 آن حاوی ی برنامه که وقت هر و گیرند قرار متنی ی دنباله یک در دستورات است ممکن

. شوند اجرا ترتیب به نیز دستورات این شود اجرا.: انتخاب.2 دارد وجود اجرا جهت آلترناتيو چند يا دو كه است دستوراتي ممکن دستورات از دنباله دو مثال

. . شوند اجرا توانند نمی دنباله دو هر ولی نشود اجرا دیگری و شود اجرا آنها از یکی که باشند طوری.: تکرار.3 شود تكرار بايد بار چندين براي كه دستوراتي در ترتيب كنترل

ضمنی ترتیب کنترل. شدند می مدلسازی کردند، می اجرا را آنها های برنامه که کامپیوترهایی تولید از پس اولیه، سازی برنامه زبانهای

ساده داده انواع به را اینها الگول، و فرترن مثل اولیه زبانهای بود، حافظه محلهای از متشکل ماشین چون . . برای ها برچسب با دستوراتی از همچنین بودند ترجمه قابل ماشن اشیای به مستقیما که کردند می مدلسازی

: برد نام را زیر موارد توان می که شد می استفاده کنترلها این سازی پیاده

دستورات . gotoدستور از شکل دو :gotoمعموال دارد وجود زبانها از بسیاری در

: شرطي غير پرش

مثل . : شود مي داده برنامه از ديگري محل به شرط بدون برنامه كنترل دستور نوع اين Goto NEXTدر

: شرطي پرش

Page 12: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

: . مثل شود مي داده انتقال ديگري محل به برنامه كنترل شرط يك برقراري صورت if (A=0) then GOTO next درend if

. ساخت حالت از را برنامه زیرا گیرد می قرار استفاده مورد ندرت به امروزه ولی است ساده دستور شکل گرچه. کند می خارج مثل یافته کنترلی ساختارها دارای زبانها که زمانی قابل ifیا whileاز تو در تو طور به که اند شده

. دستور هستند .gotoاستفاده شده خارج دور از کامل طور به

کنترلی .breakدستور ساختار از خارج مشخصی ی نقطه در و برنامه پایین طرف را اجرا کنترل دستور این. . دارد خروج ی نقطه یک و ورود ی نقطه یک که کند می ارائه را کنترلی ساختار یک دستور این کند می منتثل است

نام Cدر .continueدستور به . continueدستوری انتهای به اجرا کنترل شود می موجب دستور این دارد وجود. برود تکرار ی حلقه ی بدنه

ی�ا�ف�ت�ه� س�ا�خ�ت� ن�و�ی�س�ی� ب�ر�ن�ا�م�ه� ط�ر�ا�ح�ی�دستورات و ها برچسب ها زبان اغلب ی go toگرچه دهه از آنها از استفاده اما کنند، می تعریف محدود 70را

. همانند جدید های زبان از بعضی در است .gotoدستور MLشده ندارد وجود

: gotoامتیاز

باال • آن کارایی و میشود پشتیبانی افزار سخت توسط ً مستقیما باشند ساده نحوی نظر از ها برچسب اگراست

است • ساده کوچک های برنامه در آن از استفاده

است • آشنا کنند می نویسی برنامه قدیمی زبانهای با که کسانی و اسمبلی نویسان برنامه برای

• ) است ) کنترل از دیگری شکلهای سازی شبیه نمایش برای کلی هدف

: gotoمعایب

•. : است مهمتر آن آمد کار اجرای از برنامه درست اجرای برنامه مراتبی سلسله ساختار وجود عدم. کند برآورده را ها نیازمندی این باید ، سازی برنامه زبان طراحی

•. میکند درک قابل را برنامه طراحی خروج، نقطه یک ورود، نقطه یک ساختار مفهوم

سلسله • صورت به که باالست آن درک قابلیت وقتی باشد، داشته زیادی دستورات که ای برنامهمحاسبات از مفهومی واحد یک گروه هر که طوری به باشد، شده سازماندهی گروهها از مراتبی

های باشد. گروه از ، کنترلی های ساختار از استفاده با ، خود ی نوبه به ها گروه این از کدام هر. شوند می تشکیل کوچکتری

مختلف • های بخش که کند درک تا دهد می اجازه نویس برنامه به مراتبی سلسله سازمان این. آیند می در جور یکدیگر با چگونه مراتبی برنامه سلسله شکل این به که ای برنامه اگر

While(){ while(){----------- --------- ---------- If () break;------------------------------------}

Page 13: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

و اصلی دستورات از استفاده با فقط است شده سلسله gotoسازماندهی ساختار شود، نوشته. بود خواهد فایده بی مراتبی

یک • در فقط باشند، داشته مراتبی سلسله سازماندهی اینکه جای به ، برنامه دستورات تمام اگر. دارد مسطح ساختار برنامه گوییم می شوند، ظاهر سطح

•. باشد یکی اجرا ترتیب با نیست الزم برنامه متن در دستورات ترتیب

از • استفاده های gotoبا دنباله بین نامنظم طور به اجرا کنترل که نوشت هایی برنامه توان می. شود منتقل دستورات از مختلفی

است • تر ساده وقتی برنامه درک و کنیم درک را دستورات اجرای ترتیب باید ، برنامه درک برای. باشد دستورات فیزیکی ترتیب همان تقریبا دستورات اجرای ترتیب که

•. باشد داشته متعددی اهداف است ممکن دستورات از گروهی

تر • آسان برنامه درک ، کند دنبال برنامه کلی ساختار در را هدف یک ، دستورات از گروه هر اگر . با ، باشند داشته مشابهی دستورات ، دستورات از گروه دو است ممکن مثال طور به شود می

از یکبار gotoاستفاده فقط ، مشابه دستورات که کنیم ترکیب طوری را گروه دو این توانیم می . این به شود منتقل مشترک دستورات این به کنترل ، گروه هر اجرای حین در و شوند نوشته

. شود می مشکل کد این درک ترتیب

•: : که رود می کار به برنامه از هایی طراحی برای اصطالح این یافته ساخت نویسی برنامه

مثل • ساده کنترلی های شکل از استفاده با برنامه های ساختار مراتبی سلسله طراحی بر. دارد تاکید تکرار و انتخاب ترکیب،

•» ساختاری » کنترلی دستورات از استفاده با ، برنامه متن در مراتبی سلسله نمایشطراحی بر. دارد تاکید

•. دارد تاکید باشد اجرا ترتیب همان دستورات فیزیکی ترتیب که برنامه از متنی بر

کردن • کپی مستلزم اگر حتی ، دارد تاکید هدف یک با دستورات از هایی گرو از استفاده بر . آسان یافته ساخت های برنامه نگهداری و تصحیح کنترل، زدایی، اشکال درک، باشد دستورات

است.

ی�ا�ف�ت�ه� 2-3-8 س�ا�خ�ت� ت�ر�ت�ی�ب� ک�ن�ت�ر�ل�

و ،انتخاب ترکیب ،یعنی اصلی کنترلی های شکل بیان برای را کنترلی دستورات از ای مجموعه ها زبان اغلب . گرفته کار به دیگر دستورات همراه به یافته ساخت ترتیب کنترل دستورات از یکی اگر کنند می فراهم تکرار

و شود می منتقل دارد خروج ی نقطه یک و ورود ی نقطه یک که دستوری به قبلی دستور از اجرا ترتیب ، شود . شرط که شود ذکر بایست می مورد این در شود می منتقل بعدی دستور به آن اجرای از دستور go toپس در

. باشد نداشته وجود

جریان کنند می استفاده خروج ی نقطه یک و ورود ی نقطه یک با دستوراتی از فقط که هایی برنامه خواندن در . ی نقطه یک با دستوری هر باشد داشته مطابقت برنامه متن در موجود دستورات از ای دنباله با باید برنامه اجرای

یک از فقط کنترل ولی باشد، حلقه و انشعاب دارای خودش داخل در است ممکن ، خروج ی نقطه یک و ورود . بر بیشتر ولی داشتند را دستوراتی چنین کوبول و فرترن مثل قدیمی های زبان شود می خارج آن از نقطه

.gotoدستورات استوارند ها برچسب و

م�ر�ک�ب� د�س�ت�و�ر�ا�ت� : می محسوب دستور یک عنوان ،به بزرگتر دستورات ایجاد در که است دستورات از ای دنباله مرکب دستور

. شوند. می نوشته پایان و شروع نماد یک با مرکب دستورات معموال مثال :شود عنوان در Begin…..Endبه یا ."}{" نوشته شوند اجرا باید که ترتیبی به دستورات دستور، این در گیومه صورت به پرل و جاوا و سی ی خانواده

Page 14: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

. شوند . می یک خودش مرکب دستور چون است دستورات ترکیب نمایش برای مهمی ساختار مرکب دستوراز استفاده با محاسباتند از منفردی های واحد ی دهنده نشان که دستورات از هایی گروه ، است دستور

begin…..End . مرکب دستورات از مراتبی سلسله است ممکن که است این مهم ی نکته شوند می نگهداری هم با . را دنباله در موجود دستور هر که اجرایی کد از ،بلوکی کامپیوتر در مرکب دستور سازی پیاده برای شود ساخته

. . دهد می نشان را آنها اجرای ترتیب ، حافظه در انها وجود ترتیب گیرد می قرار حافظه در دهد می نشان

ش�ر�ط�ی� د�س�ت�و�ر�ا�ت�. کند می بیان را دستور یک اختیاری اجرای یا دستور چند یا دو مرکب انتخاب یا ساده دستور یک ، تواند می دستور

. . شود می انجام شرطی تست با اجرا های مسیر گزینش باشد شرطی عبارتی یا صورت به معموال شرط این: . شرطی دستورات های شکل ترین متداول است بولین و ای رابطه عملیات شامل

•IF: است: زیر صورت به دستور این کلی صورت به

[ شرط [ اگر

دلخواه } عمل بود {1برقرار بده انجام را

{ دلخواه عمل نبود {2برقرار بده انجام را

•case. شود: می استفاده عبارت یک ی نتیجه از استفاده با دستور چند یا یک انتخاب برای

[ کن [ انتخاب عبارت اساس بر

} { } اول} عمل اول نتیجه

} {} دوم} عمل دوم نتیجه

...

: س�ا�ز�ی� پ�ی�ا�د�ه�دستورات . IFدستورات شوند می سازی پیاده افزاری پرشسخت دستورات پیاده Caseبا پرش جدول با معموال

. طور به که است برداری پرش جدول شود جلوگیری متغیر یک مقدار تکراری های تست از تا میشوند سازی. است شرطی غیر پرش دستور یک آن عناصر از یک هر و است شده ذخیره حافظه در شرط ترتیبی که عبارتی

نتیجه و شود می ارزیابی کند می ایجاد را کیس در دستور را آفستی که شود می تبدیل صحیح مقدار یک به اشمی نشان پرش پرش. جدول دستور وقتی دهد

شروع شود، می اجرا آفست آن در موجود. شود اجرا باید که کند می مشخص را بلوکی

ت�ک�ر�ا�ر� د�س�ت�و�ر�ا�ت�اغلب در محاسبات تکرار برای را مکانیزمی

اصلی . ساختار کنند می فراهم ها برنامهبدنه یک و راس یک از متشکل تکرار دستوراجرا. باید بدنه که دفعاتی تعداد راس است

. شامل بدنه کند می مشخص را شود . ی بدنه شود تکرار باید که است دستوراتی

ساختار ولی است نامحدود تکرار، دستوراتی نمونه چند توان می که است محدود راس

: کرد معرفی را زیردستور های caseانتخاب

برش جدول

L5:L4:

L3:

L2:

L1:

L0:

switch tag

Case:0

Statement

0

;

Break;

Case:1

Statement

1

;

Break;

Case:2

Statement

3

;

Break;

Case:3

Page 15: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

• : . : مثال شود اجرا معینی تعداد به باید بدنه که کند می مشخص ساده کن 100تکرار تکرار بار

• : دستور همانند باشد برقرار شرط که صورتی در whileتکرار

• : دستور شمارنده یک افزایش با forتکرار

• : دستور همانند ها داده بر مبتنی #cدر foreachتکرار

• : دستور همانند متناهی نا .whileتکرار درست همیشه شرط با

. / شود می استفاده افزاری سخت انشعاب پرش دستورات از تکرار، دستورات سازی پیاده سازی برای پیاده برایfor حلقه به ورود هنگام در باید کند می مشخص را افزایش مقدار و نهایی مقدار که حلقه راس در موجود عبارات

. متغیر تا شوند می بازیابی تکرار هر آغاز در مقادیر این شوند نگهداری موقت حافظه ناحیه یک در و شوند ارزیابی. کنند تست و اصالح را کنترلی های

ی�ا�ف�ت�ه� س�ا�خ�ت� ت�ر�ت�ی�ب� ک�ن�ت�ر�ل� م�ش�ک�ال�ت�مواردی ،ولی کرد بیان یافته ساخت دستورات از استفاده با را ترتیب کنترل ساختار هر توان می تئوری نظر از

از استفاده که دارد :gotoوجود کند می ایجاب را

• . : دستور با که است نیاز شرط چند به حلقه ی خاتمه برای اغلب حلقه از گانه چند بدون breakخروجgoto. شود می ساخته

•Do-while-do . متداولی: زبان هیچ تقریبا است آن وسط در حلقه از خروج تست برای جا ترین مناسب اغلب،. کند نمی سازی پیاده را روش با این را آن به شبیه میتوان سی در .پیاده if…….. Breakگرچه کرد سازی

• : از استفاده ندارند استثنا پردازش که زبانهایی در ها استثنا کنترل برای استثنایی کار gotoشرایط بهترین#Cدر try….. catchدستور است.

ب�ن�ی�ا�د�ی� 3-3-8 ه�ا�ی� ب�ر�ن�ا�م�ه�

ی مراتبی primeبرنامه سلسله تجزیه برای یافته ساخت نویسی برنامه کلی شکل عنوان به مادوکس توسط: . است اصلی گره دسته سه این حاوی فلوچارت هر که کنیم می فرض است شده ارائه فلوچارت فرد به منحصر

•. . : شود می داده نمایش مربع با دهد می نمایش را برنامه در موجود محاسبات تابع های شهودی گره نظر از

. شود می مجازی ماشین حالت تغییر به منجر و دهد می نمایش را انتساب دستور یک تابع گره

•. . : شود می استفاده حالت دو بین گیری تصمیم برای شود می داده نمایش لوزی با گیری تصمیم های گره

. شود می حساب دوتا شمارش در بودن خروجی دو علت به گیری تصمیم گره

•. . : رود می کار به کمان چند اتصال برای شود می داده نمایش نقطه با اتصال های گره

Page 16: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

: : و است کنترلی ساختار یک رسمی مدل که است فلوچارت صورت به ای برنامه محض برنامه

•. دارد ورودی کمان یک فقط

•. دارد خروجی کمان یک فقط

•. دارد وجود خروجی کمان به کمان هر از و کمان هر به ورودی کمان از مسیری

. است یافته ساخت غیر های برنامه از محض ی یافته ساخت های برنامه جداسازی هدف

. شود تقسیم کوچکتری محض های برنامه به تواند نمی که است محض ی برنامه یک بنیادی نتوانیم- 1 برنامه اگری برنامه ،این کنیم تقسیم جداگانه های گراف به را محض ی برنامه تا بزنیم برش را محض ی برنامه از کمان دو

. صورت به باید تابع های گره از طوالنی ی دنباله که آن و دارد وجود استثنا یک بود خواهد بنیادی ی برنامه ، محض . گره یک با مؤلفه هر جایگزینی با که است مرکب نباشد بنیادی که محضی ی برنامه شود گرفته نظر در بنیادی یک

. . اند شمارشی بنیادی های برنامه کرد بنیادی را آن توان می تشکیل تابع های گره تعداد به مربوط آنها شمارش. . نیستند آمد کار بنیادی های برنامه ی همه باشد می آنها ی دهنده

Page 17: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

ی�ا�ف�ت�ه� س�ا�خ�ت� ق�ض�ی�ه�دستورات از فقط که شود تبدیل هایی برنامه به تواند می بنیادی ی برنامه هر که دادند نشان جاکوبینی و باهوم

while وif:) ( . میلز هارالن یافته ساخت ی قضیه اثبات کند استفاده

•. کنید . مشخص صفر عدد با را خروجی کمان کنید مشخص برچسب با را فلوچارت های گره

•I. کنید تعریف برنامه جدید متغیر یک عنوان به را

•. کنید معرفی تابع گره یک خالیست برچسب صورت به اگر فلوچارت گره هر برای

•. بسازید دوباره آمده بدست شکلهای با را که برنامه است ماشین Iبدیهی دستورالعمل شمارنده یک مانند. کند می عمل مجازی

: دهیم می انجام را تبدیالت این از یکی مثال برای

Page 18: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

: جاکوبینی و باهوم کار ی نتیجه

از • نیست .gotoالزم کرد پرهیز

شیوه • هر به را الگوریتم توان به می یافته ساخت ی قضیه از استفاده با را آن سپس و کرد سازی پیاده ای. کرد تبدیل یافته ساخت ی معنای برنامه به بلکه نیست خوب ی برنامه یک مترادف یافته ساخت برنامه

. ) ( هستند تجزیه قابل غیر بنیادی ها گره از اندکی تعداد با که است کنترلی های ساختار از استفاده

•. نوشت استاندارد کنترلی ساختارهای با فقط میتوان را ها برنامه حل تمام راه بهترین تواند نمی الگوریتم این . دارد وجود حلی راه که بدانیم باید است نویس برنامه ی عهده بر ها برنامه ی توسعه هم هنوز و دهد ارائه را

. باشد بهتر هم شاید و نیست جاکوبینی و باهوم ی نتیجه از بدتر که

B*2A*2

A<b

A=2B=3

5

Page 19: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

م�ح�ا�س�ب�ا�ت�ی� 4-8 غ�ی�ر� ع�ب�ا�ر�ا�ت� د�ر� ت�ر�ت�ی�ب�

ا�ل�گ�و� 1-4-8 ت�ط�ا�ب�ق�

. ای مجموعه انتساب و تطابق با است الگو تطابق ال ام و پرولوگ ، اسنوبال مثل زبانهایی در حیاتی عملیات یک. شود می انجام شده، تعیین پیش از الگوی به ها متغیر گرامر از در تجزیه درختهای این BNFتشخیص از نمایشی

. است عملیات

. ای: برنامه توان می سختی به دیگر زبانهای در است شده ایجاد رشته ی تجزیه درخت سازی شبیه برای اسنوبالتشخیص برای زبان این قدرتمندی و کوتاهی . BNFبه طراحی ماشین معماری از مستقل آن سازی پیاده نوشت

. شد طراحی رشته ی پردازنده مجازی ماشین برای و است را شده رشته ی پردازنده ماشین عملیات باید فقطاسنوبال تا کرد سازی پیاده موجود کامپیوتر در ماکروهایی صورت . 4به که بود زبانهایی اولین از کنند اجرا را

. . خود الگوی تطابق عملیات برای بود یکسان سازی پیاده هر در تقریبا آن معنای بود موجود ماشینی هر در تقریبا. کند می استفاده رشته جایگزینی ای از مجموعه صورت به رابطه مفهوم از مکانیزم nپرولوگ عنوان به تایی

) ( . توان می حقایق نام به ها رابطه این از ای شده شناخته های نمونه کردن مشخص با کند می استفاده خود تطابق. گرفت مشتق را دیگر های نمونه

فراوانی کاربردهای سازی برنامه زبانهای دامنه در که است الگو تطابق از ای شده محدود شکل ترم بازنویسیدارد.

رشته برای مثال بازنویسی a1a2...anبرای ی قاعده گوییم ai=bو ترم a1a2…ai-1b...anمی تولید. a1a2...anبازنویسیگرامر از استفاده با زبان یک در رشته یک از .BNFمشتقی است بازنویسی فرآیند از شکلی ،

I=0

I=6

Page 20: 1-8 کنترل ترتیب ضمنی و صریحsmbidoki.ir/courses/95_Summary-8.docx · Web viewزبان APL. زبانی است که عملیات اولیه آن برای کار کردن

. باشد زیر صورت به تواند می فاکتوریل بازگشتی تابع بازنویسی

Fun fact(n) = 1 | fact(N: int)=N*fact(N-1);

. است بازنویسی از شکلی اطالعاتی بانک در ای قاعده با پرولوگ تقاضای تطابق

2-4-8) ( س�ا�ز�ی� ی�ک�س�ا�ن� ا�ت�ح�ا�د�

. دهد می نشان را ای ناشناخته رابطه و دارد نام تقاضا یک متغیر چند یا یک حاوی مثال عبارتی برایparent(a,b)

بانک در موجود حقیقت توسط تقاضا آیا که مشخصشود تا است الگو تطابق از استفاده پرولوگ اصلی ویژگی . یا حقایق روی بر که اطالعاتی بانک در قواعدی از استفاده با توان می ،آیا اینکه یا خیر یا است حل قابل اطالعاتی

. یا اتحاد از الگو تطابق برای پرولوگ، خیر یا آورد دست به را نظر مورد حقیقت شود، می عمل دیگر قواعددر موجود حقایق و قواعد با که است معتبری جانشینی شامل تقاضا آیا کند تعیین تا کند می استفاده جایگزینی

. دانست . جانشینی متداول خاصیت از ای توسعه عنوان به توان می را اتحاد خیر یا باشد سازگار اطالعاتی بانک

. و: ها پارامتر ارسال در کلی اصل یک شود می آموخته نویسی برنامه در که اصولیست اولین از یکی جانشینی. است ها ماکرو بسط

• Printf(“%d درس ”, سازی برنامه ی ها زبان 8درسطراحی )

. ”?” . آن در که داد انتساب هم عالمت یک به توان می را جانشینی این برد کار به اعداد جای به را عبارات توان می. کرد حل را آنها از بعضی توان می عبارت یا دستور دو از استفاده با صورت

• Mymacro (x+y, z/2,?) mymacro (x+y, z/2, ?)

• Mymacro (?, ?, myvar+3) mymacro (? , z+7, ?)

گ�ر�د� 3-4-8 ع�ق�ب�

خورده شکست فعلی فرعی هدف گوییم می شود مواجه شکست با نیز آن و برسیم ممکن هدف آخرین به اگرمی بر قبلی فرعی هدف به و کنیم می جستجو را آن اند گرفته قرار پشته در ها هدف از ای مجموعه چون است . های ساختار که زبانی هر در کند تطابق آن با دیگری هدف کنیم می تالش و است گرفته صورت تطبیق که گردیم

. ساده عقبگرد سازی پیاده لیسپ در است عمومی نویسی برنامه تکنیک یک عقبگرد ، کند می ایجاد را درختی. است. درونی ویژگی یک عقبگرد پرولوگ در است

ح�ل� 4-4-8 ر�ا�ه� ا�ص�ل�

دهه سال 1965در در پرولوگ آن، سازی پیاده نتیجه که کرد ارائه را حل راه اصل .1972رابینسون گرچه بود . هدف است مفید پرولوگ اجرای تئوری درک برای ، نیست مفهوم این درک به نیاز پرولوگ نویسی برنامه برای

کردن متحد پرولوگ جستجوی مثل Q1…..Qnفضای ای قاعده انتخاب در پرولوگ و آزاد Pاست اطالعاتی بانک از . شود انجام موفقیت با اگر دهد انجام آن در را تفکیک که بگیرد نظر در ای فرضیه عنوان به را آن تا پاسخ Бاست

قاعده به نیاز شود مواجه شکست با اگر کند می توصیف را تقاضا .Pبه بیابد را معتبری جانشین تا هر داریم. شود نوشته گزاره یک شکل به تواند می محموله