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

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 1: Строка 1:
__NOTOC__
=== Неверная расстановка begin end ===
=== Неверная расстановка begin end ===
<source lang="Delphi">var  
<source lang="Delphi">var  

Версия от 23:45, 7 января 2010

Неверная расстановка 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.

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

var x: integer;
begin
  readln(x);
  if x>1 and x<10 then // ошибка: отсутствуют скобки 
    write(x);
end.

Ссылки

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