درﺳﺘﯽﯾﺎﺑﯽ ﺳﯿﺴﺘﻢﻫﺎي واﮐﻨﺸﯽ ﺗﻤﺮﯾﻦﻫﺎي ﺳﺮي 1 اﯾﻦ ﺳﺮي ﺗﻤﺮﯾﻦ ﺑﺎ اﺳﺘﻔﺎده از اﺑﺰار NuSMVاﻧﺠﺎم ﻣﯽﮔﯿﺮد NuSMV .ﯾﮏ اﺑﺰار وارﺳﯽ ﻣﺪل 1ﻣﺒﺘﻨﯽ ﺑﺮ BDD2اﺳﺖ ﮐﻪ ﺑﻪ ﻣﺎ اﺟﺎزه ﻣﯽدﻫﺪ ﯾﮏ ﺳﯿﺴﺘﻢ ﺑﺎ ﺣﺎﻟﺖﻫﺎي ﻣﺤﺪود را ﻧﺴﺒﺖ ﺑﻪ وﯾﮋﮔﯽﻫﺎﯾﯽ ﮐﻪ ﺗﻮﺳﻂ ﻣﻨﻄﻖﻫﺎي LTLﯾﺎ CTLﺑﯿﺎن ﻣﯽﺷﻮﻧﺪ ،وارﺳﯽ ﮐﻨﯿﻢ. NuSMVﯾﮏ اﺑﺰار راﯾﮕﺎن و ﻣﺘﻦﺑﺎز اﺳﺖ ﮐﻪ ﻣﯽﺗﻮاﻧﯿﺪ ﻧﺴﺨﻪي وﯾﻨﺪوز ﯾﺎ ﻟﯿﻨﻮﮐﺲ آن را از http://nusmv.fbk.euداﻧﻠﻮد ﮐﻨﯿﺪ .ﻫﻢﭼﻨﯿﻦ ﺑﺮاي داﻧﻠﻮد ﻣﺤﯿﻂ ﮔﺮاﻓﯿﮑﯽ آن ﻣﯽﺗﻮاﻧﯿﺪ ﺑﻪ http://nusmv.fbk.eu/courses/esslli02/gnusmv/ﻣﺮاﺟﻌﻪ ﮐﻨﯿﺪ. ﺑﺮاي اﻃﻼﻋﺎت ﺑﯿﺶﺗﺮ ﻣﯽﺗﻮاﻧﯿﺪ ﺑﻪ راﻫﻨﻤﺎي NuSMVﺑﻪ ﻧﺸﺎﻧﯽ http://nusmv.fbk.eu/NuSMV/tutorial/v25/tutorial.pdfﻣﺮاﺟﻌﻪ ﮐﻨﯿﺪ. ﻧﮑﺘﻪ :اﮔﺮ از NuSMVﻧﺴﺨﻪي 2,5اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﺪ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ در اﯾﻦ ﻧﺴﺨﻪ ﺑﺮاي ﻧﻮع booleanاﻣﮑﺎن اﺳﺘﻔﺎده از 1و 0ﻧﯿﺴﺖ و ﺣﺘﻤﺎ ﺑﺎﯾﺪ از TRUEو FALSEاﺳﺘﻔﺎده ﮔﺮدد. ﺗﻮﺟﻪ :ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﯽ ،ﺷﻤﺎرهي داﻧﺸﺠﻮﯾﯽ ،رﺷﺘﻪ و ﮔﺮاﯾﺶ و آدرس اﯾﻤﯿﻞ ﺧﻮد را ﺑﺮاي ارﺗﺒﺎﻃﺎت و اﻃﻼعرﺳﺎﻧﯽﻫﺎي ﺑﻌﺪي ﺑﻪ ﻧﺸﺎﻧﯽ [email protected]ﺑﻔﺮﺳﺘﯿﺪ. ﺗﻤﺮﯾﻦ :1ﻣﺎﺷﯿﻦ ﻓﺮوش ﺧﻮدﮐﺎر ) (Vending Machineزﯾﺮ را درﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ .ﺳﯿﺴﺘﻢ ﮔﺬار ) (Transition Systemﻣﺮﺑﻮط ﺑﻪ آن را رﺳﻢ ﮐﺮده و ﺳﭙﺲ آن را ﺑﺎ اﺑﺰار NuSMVﻣﺪل ﮐﻨﯿﺪ. در اﯾﻦ ﺳﯿﺴﺘﻢ ﮐﺎرﺑﺮ ﻣﯽ ﺗﻮاﻧﺪ در ﯾﮑﯽ از ﺣﺎﻻت زﯾﺮ ﻗﺮار ﺑﮕﯿﺮد: }{initial, waiting-to-enter, insert-coin, want-money-back , make-choice, waiting-for-drink ﮐﺎرﺑﺮ در اﺑﺘﺪا در ﺣﺎﻟﺖ initialﻗﺮار ﮔﺮﻓﺘﻪ و ﺑﻪ ﺻﻮرت ﻏﯿﺮ ﻗﻄﻌﯽ ﻣﯽ ﺗﻮاﻧﺪ در اﯾﻦ ﺣﺎﻟﺖ ﺑﺎﻗﯽ ﺑﻤﺎﻧﺪ و ﯾﺎ ﺑﻪ ﺣﺎﻟﺖ waiting-to-enterﺑﺮود .در ﺣﺎﻟﺖ waiting-to-enterﺳﮑﻪ را وارد ﻧﻤﻮده و وارد ﺣﺎﻟﺖ insert-coinﻣﯽﺷﻮد .ﭘﺲ از وارد ﺷﺪن ﺑﻪ ﺣﺎﻟﺖ ،insert-coinﯾﺎ ﮐﺎﻻي ﺧﻮد را اﻧﺘﺨﺎب ﻧﻤﻮده و ﯾﺎ در ﺧﻮاﺳﺖ ﺑﺮﮔﺸﺖ ﭘﻮل ﺧﻮد را ﻣﯽ ﻧﻤﺎﯾﺪ. Vending Machineﻧﯿﺰ ﻣﯽ ﺗﻮاﻧﺪ ﻫﺮﯾﮏ از ﺣﺎﻻت زﯾﺮ را ﺑﺮاﺳﺎس ﻧﻮع ﻓﻌﺎﻟﯿﺖ ﮐﺎرﺑﺮ و ﮐﺎﻻي درﺧﻮاﺳﺘﯽ داﺷﺘﻪ ﺑﺎﺷﺪ: }{initial, insert-coin, return-coin, get-choice, dispense Model Checking Binary Decision Diagram 1 1 2 ﻣﺎﺷﯿﻦ در آﻏﺎز در ﺣﺎﻟﺖ initialﻗﺮار دارد .در ﺻﻮرﺗﯽ ﮐﻪ ﮐﺎرﺑﺮ ﺳﮑﻪ وارد دﺳﺘﮕﺎه ﮐﻨﺪ )ﺣﺎﻟﺖ ،(insert-coinﻣﺎﺷﯿﻦ ﻧﯿﺰ در اﯾﻦ ﺣﺎﻟﺖ ﻗﺮار ﻣﯽ ﮔﯿﺮد و ﺳﭙﺲ ﺑﺮاﺳﺎس اﻧﺘﺨﺎب ﮐﺎرﺑﺮ ﻣﯽ ﺗﻮاﻧﺪ وارد ﯾﮑﯽ از دو ﺣﺎﻟﺖ return-coinو ﯾﺎ get-choiceﻣﯽﺷﻮد .در ﺣﺎﻟﺖ ،return-coinﭘﻮل ﮐﺎرﺑﺮ را ﭘﺲ داده و ﺑﻪ ﺣﺎﻟﺖ initialﺑﺎز ﻣﯽ ﮔﺮدد .در ،get-choiceﻣﻨﺘﻈﺮ اﻧﺘﺨﺎب ﮐﺎﻻ ﻣﯽﻣﺎﻧﺪ و ﭘﺲ از اﻧﺘﺨﺎب ﺑﻪ ﺣﺎﻟﺖ dispenseﻣﯽ رود و ﮐﺎﻻ را ﺑﻪ ﮐﺎرﺑﺮ ﺗﺤﻮﯾﻞ ﻣﯽدﻫﺪ .ﺳﺮاﻧﺠﺎم ﺑﻪ ﺣﺎﻟﺖ initialﺑﺎز ﻣﯽ ﮔﺮدد. در اﺑﺘﺪا ﮐﺎرﺑﺮ ﻫﯿﭻ ﮐﺎﻻﯾﯽ اﻧﺘﺨﺎب ﻧﮑﺮده اﺳﺖ ﺑﻪ ﻋﺒﺎرت دﯾﮕﺮ اﻧﺘﺨﺎب او ﺑﺮاﺑﺮ noneاﺳﺖ و در اﯾﻦ ﺣﺎﻟﺖ اﮔﺮ ﺑﺘﻮاﻧﺪ ﮐﺎﻻﯾﯽ اﻧﺘﺨﺎب ﻧﻤﺎﯾﺪ ﯾﮑﯽ از ﻣﻮارد } {beer, soda, coke, diet-cokeرا ﺑﻪ ﺻﻮرت ﻏﯿﺮ ﻗﻄﻌﯽ اﻧﺘﺨﺎب ﻣﯽ ﮐﻨﺪ. ﺑﺮاي ﺳﯿﺴﺘﻢ ﺗﻮﺻﯿﻒ ﺷﺪه ﻣﻮارد زﯾﺮ را ﺑﺮرﺳﯽ ﻧﻤﺎﯾﯿﺪ: در ﺻﻮرﺗﯽ ﮐﻪ ﻣﺎﺷﯿﻦ در ﺣﺎﻟﺖ insert-coinﺑﺎﺷﺪ ،ﺳﺮاﻧﺠﺎم ﯾﺎ ﻣﺎﺷﯿﻦ ﺑﻪ ﺣﺎﻟﺖ dispenseﻣﯽ رود ﯾﺎ در ﺣﺎﻟﺖ return-coinﻗﺮار ﻣﯽ ﮔﯿﺮد. ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﮐﺎرﺑﺮ ﮐﺎﻻﯾﯽ اﻧﺘﺨﺎب ﻧﮑﻨﺪ ﻣﺎﺷﯿﻦ در ﺣﺎﻟﺖ insert-coinﺑﺎﻗﯽ ﻣﯽ ﻣﺎﻧﺪ. ﻫﻤﯿﺸﻪ ﻣﺎﺷﯿﻦ ﺑﻪ ﺣﺎﻟﺖ اوﻟﯿﻪ ﺑﺎز ﻣﯽ ﮔﺮدد. ﺗﻤﺮﯾﻦ :2ﺳﯿﺴﺘﻢ زﯾﺮ را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ ﮐﻪ ﻣﺪلﮐﻨﻨﺪهي ﻣﺴﺎﻟﻪ ﻏﺬا ﺧﻮردن ﻓﯿﻠﺴﻮﻓﺎن ) (Dining Philosophersاﺳﺖ: ﻓﺮض ﮐﻨﯿﺪ ﺟﺎن ﻻك 3و دﯾﻮﯾﺪ ﻫﯿﻮم 4ﺑﻪ دور ﯾﮏ ﻣﯿﺰ ﻏﺬاﺧﻮري ﻧﺸﺴﺘﻪ اﻧﺪ و ﺑﺮاي ﻫﺮﮐﺪام ﯾﮏ ﻇﺮف ﻏﺬا وﺟﻮد دارد .اﻣﺎ ﺑﻪ دﻟﯿﻞ ﮐﻤﺒﻮد اﻣﮑﺎﻧﺎت! ﺗﻨﻬﺎ ﯾﮏ ﭼﻨﮕﺎل ﺑﺮ روي ﻣﯿﺰ اﺳﺖ ،ﺑﻨﺎﺑﺮاﯾﻦ در ﻫﺮ ﻟﺤﻈﻪ ﺗﻨﻬﺎ ﯾﮏ ﻧﻔﺮ از آﻧﻬﺎ ﻣﯽ ﺗﻮاﻧﺪ ﻏﺬا ﺑﺨﻮرد .ﺑﻪ ﻣﻨﻈﻮر اﻃﻤﯿﻨﺎن از اﯾﻨﮑﻪ ﻫﺮ دو ﻓﯿﻠﺴﻮف ﺑﺘﻮاﻧﻨﺪ ﻏﺬاي ﺧﻮد را ﺑﺨﻮرﻧﺪ ﯾﮏ ﺧﺪﻣﺘﮑﺎر وﺟﻮد دارد ﮐﻪ دﺳﺘﺮﺳﯽ ﺑﻪ ﭼﻨﮕﺎل را ﮐﻨﺘﺮل ﻣﯽ ﮐﻨﺪ .ﻫﺮ دوﻓﯿﻠﺴﻮف ﻣﯽ ﺗﻮاﻧﻨﺪ در ﻫﺮ ﻟﺤﻈﻪ ﻣﺘﻘﺎﺿﯽ اﺳﺘﻔﺎده از ﭼﻨﮕﺎل ﺑﺎﺷﻨﺪ و اﮔﺮ ﭼﻨﮕﺎل در دﺳﺘﺮس ﺑﻮد ﺷﺨﺺ ﺗﻘﺎﺿﺎ دﻫﻨﺪه آن را ﺑﻪدﺳﺖ ﺧﻮاﻫﺪ آورد .اﯾﻦ ﺷﺮاﯾﻂ ﺗﻮﺳﻂ ﮐﺪ زﯾﺮ ﻣﺪل ﻣﯽ ﺷﻮد .ﺗﺎﺑﻊ Mainﻧﺸﺎندﻫﻨﺪهي ﺧﺪﻣﺘﮑﺎر اﺳﺖ و ﻣﺸﺨﺺ ﻣﯽ ﮐﻨﺪ ﺑﺮ اﺳﺎس درﺧﻮاﺳﺖ درﯾﺎﻓﺘﯽ ،ﻧﻮﺑﺖ ﭼﻪ ﮐﺴﯽ ﺑﺮاي درﯾﺎﻓﺖ ﭼﻨﮕﺎل اﺳﺖ. )MODULE proc(other-person, turn, myname VAR ;}status: {no-fork, request-fork, eating ASSIGN init(status) := [...]; -- complete here =next(status) : case & )(status = request-fork & )(other-person = request-fork ;(turn = myname) : eating (status = request-fork) & -- Complete here (status = no-fork) -- Complete here ;}(status = eating) : {eating, no-fork ;1 : status ;esac FAIRNESS running MODULE main John Locke David Hume 2 3 4 VAR ;)Locke : process proc(Hume.status, turn, FALSE ;)Hume : process proc(Locke.status, turn, TRUE ;turn : boolean ASSIGN ;init(turn) := FALSE -- You can leave the evolution (next) empty: -- in this way turn changes randomly. ﻧﺨﺴﺖ ﺟﺎﻫﺎي ﺧﺎﻟﯽ ﻣﺪل را ﺑﺎ ﮐﺪ ﻣﻨﺎﺳﺐ ﺗﮑﻤﯿﻞ ﮐﺮده و ﺳﭙﺲ آن را در اﺑﺰار NuSMVﺑﺎر ﻧﻤﺎﯾﯿﺪ. در اداﻣﻪ ،اﯾﻦ وﯾﮋﮔﯽﻫﺎ را ﺑﺎ ﺑﻪ ﺻﻮرت رﺳﻤﯽ ﺑﺎ ﻣﻨﻄﻖ ﻣﺪل ﮐﺮده و آنﻫﺎ ﺑﺮرﺳﯽ ﮐﻨﯿﺪ. ﻻك و ﻫﯿﻮم ﻫﺮﮔﺰ ﻧﻤﯽﺗﻮاﻧﻨﺪ ﻫﻢزﻣﺎن ﻏﺬا ﺑﺨﻮرﻧﺪ(Safety) . اﮔﺮ ﻻك )ﻫﯿﻮم( ﻣﺘﻘﺎﺿﯽ ﭼﻨﮕﺎل ﺑﺎﺷﺪ ﺳﺮاﻧﺠﺎم آن را ﺑﺪﺳﺖ ﺧﻮاﻫﺪ آورد(Liveness) . ﻫﻤﺎنﮔﻮﻧﻪ ﮐﻪ در درس دﯾﺪه اﯾﺪ ﯾﮏ ﺷﺮط اﻧﺼﺎف ) (fairnessﺗﻮﺟﻪ را ﺑﻪ ﻣﺴﯿﺮﻫﺎي اﺟﺮاﯾﯽ ﺑﺎاﻧﺼﺎف ) (fair execution pathsﻣﺤﺪود ﻣﯽﮐﻨﺪ .درج ﺷﺮط اﻧﺼﺎف running در ﯾﮏ ﻣﺎژول ،ﺗﻮﺟﻪ را ﺑﻪ ﻣﺴﯿﺮﻫﺎﯾﯽ ﻣﺤﺪود ﻣﯽﮐﻨﺪ ﮐﻪ در آنﻫﺎ اﯾﻦ ﻣﺎژول ﻣﮑﺮرا اﺟﺮا ﻣﯽﺷﻮد .ﺑﮑﻮﺷﯿﺪ ﺑﺮ روي ﻣﺪل ﺑﺎﻻ ﯾﮏ ﺷﺮط اﻧﺼﺎف اﻋﻤﺎل ﻧﻤﺎﯾﯿﺪ ﺗﺎ وﯾﮋﮔﯽ دوم ﺑﺮﻗﺮار ﺷﻮد. درﺑﺎرهي ﮐﻠﯿﺪواژهي processﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ از ﻣﯿﺎن ﻣﺎژولﻫﺎﯾﯽ ﮐﻪ ﺑﺎ آن ﻣﺸﺨﺺ ﺷﺪه اﻧﺪ ﯾﮑﯽ ﺑﻪ ﺻﻮرت ﻏﯿﺮﻗﻄﻌﯽ 5ﺑﺮﮔﺰﯾﺪه ﺷﺪه و اﻧﺘﺴﺎبﻫﺎي آن ﺑﻪ ﺻﻮرت ﻣﻮازي اﺟﺮا ﻣﯽﺷﻮﻧﺪ .ﺑﺮاي اﻃﻼﻋﺎت ﺑﯿﺶﺗﺮ ﻣﯽﺗﻮاﻧﯿﺪ ﺑﻪ راﻫﻨﻤﺎي NuSMVﻣﺮاﺟﻌﻪ ﮐﻨﯿﺪ. ﺗﻤﺮﯾﻦ .3ﺑﺨﺶ ﻧﺨﺴﺖ :در اﯾﻦ ﺑﺨﺶ ﺑﺎﯾﺪ ﯾﮏ ﺳﯿﺴﺘﻢ آﺳﺎﻧﺴﻮر ﺳﺎدهﺷﺪه را ﻣﺪلﺳﺎزي ﮐﻨﯿﺪ .آﺳﺎﻧﺴﻮر در ﯾﮏ ﺳﺎﺧﺘﻤﺎن ﺑﺎ ﭼﻬﺎر ﻃﺒﻘﻪ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ ﮐﻪ از 1ﺗﺎ 4ﻧﺎمﮔﺬاري ﺷﺪهاﻧﺪ .در ﻫﺮ ﻃﺒﻘﻪ ﯾﮏ دﮐﻤﻪ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ ﮐﻪ اﻓﺮاد ﺑﺮاي درﺧﻮاﺳﺖ اﺳﺘﻔﺎده از آﺳﺎﻧﺴﻮر از آن اﺳﺘﻔﺎده ﻣﯽﮐﻨﻨﺪ .اﮔﺮ ﭘﯿﺶﺗﺮ درﺧﻮاﺳﺘﯽ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﭘﺲ از ﻓﺸﺮدن دﮐﻤﻪ ،آﺳﺎﻧﺴﻮر ﺑﻪ ﺳﻤﺖ ﻃﺒﻘﻪي درﺧﻮاﺳﺘﯽ ﺣﺮﮐﺖ ﻣﯽﮐﻨﺪ .اﮔﺮ ﭼﻨﺪ درﺧﻮاﺳﺖ ﻫﻤﺰﻣﺎن وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ آﺳﺎﻧﺴﻮر ﺑﻪ ﺳﻤﺖ ﻧﺰدﯾﮏﺗﺮﯾﻦ ﻃﺒﻘﻪ ﺣﺮﮐﺖ ﻣﯽﮐﻨﺪ )ﺟﻬﺖ ﺣﺮﮐﺖ اﻫﻤﯿﺘﯽ ﻧﺪارد(. ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ اﯾﻦ ﻣﺪل ﺳﺎدهﺷﺪهي آﺳﺎﻧﺴﻮر اﺳﺖ و دﮐﻤﻪﻫﺎي دروﻧﯽ آﺳﺎﻧﺴﻮر ﺣﺬف ﺷﺪه اﻧﺪ و ﺗﻨﻬﺎ رﻓﺘﻦ ﺑﻪ ﻃﺒﻘﻪ درﺧﻮاﺳﺘﯽ ﮐﺎﻓﯽ اﺳﺖ .ﻫﻢﭼﻨﯿﻦ ﻓﺮض ﮐﻨﯿﺪ ﻫﻨﮕﺎﻣﯽ ﮐﻪ دﮐﻤﻪ ﻓﺸﺮده ﻧﺸﺪه اﺳﺖ ﺑﻪ ﺻﻮرت ﻏﯿﺮﻗﻄﻌﯽ ﻣﯽﺗﻮاﻧﺪ در ﻫﺮ زﻣﺎﻧﯽ ﻓﺸﺮده ﺷﻮد. راﻫﻨﻤﺎﯾﯽ :از ﻗﺎﺑﻠﯿﺖ MODULEﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ: )MODULE Button(reset VAR pressed: boolean … nondeterministic 3 5 )…(MODULE Controller … MODULE Main VAR ;)button1 : Button(controller.reset1 ;)button2 : Button(controller.reset2 … )… controller: Controller(button1.pressed, button2.pressed, … ﻣﻄﻤﺌﻦ ﺷﻮﯾﺪ وﯾﮋﮔﯽﻫﺎي زﯾﺮ در ﻣﺪل ﺷﻤﺎ ﺑﺮﻗﺮار ﻫﺴﺘﻨﺪ )آنﻫﺎ را ﺑﻪ ﺻﻮرت رﺳﻤﯽ ﺑﺎ ﻣﻨﻄﻖ ﺑﯿﺎن ﮐﺮده و در اﺑﺰار وارﺳﯽ ﻧﻤﺎﯾﯿﺪ( .اﮔﺮ وﯾﮋﮔﯽﻫﺎي دﯾﮕﺮي را ﻧﯿﺰ ﻻزم ﻣﯽداﻧﯿﺪ ﮐﻪ در اﯾﻦﺟﺎ ذﮐﺮ ﻧﺸﺪه اﻧﺪ ،آنﻫﺎ را ﺑﯿﺎﻓﺰاﯾﯿﺪ. ﮐﻠﯿﺪ ﭘﯿﺶ از رﺳﯿﺪن آﺳﺎﻧﺴﻮر ﺧﺎﻣﻮش ﻧﻤﯽﺷﻮد )ﻣﻨﻈﻮر از روﺷﻦ )ﻓﺸﺮده( ﺑﻮدن TRUE ،ﺑﻮدن ﻣﺘﻐﯿﺮ pressedاﺳﺖ(. آﺳﺎﻧﺴﻮر ﮐﻠﯿﺪ ﺧﺎﻣﻮش را دوﺑﺎره ﺧﺎﻣﻮش ﻧﻤﯽﮐﻨﺪ. آﺳﺎﻧﺴﻮر ﻫﺮﮔﺰ دو ﻃﺒﻘﻪ را در ﯾﮏ ﮔﺎم زﻣﺎﻧﯽ ﻃﯽ ﻧﻤﯽﮐﻨﺪ. اﮔﺮ دﮐﻤﻪاي ﻓﺸﺮده ﻧﺸﺪه ،آﺳﺎﻧﺴﻮر ﺑﺎﯾﺪ ﺛﺎﺑﺖ ﺑﻤﺎﻧﺪ. اﮔﺮ دﮐﻤﻪﻫﺎ ﻣﮑﺮرا ) (infinitely oftenﻓﺸﺮده ﺷﻮﻧﺪ ،آﺳﺎﻧﺴﻮر ﻫﺮﮔﺰ ﻧﺨﻮاﻫﺪ اﯾﺴﺘﺎد. آﯾﺎ وﯾﮋﮔﯽﻫﺎي زﯾﺮ ﻧﯿﺰ ﺑﺮﻗﺮار ﻫﺴﺘﻨﺪ؟ ﭼﺮا؟ اﮔﺮ دﮐﻤﻪ ﻃﺒﻘﻪي iام ﻓﺸﺮده ﺷﻮد ،آﺳﺎﻧﺴﻮر ﺳﺮاﻧﺠﺎم ) (eventuallyﺑﻪ ﻃﺒﻘﻪي iام ﻣﯽرﺳﺪ. آﺳﺎﻧﺴﻮر ﻫﺮ ﻃﺒﻘﻪ را ﻣﮑﺮرا ) (infinitely oftenوﯾﺰﯾﺖ ﻣﯽﮐﻨﺪ. ﺗﻤﺮﯾﻦ .3ﺑﺨﺶ دوم :اﮐﻨﻮن ﻓﺮض ﮐﻨﯿﺪ ﺑﻪ دﻟﯿﻞ ﺷﻤﺎر زﯾﺎد درﺧﻮاﺳﺖﻫﺎ ،ﺑﻪ ﺟﺎي ﯾﮏ آﺳﺎﻧﺴﻮر ،ﺳﻪ آﺳﺎﻧﺴﻮر در ﺳﺎﺧﺘﻤﺎن ﻗﺮار داده اﻧﺪ .اﯾﻦ آﺳﺎﻧﺴﻮرﻫﺎ ﺑﺎﯾﺪ ﺑﺎ ﻫﻢ ﻫﻤﺎﻫﻨﮓ ﺑﺎﺷﻨﺪ ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ ﮐﻪ ﺑﺎز ﻫﻢ در ﻫﺮ ﻃﺒﻘﻪ ﺗﻨﻬﺎ ﯾﮏ دﮐﻤﻪ دارﯾﻢ و ﭘﺲ از ﻓﺸﺮدن دﮐﻤﻪ ﻧﺰدﯾﮏﺗﺮﯾﻦ آﺳﺎﻧﺴﻮر از ﺳﻪ آﺳﺎﻧﺴﻮر ﺑﺎﯾﺪ ﺑﻪ آن ﻃﺒﻘﻪ ﺑﺮود )ﻣﺎﻧﻨﺪ آﺳﺎﻧﺴﻮري ﮐﻪ در داﻧﺸﮑﺪه وﺟﻮد دارد( .ﻣﺪل آﺳﺎﻧﺴﻮر ﻣﻄﺮح ﺷﺪه در ﺑﺨﺶ ﭘﯿﺶ را ﻃﻮري ﮔﺴﺘﺮش دﻫﯿﺪ ﺗﺎ اﯾﻦ ﺷﮑﻞ ﺟﺪﯾﺪ را ﭘﺸﺘﯿﺒﺎﻧﯽ ﮐﻨﺪ )در اﯾﻦﺟﺎ ﺑﺮاي ﺳﺎدﮔﯽ ﻣﯽﺗﻮاﻧﯿﺪ ﺳﺎﺧﺘﻤﺎن را ﺳﻪ ﻃﺒﻘﻪ ﻓﺮض ﮐﻨﯿﺪ(. وﯾﮋﮔﯽﻫﺎي ﻣﻄﺮح ﺷﺪه در ﺑﺨﺶ ﭘﯿﺶ را ﺑﺮاي اﯾﻦ ﺳﯿﺴﺘﻢ ﺟﺪﯾﺪ ﺑﺮرﺳﯽ ﻧﻤﺎﯾﯿﺪ )در ﺻﻮرت ﻧﯿﺎز آنﻫﺎ را ﻧﯿﺰ ﮔﺴﺘﺮش دﻫﯿﺪ(. ﻧﺤﻮه ارﺳﺎل ﭘﺎﺳﺦ ﺗﻤﺮﯾﻦ ﭘﺎﺳﺦ ﺗﻤﺮﯾﻦ را ﺑﻪ ﺻﻮرت اﯾﻤﯿﻞ ارﺳﺎل ﮐﻨﯿﺪ .در ﻣﻮﺿﻮع اﯾﻤﯿﻞ از اﯾﻦ اﻟﮕﻮ ﭘﯿﺮوي ﮐﻨﯿﺪ: StudentNo_FirstName_LastName_Ex1 ﻫﻢﭼﻨﯿﻦ ﻫﻤﻪي ﻓﺎﯾﻞﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﭘﺎﺳﺦ ﺗﻤﺮﯾﻦ را در ﯾﮏ ﻓﺎﯾﻞ ﻓﺸﺮده ﻗﺮار داده و ﺑﺎ ﻗﺎﻟﺐ ﺑﺎﻻ ﻧﺎمﮔﺬاري ﮐﺮده و ﺑﻪ اﯾﻤﯿﻞ ﭘﯿﻮﺳﺖ ﮐﻨﯿﺪ و ﺑﻪ ﻧﺸﺎﻧﯽ [email protected]ﺑﻔﺮﺳﺘﯿﺪ .از ﻓﺮﺳﺘﺎدن ﭘﺎﺳﺦ ﺗﻤﺮﯾﻦ در ﻣﺘﻦ اﯾﻤﯿﻞ ﺧﻮدداري ﮐﻨﯿﺪ. 4 ﺗﺤﻮﯾﻞدادﻧﯽﻫﺎ: ﯾﮏ ﻓﺎﯾﻞ ورد ﯾﺎ PDFﺷﺎﻣﻞ ﭘﺎﺳﺦ ﺗﻤﺮﯾﻦﻫﺎ )ﭘﺎﺳﺦﻫﺎي ﺗﻮﺿﯿﺤﯽ و ﮐﺪﻫﺎ( ،ﻧﺘﯿﺠﻪ ﭼﮏ ﮐﺮدن ﻫﺮﮐﺪام از وﯾﮋﮔﯽﻫﺎ در اﺑﺰار ،ﻓﺮضﻫﺎﯾﯽ ﮐﻪ داﺷﺘﻪاﯾﺪ و دﯾﮕﺮ ﻣﻮاردي ﮐﻪ ﻻزم ﻣﯽداﻧﯿﺪ. ﻓﺎﯾﻞﻫﺎي ﮐﺪ smvﺑﺎ ﭘﺴﻮﻧﺪ .smvﮐﻪ ﺷﺎﻣﻞ ﮐﺪﻫﺎ و وﯾﮋﮔﯽﻫﺎي ﺑﺮرﺳﯽ ﺷﺪه اﺳﺖ )ﺑﺮاي ﻫﺮ ﺗﻤﺮﯾﻦ ﺑﻪ ﺻﻮرت ﺟﺪاﮔﺎﻧﻪ(. ﺗﺎرﯾﺦ ﺳﺮرﺳﯿﺪ ) (Deadlineاﯾﻦ ﺳﺮي ﺗﻤﺮﯾﻦ ﺳﻪﺷﻨﺒﻪ 27ﻓﺮوردﯾﻦ ﻣﺎه 1392ﻣﯽ ﺑﺎﺷﺪ. ﺑﺎرم ﻧﻤﺮات ﺗ ﻤ ﺮ ﯾﻦ 1 30ﻧﻤﺮه ﺗ ﻤ ﺮ ﯾﻦ 2 30ﻧﻤﺮه ﺗ ﻤ ﺮ ﯾﻦ 3 40ﻧﻤﺮه 5
© Copyright 2025 Paperzz