Максимум из двух чисел

Рейтинг: 0Ответов: 1Опубликовано: 18.11.2014

Я запутался с Условным оператором If then else, я ввожу

Program help2; 
var a,b,c:LongInt;
begin
    ReadLn(a);
    ReadLn(b);
    a:= ( b < c ); //   и тут я не понял
   If then else

По идее, я ввожу 1 и 2, а мне долно показать 2 наибольшее число!
Я не знаю, как вывести наибольшее число при помощи If then else.

Ответы

▲ 1

(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.