Neloka variablo

En programlingvoj, neloka variablo (rilate al iu regiono R) estas variablo deklarita ekster la koncerna regiono (R), en iu pli vasta regiono (entenanta la regionon R).

En multaj programlingvoj, kiaj C, neloka variablo povas esti nur malloka variablo; en aliaj lingvoj, ekz‑e la Algoloj, PL/I, Paskalo, Ĝavaskripto, Pitono, eblas pli profunda ingado de regionoj (interalie, ingitaj subprogramoj), kaj sekve interaj variabloj nelokaj, kies regiono estas malpli granda ol la malloka.

Realan ekzemplon pri mallokaj variabloj donas la Reviziita Raporto pri Algolo 60«Reviziita Raporto pri la algoritma lingvo Algolo 60»., kie la proceduro RK (kiu integralas sistemon da diferencialaj ekvacioj per la metodo de Runge—Kutta) entenas lokan proceduron RK1P realigantan unuopan paŝon de integralado; tiu RK1P uzas ankaŭ la variablojn de la ĝin entenanta RK estkiel nelokajn variablojnLa ŝlosilvortoj Algolaj estas esperantigitaj kiel priskribite en la artikolo pri Algolo 60.:

 proceduro RK(x, y, n, fkt, eps, eta, xE, yE, Unue);
    valore x, y; entjera n; bulea Unue;
    reelaj x, eps, eta, xE; tabeloj y, yE; proceduro fkt;
    starto
     tabelo z, y1, y2, y3[1:n]; reelaj x1, x2, x3, H;
     bulea eksteren; entjeraj k, j;
     persistaj reelaj s, Hs;
     proceduro RK1P(x, y, h, xe, ye); reelaj x, h, xe; tabelo y, ye;
       komento :
         RK1P integralas unuopan paŝon de Runge-Kutta kun komencaj valoroj
         x, y[k]. Tio donas elirajn parametrojn xe=x+h kaj ye[k],
         kie la lasta estas la solvo je xe.
         G r a v a : La parametroj n, fkt, z aperas en RK1P kiel objektoj nelokaj;
       starto tabelo w[1:n], a[1:5]; entjeraj k,j;
       .........
         por k := 1 paŝo 1 ĝis n faru ye[k] := w[k] := y[k];
         por j := 1 paŝo 1 ĝis 4 faru
             starto fkt (xe,v,n,z); xe := x + a[j];
               ......
             fino;
         .........
       fino RK1P;
     ........
 fino RK

 Vidu ankaŭ 
 Loka variablo
 Malloka variablo

 Piednotoj 

Kategorio:Programadaj konstruoj
Kategorio:Programlingvaj konceptoj
Kategorio:Variablo (programlingva)