Ответим сначала на первый вопрос, заданный на этом шаге. Раз у условного оператора отсутствует конструкция Else, то в случае ложного значения проверяемого условия компьютер просто перейдет к выполнению следующей команды. Таким образом, будет выполнен оператор, идущей после этой конструкции.

    Теперь перейдем к ответу на поставленный вопрос. Если введенные числа будут равны, то проверяемое условие x>y будет ложным, а, следовательно, будет осуществлен переход к конструкции Else, после которой идет вывод значения переменной y. Таким образом, в случае равенства значений переменных x и y на экран будет выведено значение переменной y!

    Как изменить программу, чтобы она выводила сообщение: Числа равны? Нужно после конструкции Else поместить еще одно условие, которое будет определять: равны или нет введенные числа.

Program Primer;
Var
   x,y:Integer;
Begin
   WriteLn('Введите два числа: ');
   {Вводим два целых числа}
   ReadLn(x,y);
   {Если (If) x больше y, то (Then) выводим x}
   If x>y Then WriteLn('Наибольшее из чисел: ',x)
   {Иначе (Else) проверяем на равенство числа x и y}
   Else 
     {Если (If) x равно y, то (Then) выводим сообщение "числа равны"}
     If x=y Then WriteLn('Введенные числа равны')
     Else {Сюда компьютер попадет, когда x будет меньше y}
       WriteLn('Наибольшее из чисел: ',y);
End.
Текст этой программы можно взять здесь.

    Протестируем приведенную программу.
    1. Пусть x=5, y=3. Первое проверяемое условие: x>y. При заданных значениях переменных x и y оно является истинным. Раз оно истинно, то будет выполнен оператор WriteLn('Наибольшее из чисел: ',x), который выведет на экран сообщение:

Наибольшее из чисел: 5

    Все, что расположено после первого служебного слова Else (а это еще один условный оператор), будет пропущено. Поэтому компьютер перейдет на End и завершит выполнение программы.

    2. Пусть x=5, y=5. Первое проверяемое условие: x>y. При заданных значениях переменных x и y оно является ложным. Раз оно ложно, то оператор WriteLn('Наибольшее из чисел: ',x) выполнен не будет, и компьютер перейдет на ветвь Else, где расположена вторая условная конструкция. Следующим проверяемым условием будет x=y. При заданных значениях переменных x и y оно является истинным. Раз оно истинно, то будет выполнен оператор WriteLn('Введенные числа равны'), который выведет на экран сообщение:

Введенные числа равны

    После этого компьютер пропустит вторую конструкцию Else, перейдет на End и завершит выполнение программы.

    3. Пусть x=3, y=5. Первое проверяемое условие: x>y. При заданных значениях переменных x и y оно является ложным. Раз оно ложно, то оператор WriteLn('Наибольшее из чисел: ',x) выполнен не будет, и компьютер перейдет на ветвь Else, где расположен вторая условная конструкция. Следующим проверяемым условием будет x=y. При заданных значениях переменных x и y оно также является ложным. Раз оно ложно, то оператор WriteLn('Введенные числа равны') выполнен не будет, и компьютер перейдет на вторую ветвь Else. Здесь уже не требуется проверок условий, так как мы точно знаем, что сюда компьютер попадет только в том случае, когда x<y (остальные случаи мы проверили раньше). Таким образом, требуется только выполнить оператор WriteLn('Наибольшее из чисел: ',y), который выведет на экран сообщение:

Наибольшее из чисел: 5