Не понимаю где ошибка? 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.

мскисуля2 мскисуля2    3   29.09.2019 22:10    0

Ответы
agisheveevelina agisheveevelina  17.08.2020 01:29

Ошибок несколько:

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.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика