Не понимаю где ошибка? program a3; var a, b, c, p: integer; begin if a> b then if b> c then min: = c; avg: = b; max: = a; else min : = b; avg : = c; max : = a else begin if a> c then min : = c; avg : = a; max : = b else min : = a; avg : = c; max : = b; end else if b> c then min : = b; avg : = a; max : = c; //else //p: =a, b, c writeln ('минимальное число= ',min, среднее число= ', avg 'максимальное число= ', max) end.
Ошибок несколько:
1. Нету ввода a,b,c (команда read)
2. В каждом if после then ты делаешь три присваивания, их надо обернуть в begin - end
3. Не понятна логика if-then-else. Например, после if b>c then у тебя два else. Используй отступы, чтоб было нагляднее, например:
if b>c then
begin
min:= c;
avg:= b;
max:= a;
end
else
begin
min := b;
avg := c;
max := a
end
Ещё, чтобы сделать все эти проверки нагляднее, можешь попробовать использовать такую конструкцию:
if (a>b) and (b>c) then
begin
min:= c;
avg:= b;
max:= a;
end
Тогда тебе не будут нужны else и ты в них не запутаешься.
4. Переменные min, avg, max должны быть описаны в секции var
5. В строке writeln ('минимальное число= ',min, среднее число= ', avg 'максимальное число= ', max) пропущена кавычка перед словом "среднее" и запятая после "avg"
6. Нужна точка с запятой в конце строки writeln
У меня на Паскаль АВС работает:
program a3;
var
a, b, c, min, avg, max: integer;
begin
write('a = '); readln(a);
write('b = '); readln(b);
write('c = '); readln(c);
if (a>b) and (b>c) then begin min:=c; avg:=b; max:=a; end;
if (a>c) and (c>b) then begin min:=b; avg:=c; max:=a; end;
if (b>a) and (a>c) then begin min:=c; avg:=a; max:=b; end;
if (b>c) and (c>a) then begin min:=a; avg:=c; max:=b; end;
if (c>a) and (a>b) then begin min:=b; avg:=a; max:=c; end;
if (c>b) and (b>a) then begin min:=a; avg:=b; max:=c; end;
writeln ('минимальное число= ',min, ' среднее число= ', avg, ' максимальное число= ', max);
end.