 
Вопрос задан 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. 0
        0
         0
        0
    Ответы на вопрос
 
        Отвечает Чемшит Алексей.
                
    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.
 0
                    0
                     0
                    0
                 
            Отвечает нейросеть 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равно нулю.
 0
                    0
                     0
                    0
                Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
	- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			