Pascal - Логические операции

Ответить
Impulsive
Сообщения: 42
Зарегистрирован: 19 окт 2007, 19:53

Pascal - Логические операции

Сообщение Impulsive » 03 дек 2007, 20:09

Помогите решить:
Вырожение
(False<True)and(Ord(Pred(True))=0)
Не пойму что такое Ord? Pred?
Знаю что Ord - поряд.номер
Pred - пред. значение. А смысл в чем? :( :confused:

BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

Re: Pascal - Логические операции

Сообщение 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

Impulsive
Сообщения: 42
Зарегистрирован: 19 окт 2007, 19:53

Re: Pascal - Логические операции

Сообщение Impulsive » 04 дек 2007, 14:41

Короче сеня был утром зачет - СДАЛ

код:
program bul3;

var
y:boolean;
begin

writeln('gaHHoe BbIpa}|{eHue (false<true) and (ord(pred(true))=0)');
y:=(false<true) and (ord(pred(true))=0);
writeln('umeeT 3Ha4eHue ',y);

readln;
end.


ВВВ - Спасиб тебе за то что не оставил мою прозьбу! Большое тебе уважение и респект!

Ответить