Statický rozsah v programování deklaruje proměnné lexikálně, v závislosti na logické struktuře a organizaci programu. V programování obor deklaruje rozsah, ve kterém je proměnná viditelná a použitelná. Rozsah je užitečný, protože rozlišuje části programu a proměnné v nich.
Jedna další poznámka o rozsahu je, že jeho popis je poněkud zavádějící: odkazuje také na způsob, jakým proměnná funguje v programu, nejen na oblast, kde existuje. Rozsah není nejpřesnější termín, protože označuje pouze pokrytou oblast, nikoli provedenou akci. Vývojáři a výzkumní pracovníci to akceptují a chápou rozsah tak, že znamenají definici i použití proměnné.
Statický vs. dynamický rozsah
Statický rozsah je v programovacích jazycích běžný; dynamický rozsah, další forma rozsahu, je mnohem méně. Ve statickém oboru, pokud má oblast programu určitý rozsah, proměnná v rámci funkce vrátí svoji přiřazenou hodnotu pro tento obor, kdykoli se funkce spustí. Pokud je například uvedena proměnná x = 5 v dané funkci a následná podmíněná definice pro x, x = 5 všude tam, kde to program definuje jako takový. Toto je standard pro většinu programovacích jazyků.
To se nepodobá dynamickému určování rozsahu, které volá naposledy použitou hodnotu proměnné na základě zásobníku volání programu. Ve výše uvedeném příkladu, pokud x = 5, ale pak x bylo později definováno s hodnotou 10, program s dynamickým rozsahem by zavolal x = 10, pokud byla tato hodnota naposledy použita. Dynamický rozsah je méně logický a strukturovaný než statický rozsah.