[fpc-pascal] RE: Succ() and Pred() operations

Crause, Christo (JC) christo.crause at sasol.com
Thu Apr 10 10:06:38 CEST 2008


> Message: 9
> Date: Wed, 9 Apr 2008 13:55:40 -0800
> From: Ricardo Vi?gas <rviegas at inbox.com>
> Subject: [fpc-pascal] Succ() and Pred() operations
> 
> Hi there!
> 
> I have installed FPC 2.2.0 [2007/09/09] a few days ago on my 
> WinXP-Pro-SP2, and I'm just taking a Web Tutorial on the language.
> when I come to "User defined variable types", I decided to 
> make the following test:
> 
> Program Test (Output);
> Type Vars = (var0, var1);
> Var x : Vars;
> Begin
>    x := var1;
>    x := Succ (x);
>    Writeln ( Ord(x) );
>    x := var0;
>    x := Pred (x);
>    Writeln ( Ord(x) );  
>    End.
> 
> It compiled and executed without error, and returned 
> following 2 lines:
> 2
> -1
> 
> Is that supposed to be the correct output, or should it have 
> pointed an error during execution?
> The first symbol of the set has value "0", and second one, 
> value "1". To which symbols corresponds the values "2" and "-1"?

You can enable range checking {$R+}, which should then raise an error
if the value goes out of range. Tested with FPC 2.3.1.

Regards,
Christo
----------------------------------------------------------------------------
NOTICE: Please note that this eMail, and the contents thereof, 
is subject to the standard Sasol eMail legal notice which may be found at: 
http://www.sasol.com/legalnotices                                                                                                          

If you cannot access the legal notice through the URL attached and you wish 
to receive a copy thereof please send an eMail to 
legalnotice at sasol.com
----------------------------------------------------------------------------



More information about the fpc-pascal mailing list