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



В вашей программе есть несколько синтаксических ошибок и логических ошибок. Давайте их поочередно исправим:
- Переменные
min
,avg
иmax
не объявлены. Вы должны объявить их перед использованием. Добавьте следующую строку перед началомbegin
:
pascalvar min, avg, max: integer;
- В выражении
writeln
у вас отсутствуют знаки плюс для конкатенации строк и пропущена запятая послеavg
. Исправьте его следующим образом:
pascalwriteln('минимальное число= ', min, ' среднее число= ', avg, ' максимальное число= ', max);
- У вас также отсутствует инициализация переменных
a
,b
иc
. Вы должны присвоить им значения перед их использованием. Например:
pascala := 10; b := 5; c := 15;
- Помимо этого, ваша логика сортировки чисел неверна. Чтобы найти минимальное, среднее и максимальное число из
a
,b
иc
, вы можете использовать следующий код:
pascalif 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;
Полный исправленный код может выглядеть следующим образом:
pascalprogram 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.
Этот код найдет минимальное, среднее и максимальное число из трех переменных и выведет их на экран.


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili