
Вопрос задан 09.04.2021 в 22:45.
Предмет Информатика.
Спрашивает Самарская Ангелина.
РЕбят,где ошибка Pascal program one; var a,n,sum,b:integer; sred:real; begin readln(n);
writeln('Цифра') while (n<>0) do begin sred:=0; sum:=0; b:=0; if(n mod 8 =0 )and (n=<300) then begin sum:=n+sum; else writeln('NO'); end; readln(n); if b>100 then writeln('NO') end; sred:=sum/b; writeln('Среднее арихметическое равно ',:,'='sred); end.

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

Отвечает Чемшит Алексей.
1. пропала ; после writeln('Цифра')
2. меньше или равно пишется <=, так что условие n=<300 надо переписать n<=300
3. после sum:=n+sum; пропала закрывающая скобка end
4. после else надо бы еще begin
5. предпоследняя строчка тоже мимо.
Вот вся исправленная прога:
program one;
var a,n,sum,b:integer;
sred:real;
begin
readln(n);
writeln('Цифра');
while (n<>0) do
begin
sred:=0;
sum:=0;
b:=0;
if(n mod 8 =0 )and (n<=300) then
begin
sum:=n+sum;
end
else
begin
writeln('NO');
end;
readln(n);
if b>100 then
writeln('NO')
end;
sred:=sum/b;
writeln('Среднее арихметическое равно ',':=',sred);
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
В данном коде программы на Pascal есть несколько ошибок. Вот исправленный вариант:
pascalprogram one; var a, n, sum, b: integer; sred: real; begin readln(n); writeln('Цифра'); sum := 0; b := 0; while (n <> 0) do begin if (n mod 8 = 0) and (n <= 300) then begin sum := n + sum; b := b + 1; end else begin writeln('NO'); end; readln(n); if b > 100 then begin writeln('NO'); end; end; if b <> 0 then begin sred := sum / b; writeln('Среднее арифметическое равно ', sred); end else begin writeln('NO'); end; end.
Внесенные изменения:
- Изменена позиция объявления переменных
sum
иb
, чтобы они были видны внутри циклаwhile
. - Добавлена пропущенная точка с запятой после строки
writeln('Цифра')
. - Изменено место инициализации переменных
sum
иb
перед входом в циклwhile
, чтобы их значения сбрасывались для каждого нового ввода числаn
. - Добавлено увеличение значения переменной
b
при нахождении числа, удовлетворяющего условию внутри циклаwhile
. - Исправлено неправильное использование двоеточия в строке
writeln('Среднее арихметическое равно ',:,'='sred);
. - Добавлено условие для проверки значения
b
, чтобы избежать деления на ноль и выводить 'NO', еслиb
равно нулю.


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

Информатика 2132

Информатика 63

Информатика 14

Информатика 32

Информатика 19

Информатика 15

Информатика 175

Информатика 31

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