Кіріспе
Компьютерлік бағдарламалауда, күзетші мән (сонымен қатар, флаг мәні, тоқтату мәні, бұрыс мән, сигнал мәні немесе жалған деректер деп аталады) – алгоритмнің ішіндегі арнайы мән, оның болуы аяқталу шарты ретінде қолданылады, әдетте цикл немесе рекурсивті алгоритмде. Күзетші мән – бұл деректердің ішінде берілген мән, ол деректердің сыртындағы мәліметтер берілмеген кезде (мысалы, нақты өлшем көрсетілмегенде) деректердің соңына жеткенін анықтауға мүмкіндік береді. Мәннің барлық қолданылатын деректерден ерекшеленетініне кепілдік беру керек, әйтпесе мұндай мәндердің болуы деректердің соңына ертерек жеткенін көрсетеді (жартылай болжамдау мәселесі). Күзетші мән кейде "Каирдегі піл" деп аталады, себебі бұл физикалық күзетші ретінде қолданылатын әзілге байланысты. Қауіпсіз тілдерде, көптеген күзетші мәндерді ерекше жағдайды нақты өңдеуді талап ететін опция түрлерімен алмастыруға болады.
In computer programming, a sentinel value (also referred to as a flag value, trip value, rogue value, signal value, or dummy data) is a special value in the context of an algorithm which uses its presence as a condition of termination, typically in a loop or recursive algorithm. The sentinel value is a form of in band data that makes it possible to detect the end of the data when no out of band data (such as an explicit size indication) is provided. The value should be selected in such a way that it is guaranteed to be distinct from all legal data values since otherwise, the presence of such values would prematurely signal the end of the data (the semipredicate problem). A sentinel value is sometimes known as an "Elephant in Cairo," due to a joke where this is used as a physical sentinel. In safe languages, most sentinel values could be replaced with option types, which enforce explicit handling of the exceptional case.
Нұсқалар
Сәл өзге жағдайларда қолданылатын ұқсас тәжірибе – кейбір өңдеу циклында аяқталуға қатысты нақты тесттің қажеттілігін жою үшін деректердің соңына белгілі бір мәнді қою, себебі бұл мән басқа себептерге байланысты жасалған тесттер арқылы аяқталуға себеп болады. Жоғарыда айтылған қолданылудан ерекшелігі, бұл деректердің табиғи түрде сақталуы немесе өңделуі емес, аяқталуын тексеруге арналған қарапайым алгоритммен салыстырғанда оптимизация болып табылады. Бұл көбінесе іздеу кезінде қолданылады. Мысалы, реттелмеген тізімде белгілі бір мәнді іздегенде, әрбір элемент осы мәнмен салыстырылады және теңдік табылғанда цикл аяқталады. Алайда, ізделінетін мән тізімде болмаған жағдайда, әр қадамнан кейін іздеу сәтсіз аяқталды ма, жоқ па, соны тексеру қажет. Ізделінетін мәнді тізімнің соңына қосу арқылы сәтсіз іздеу мүмкін болмайды және ішкі циклде нақты аяқтау тесттерін жүргізудің қажеті болмайды. Іздеуден кейін нақты сәйкестік табылды ма, жоқ па, соны анықтау керек, бірақ бұл тестті әрбір итерацияда емес, бір рет ғана орындау жеткілікті. Кнут мұндай деректердің соңына қосылған мәнді күзетші емес, фиктивті мән деп атайды.