next up previous contents
Next: Symbolická jména Up: Datové struktury Previous: Nestandardní.   Obsah

Pole

Ve Fortranu 77 lze deklarovat až sedmirozměrná pole. Indexy implicitně začínají jedničkou, můžeme je však snadno předefinovat:


      REAL NAJEM(12,1977:2001)
Pokud jde o pořadí dimenzí, bude matice

\begin{eqnarray*}
{\tt X(2,3)} = \left[ \begin{array}{ccc}
X_{1,1} & X_{1,2} & X_{1,3} \\ X_{2,1} & X_{2,2} & X_{2,3} \\
\end{array} \right]
\end{eqnarray*}



uložena v paměti jako X(1,1) X(2,1) X(1,2) X(2,2) X(1,3) X(2,3), a proto je vhodné nejrychleji se měnící indexy umisťovat v závorce nejvíce doleva. Většinou se o to však postará sám kompilátor při optimalizaci.

Nevýhodou Fortranu 77 je, že se pole musí mezi procedurami a funkcemi předávat buďto celá (odkazem), nebo po jednotlivých prvcích (hodnotou). Nelze tedy například (narozdíl třeba od Matlabu či Fortranu 90) předat proceduře pouze jeden vektor z vícerozměrné matice.



Pavel Vachal
2001-05-31