BBB » 04 дек 2007, 10:40
Булевский тип в Паскале - это что-то вроде перечислимого типа (а, можкт, и без "вроде"... этот нюанс теории плохо помню):
type Boolean = (FALSE, TRUE);
Таким образом, FALSE меньше, чем TRUE.
Pred (TRUE) равно FALSE.
А (как верно замечено, Ord - порядковый номер) Ord (FALSE) равно 0 (нулю).
Таким образиом, вычисляя:
(False<True)and(Ord(Pred(True)))=0
получим:
(False<True)and(Ord(Pred(True)))=0 =>
(True) and (Ord(False))=0 =>
(True) and (0)=0 =>
(True) and True =>
True
Булевский тип в Паскале - это что-то вроде перечислимого типа (а, можкт, и без "вроде"... этот нюанс теории плохо помню):
type Boolean = (FALSE, TRUE);
Таким образом, FALSE меньше, чем TRUE.
Pred (TRUE) равно FALSE.
А (как верно замечено, Ord - порядковый номер) Ord (FALSE) равно 0 (нулю).
Таким образиом, вычисляя:
(False<True)and(Ord(Pred(True)))=0
получим:
(False<True)and(Ord(Pred(True)))=0 [b]=> [/b]
(True) and (Ord(False))=0 [b]=> [/b]
(True) and (0)=0 [b]=> [/b]
(True) and True [b]=> [/b]
True