Условный оператор и оператор выбора. Возможные ошибки: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) |
Mikst (обсуждение | вклад) |
||
Строка 17: | Строка 17: | ||
=== Отсутствие begin end === | === Отсутствие begin end === | ||
<source lang="Delphi">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.</source> | |||
=== Неверная расстановка скобок в сложном логическом выражении === | === Неверная расстановка скобок в сложном логическом выражении === | ||
== Ссылки == | == Ссылки == | ||
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]] | [[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]] |
Версия от 00:25, 19 ноября 2009
Неверная расстановка 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.