Вопрос задан 08.10.2023 в 09:57. Предмет Информатика. Спрашивает Шевчук Александра.

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сопов Родион.

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

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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В вашей программе есть несколько синтаксических ошибок и логических ошибок. Давайте их поочередно исправим:

  1. Переменные min, avg и max не объявлены. Вы должны объявить их перед использованием. Добавьте следующую строку перед началом begin:
pascal
var min, avg, max: integer;
  1. В выражении writeln у вас отсутствуют знаки плюс для конкатенации строк и пропущена запятая после avg. Исправьте его следующим образом:
pascal
writeln('минимальное число= ', min, ' среднее число= ', avg, ' максимальное число= ', max);
  1. У вас также отсутствует инициализация переменных a, b и c. Вы должны присвоить им значения перед их использованием. Например:
pascal
a := 10; b := 5; c := 15;
  1. Помимо этого, ваша логика сортировки чисел неверна. Чтобы найти минимальное, среднее и максимальное число из a, b и c, вы можете использовать следующий код:
pascal
if a < b then begin min := a; max := b; end else begin min := b; max := a; end; if c < min then min := c else if c > max then max := c; avg := a + b + c - min - max;

Полный исправленный код может выглядеть следующим образом:

pascal
program a3; var a, b, c, min, avg, max: integer; begin // Присвоение значений переменным a, b и c a := 10; b := 5; c := 15; // Нахождение минимального, среднего и максимального чисел if a < b then begin min := a; max := b; end else begin min := b; max := a; end; if c < min then min := c else if c > max then max := c; avg := a + b + c - min - max; // Вывод результатов writeln('минимальное число= ', min, ' среднее число= ', avg, ' максимальное число= ', max); end.

Этот код найдет минимальное, среднее и максимальное число из трех переменных и выведет их на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос