Пређи на садржај

Контролна вредност

С Википедије, слободне енциклопедије

У рачунарству, контролна вредност (такође се назива и флаг валуе, трип валуе, рогуе валуе, сигнална вредност, или лажна вредност)[1] је посебна вредност чије присуство гарантује завршетак програмске петље која обрадјује структуиране (нарочито узастопне) податке. Контролна вредност такође омогућава препознавање краја података када друге методе за то нису могуће (као што је експлицитна индикација величине). Вредност би требало да буде изабрана на такав начин да је загарантовано различита од свих законских вредности, јер би у супротном присуство таквих вредности било схваћено као сигнал за прекид свих података, трајно. Испод су неки примери контролних вредности и њихових примена:

  • НУЛЛ знак за означавање краја неважећег – прекинутог низа
  • НУЛЛ показивач за означавање краја повезане листе
  • Негативан цео број за означавање краја низа ненегативних целих бројева
  • Енд-оф-филе, вредност враћена од стране одређеног улазног програма да сигнализира да не постоји више доступних знакова из фајла.
  • Високе вредности, кључна вредност хексадецималних 0xФФ која се користи у пословном програмирању.

Сродна пракса, која се користи у мало другачијим околностима, је да се поставе неке одређене вредности на крај податка, како би се избегла потреба за опширним тестом за терминацију у неком процесној петљи, јер ће вредност покренути гашење помоћу тестова који већ постоје из неких других разлога. На пример, у тражењу одређене вредности у неорганизованој табели, сваки елемент ће бити упоређен са овом вредношћу, са прекидом петље када је једнакост пронађена: међутим у случају да је вредност одсутна, такође мора тестирати после сваког корака јер је потрага безуспешно завршена. Постављањем копије тражене вредности у додатни слот после краја табеле, онемогућава се безуспешна претрага и нису потребни одређени тестови гашења у унутрашњој петљи; после тога ипак се мора одлучити да ли је право поклапање нађено, али ова провера треба да се уради само једном уместо при сваком понављању.[2] Кнутх тако постављену вредност назива вештачка/лажна вредност радије него контролна.

Контролне вредности се често користе када се трага за нечим од вредности.[3]

У сигурним језицима, већина употреба контролне вредности би могла бити замењена са бирачким врстама, које намећу експлицитно руковање изузетним случајем.

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ Кнутх, Доналд (1973). Тхе Арт оф Цомпутер Программинг, Волуме 1: Фундаментал Алгоритхмс (сецонд едитион). Аддисон-Wеслеy. стр. 213—214, алсо пп. 631. ISBN 978-0-201-03809-5. 
  2. ^ Кнутх, Доналд (1973). Тхе Арт оф Цомпутер Программинг, Волуме 3: Сортинг анд сеарцхинг. Аддисон-Wеслеy. стр. 395. ISBN 978-0-201-03803-3. 
  3. ^ МцЦоннелл, Стеве. "Цоде Цомплете" Едитион 2 Пг. 621 ИСБН - 0-7356-1967-0

Литература[уреди | уреди извор]