Давайте рассмотрим вложенные конструкции условий — то есть, где одно условие будет находиться в другом.
Давайте рассмотрим пример:
Program IF_ELSE; uses crt; var num1, num2: Integer; begin clrscr; write('Введите два числа через пробел - '); readln(num1, num2); if (num1 = num2) then if (num1 < 10) then writeln('Числа меньше десяти') else writeln('Числа больше десяти') else if (num1 > num2) then writeln('Первое число больше второго') else writeln('Второе число больше первого'); readln; end.
У нас получилась не очень сложная конструкция:
если числа равны то
если первое число меньше десяти
выводим сообщение
иначе
выводим сообщение
иначе
если первое число больше второго то
выводим сообщение
иначе
выводим сообщение
И мы соблюдали все точки с запятой в условиях.
Давайте разберём такой случай — когда есть одно условие, но внутри него много действий, а ведь условие может выполнять внутри себя только одно действие, если конечно же оно не заключено в begin и end;
Давайте рассмотрим на примере:
Program IF_ELSE; uses crt; var num1, num2, res: Integer; begin clrscr; write('Введите два числа через пробел - '); readln(num1, num2); if (num1 = num2) then begin res := num1 + num2; writeln('Сумма двух равных чисел равна - ', res); end else begin res := abs(num1 - num2); writeln('Разность первого числа и второго по модулю - ', res); end; readln; end.