Re: PASCAL:HELP

From: Miroslav Tesar (tesar@zoznam.sk)
Date: 26. 04. 2002, 22:33 CEST


Zdravím.

Podíval jsem se na ten tvůj případ. Máš pravdu, pokud je v parametru
předávání dat  VAR, pak je vše v pořádku. Pokud tam není, hlásí to chybu
STACK OVERRFLOW ERROR.

Vysvětlení je jediné - přetečení zásobníku. Pokud při předávání parametru
není VAR, pak si procedúra při jejím zavolání vytváří v operační paměti
kopii proměnné. Máme ji tedy v paměti 2x - originál a kopii. A důsledek je
právě v této hlášce.

Jak z toho ven?

     Já osobně bych vytkl předávání takové sposty dat najednou. Procedúru
bych umístil v cyklu a předával bych jen jednu větu.

Tedy:
FOR I:= Min To Max
   Do Begin
                Vypis (Mat[I]);
                ........
          End;


Ale jako příklad, že se to takto nedá dělat, je to dobré.

Přeji mnoho úspěchů

Ing. Miroslav Tesař
tesar@zoznam.sk



----- Original Message -----
From: <bigmartin@centrum.cz>
To: <servis-internet@nawebu.cz>
Sent: Friday, April 26, 2002 8:47 PM
Subject: PASCAL:HELP


> 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
> tak mi prosim poradte
>
> diky moc
>
> martin sznapka
>
> --------------------
> ZDARMA a RYCHLÉ zasílání SMS z www.posliSMS.cz
>
>
>
>
>
> --
> -- Konference magazinu Internet -------------- servis-internet --
> -- Pravidla: http://pravidla.kab.cz ------ FAQ: http://faq.kab.cz
> -- Archiv a instrukce pro odhlaseni: http://internet.nawebu.cz
>



This archive was generated by hypermail 2.1.2 : 26. 04. 2002, 22:34 CEST