Намуди нопурраи дастури шоханок
Дастури шоханок ба ғайр аз намуди умумӣ, ки онро намуди пурраи дастур мегӯянд, намуди нопурра (мухтасар) ҳам дорад. Намуди нопурраи дастури шоханок чунин аст:
Дастури интихоб
Ҳалли баъзе масъалаҳо талаб менамояд, ки дар дастури шоханок миқдори шартҳои санҷидашаванда зиёда аз якто бошад. Алгоритми ҳалли ин гуна масъалаҳоро алгоритми шартии мураккаб мегӯянд.
Мисоли иловагӣ. Ду шарт — як дастури шоханок дар дохили дигараш:
Аввал шарти «борон бошад» санҷида мешавад. Агар борон набошад, дастури дохилӣ умуман иҷро намешавад: чатр намегирем. Агар борон бошад, шарти дуюм — «шамол бошад» — санҷида мешавад.
Дастури интихоб низ ба мисли дастури шоханок шаклҳои пурра ва нопурра дорад. Шакли нопурраи дастури интихоб чунин аст:
Агар ҳангоми риоя нагардидани ягон шарти дастур гузаронидани амалиёти дигарро пешбинӣ кардан зарур бошад, он гоҳ аз намуди пурраи дастури интихоб истифода мебаранд:
Мисол. Иборае аз афсона
Бо истифода аз шаклҳои пурра ва нопурраи дастури интихоб дар заминаи ибораҳои афсонавии «Ба тарафи рост равӣ, аспатро гум мекунӣ, ба тарафи чап равӣ, бо марг дучор меоӣ, ба пеш равӣ, рафиқатро меёбӣ» алгоритм тартиб диҳед.
а) Дар шакли пурра:
б) Дар шакли нопурра:
Дар намуди умумии дастури интихоб пас аз шарт ду нуқта (:) меояд. Дар ин мисол ду нуқта гузошта нашудааст. Дар алгоритмҳои худ мувофиқи намуди умумӣ пас аз шарт ду нуқта гузоред.
Ба шакли пурра нигоҳ кунед: дар он барои «ба пеш» шарт нест! Агар қаҳрамон ба пеш (ё ба ҳар самти дигар, масалан ба қафо) равад, ду шарти аввал риоя намешаванд ва қисми вагарна иҷро мешавад. Дар шакли нопурра бошад, агар қаҳрамон ба қафо равад, ягон шарт риоя намешавад ва ягон амал иҷро намегардад. Ҳар чор самтро санҷед: