Črna škatla

Iz MaFiRaWiki

Črna škatla ima v paradigmi strukturiranega programiranja dva sorodna pomena. Lahko se nanaša na problem, ki ga rešujemo s programiranjem od zgoraj navzdol ali pa na algoritem, zapisan po principih strukturiranega programiranja.

image:Crna_skatla.pdf

  1. Lahko pomeni problem P, ki pri dani nalogi n sprašuje po rešitvi r, ki je odvisna od naloge, torej r = P(n).
  1. Lahko pomeni algoritem A, ki ima vhodne podatke v in ob koncu računanja vrne izhodne podatke i, ki so seveda odvisni od vhodnih podatkov, torej i = A(v).

Ob tem so pomembne naslednje lastnosti črne škatle:

  • Razen vhodnih podatkov ni drugih skritih vhodnih potatkov.
  • Problem je dobro definiran: vsaka pravilna rešitev daje algoritem, ki realizira isto funkcijo P(n). Funkcija P(n) je definirana za vse vhodne podatke.
  • Algoritem A je determinističen. To pomeni, da bo ob vsakem ponovnem zagonu algoritma pri istih vhodnih podatkih izračunal enake izhodne rezultate.
  • Problem je bodisi tako preprost, da ga razrešimo lahko že z enim osnovnim ukazom, ali pa ga znamo razdeliti na podprobleme po metodi strukturiranega programiranja.
  • Algoritem je bodisi tako preprost, da ga realiziramo lahko že z enim osnovnim ukazom, ali pa črno škatlo delimo po metodi strukturiranega programiranja.

Na različnih področjih je pojem črna škatla uporabljen takrat (in to je ena od bistvenih lastnosti zatemnjenosti škatle), kadar zunanji opazovalec ne more ali noče vedeti, kaj se v škatli dogaja. Ve le, kakšne rezultat dobi, ne pa kako.

Zato je ta pojem zelo primeren za opis strukturiranega programiranja, oz. programiranja od zgoraj navzdol, ko začnemo z veliko črno škatlo (problemom) in jo postopoma odpiramo kakor rusko babuško in v njej najdemo nove in nove črne škatle, ki jih spet odpiramo, dokler problem ni rešen in program napisan.


Glej tudi

Osebna orodja