(b < c) - это логическое выражение, у которого результат может быть либо true, либо false.
Вы же логическое выражение пытаетесь присвоить переменной целочисленного типа, что ведет к ошибке уровня компиляции - является абсурдным, одному типу данных вы пытаетесь присвоить выражение другого типа данных.
Конструкция if then else выглядит следующим образом:
if <услове> then
<оператор/выражение, которые будут выполняться, если условие - истинно>
else
<оператор/выражение, которые будут выполняться, если условие - ложно>
Т.е. сначала проверяется условие, если оно истинно (результат проверки = true), то выполняется оператор (блок операторов), следуемый за then, иначе (если условие ложно), то выполняется оператор (блок операторов), следуемый за else.
Например:
if (4 > 3) then
writeln('4 > 3')
else
writeln('Не может быть такого, чтобы 3 было больше 4.');
Проверяется условие (оно может быть необязательно простым). В примере это 4 > 3, т.к. 4 больше 3, то результат проверки условия будет true, поэтому выполнится writeln('4 > 3') и на экран будет выведено: 4 > 3.