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

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

    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.

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years