Условный оператор и оператор выбора. Возможные ошибки

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску

Неверная расстановка begin end

var 
  x,y: integer;
  v: integer;
begin
  write('Введите x,y: ');
  readln(x,y);
  begin // ошибка: операторные скобки должны использоваться по ветке then оператора if
    if x>y then
      v := x;
      x := y;
      y := v
  end;
  writeln('Результат упорядочения по возрастанию: ',x,' ',y);
end.

Отсутствие begin end

var 
  x,y: integer;
  v: integer;
begin
  write('Введите x,y: ');
  readln(x,y);
  if x>y then
    v := x; // ошибка: операторные скобки отсутствуют, поэтому по ветке then выполняется только этот оператор
    x := y; // эти операторы выполняются ПОСЛЕ оператора if в любом случае
    y := v  //
  writeln('Результат упорядочения по возрастанию: ',x,' ',y);
end.

Неверная расстановка скобок в сложном логическом выражении

Ссылки

Алгоритмы для начинающих