Re: PASCAL:HELP

From: Ing. Vlastimil Pospíchal (vpospichal@tiscali.cz)
Date: 26. 04. 2002, 22:53 CEST


On Fri, Apr 26, 2002 at 08:47:30PM +0200, bigmartin@centrum.cz wrote:
> dobry den
> potrebuju helfnout s pascalem
> nevim proc mi tenhle programek nejde (runtime error):
> 
> program e;
> type  rec=record
>                cislo:0..200;
>                misto:string;
>              end;
> 
>       matice=array[1..200] of rec;
> 
> var mat:matice;
> 
> procedure vypis({var} m:matice);
> begin
>   writeln('hello');
> end;
> 
> begin
>   vypis(mat);
>   readln;
> end.
> 
> jedna se prave o ten var, pokud je totiz matice pouze vstupni
> pak mi cely program haze error pokud vstupne-vystupni je vse OK
> 
> v tom vsak problem nevidim - nebot pokud matice bude pouze vstupni a
> umazneme z typu rec napr misto, pak cely prog jede bez problemu
> 
> napada me pouze nejake omezeni ze strany pameti, ale jelikoz o tom nevim
> martin sznapka

Viděl bych tady příčinu v tom, že hodnotou lze předávat pouze
jednoduché datové struktury, zatím co složitější se předávají
odkazem. Pokud smázneš místo, stane se z mat vlastně pole,
se kterým si už Pascal poradí správně.

V Pascalu jsem dlouho nedělal, řekl bych, že je to vlastnost
daného kompilátoru. Pokud funguje předávání parametrů odkazem,
použij ho. Není to sice úplně čisté, ale běh se tím i zrychlí.

Bye Kit
-- 
Ing. Vlastimil Pospíchal
http://www.hoteldrnholec.cz



This archive was generated by hypermail 2.1.2 : 27. 04. 2002, 08:27 CEST