18
Мұндай жағдайда бутерброд жеуге деген құштарлығыңыздан
кейінгі сіздің әрекетіңіздің реті төмендегідей болады:
1.
Нансалғышты ашу.
2.
Егер нан бар болса, оны алу.
3.
Нансалғышты жабу.
4.
Егер нан жоқ болса, онда дүкенге бару.
5.
Нан сатып алу.
6.
Нанды үйге алып келу.
7.
Нанды үстелге қою және т.б.
Сіз ерекше көңіл бөлуді қажет ететін жолдар жартылай қою
шрифпен белгіленген, яғни, біздің жағдайда сіздің әрі қарай атқаратын
әрекеттеріңіздің шарттары берілген.
Сонымен,
сізде бутерброд бар, бірақ әрекеттер ретін баяндауда
белгісіздік жағдайы пайда болды. Егер осы баяндауды қатаң сақтасақ,
нансалғышта нанның болуына қарамастан және 2- әркетті ойдағыдай
орындағанмен, сізге 3,4,5 және 6-әрекеттер ретін орындай отырып,
бәрібір дүкенге бару керек болады. Әйтпесе 3-әрекеттен кейін не істеу
керектігі түсініксіз болып қалады.
Нансалғышты жабу. Әрине, сіз
парасатты адам ретінде әрі қарай не істеу керектігін білесіз. Ал
егер
осы жағдайда алгоритмді орындау машинаға тапсырылған болса қалай
болады?
Мұндай жағдайда алгоритмнің сипаттамасына кейбір нақтылықты
енгізу керек екендігі анық. Біріншіден, бір кездерде әрекеттерді
орындау ретінің бұзылуы мүмкін екендігін
көрсету керек және сол
кезде келесі әрекетті таңдауға болады. Бұл таңдау кейбір шарттарды (
нансалғышта нан бар ма) орындауға (немесе орындамауға) байланысты
болады. Екіншіден, қандай да бір нәтижені таңдау барысындағы
кезекті әрекеттің нақты қандай болатындығын көрсету қажет.
Жағдайды таңдау белгісі болып «егер» сөзі қызмет етеді, ол
шартты
енгізеді (нан бар). Бірақ нанның болмау мүмкіндігіне байланысты
алгоритмде тағы бір «егер» болуы мүмкін, ол қарама қарсы шартты
енгізеді (нан жоқ). Бұл жағдайларда шатаспас үшін, әдетте, екінші
шартты «әйтпесе» сөзімен алмастырады:
1.
Нансалғышты ашу.
2.
Достарыңызбен бөлісу: