U računarstvu, kontrolna vrednost (takođe se naziva i flag value, trip value, rogue value, signalna vrednost, ili lažna vrednost)[1] je posebna vrednost čije prisustvo garantuje završetak programske petlje koja obradjuje struktuirane (naročito uzastopne) podatke. Kontrolna vrednost takođe omogućava prepoznavanje kraja podataka kada druge metode za to nisu moguće (kao što je eksplicitna indikacija veličine). Vrednost bi trebalo da bude izabrana na takav način da je zagarantovano različita od svih zakonskih vrednosti, jer bi u suprotnom prisustvo takvih vrednosti bilo shvaćeno kao signal za prekid svih podataka, trajno. Ispod su neki primeri kontrolnih vrednosti i njihovih primena:

  • NULL znak za označavanje kraja nevažećeg – prekinutog niza
  • NULL pokazivač za označavanje kraja povezane liste
  • Negativan ceo broj za označavanje kraja niza nenegativnih celih brojeva
  • End-of-file, vrednost vraćena od strane određenog ulaznog programa da signalizira da ne postoji više dostupnih znakova iz fajla.
  • Visoke vrednosti, ključna vrednost heksadecimalnih 0xFF koja se koristi u poslovnom programiranju.

Srodna praksa, koja se koristi u malo drugačijim okolnostima, je da se postave neke određene vrednosti na kraj podatka, kako bi se izbegla potreba za opširnim testom za terminaciju u nekom procesnoj petlji, jer će vrednost pokrenuti gašenje pomoću testova koji već postoje iz nekih drugih razloga. Na primer, u traženju određene vrednosti u neorganizovanoj tabeli, svaki element će biti upoređen sa ovom vrednošću, sa prekidom petlje kada je jednakost pronađena: međutim u slučaju da je vrednost odsutna, takođe mora testirati posle svakog koraka jer je potraga bezuspešno završena. Postavljanjem kopije tražene vrednosti u dodatni slot posle kraja tabele, onemogućava se bezuspešna pretraga i nisu potrebni određeni testovi gašenja u unutrašnjoj petlji; posle toga ipak se mora odlučiti da li je pravo poklapanje nađeno, ali ova provera treba da se uradi samo jednom umesto pri svakom ponavljanju.[2] Knuth tako postavljenu vrednost naziva veštačka/lažna vrednost radije nego kontrolna.

Kontrolne vrednosti se često koriste kada se traga za nečim od vrednosti.[3]

U sigurnim jezicima, većina upotreba kontrolne vrednosti bi mogla biti zamenjena sa biračkim vrstama, koje nameću eksplicitno rukovanje izuzetnim slučajem.

Vidi još уреди

Reference уреди

  1. ^ Knuth, Donald (1973). The Art of Computer Programming, Volume 1: Fundamental Algorithms (second edition). Addison-Wesley. стр. 213—214, also pp. 631. ISBN 978-0-201-03809-5. 
  2. ^ Knuth, Donald (1973). The Art of Computer Programming, Volume 3: Sorting and searching. Addison-Wesley. стр. 395. ISBN 978-0-201-03803-3. 
  3. ^ McConnell, Steve. "Code Complete" Edition 2 Pg. 621 ISBN - 0-7356-1967-0

Literatura уреди