Где ошибка? Я уже все перепробовала program fvtdu;
var sov, ned, izb, J, I, S, N:integer;
begin
writeln('Введите N');
readln(N);
sov:=0;
ned:=0;
izb:=0;
for I to 2 do n
S:=0
for J to 1 do (I/2)
begin
if mod(I/J)=0
then S:=S+1
else if S=i
then sov:=sov+1
else if S<I
then ned:=ned+1
else izb:=izb+1;
end;
writeln(sov, ' ', ned, ' ', izb);
end.

29 Ноя 2022 в 19:40
114 +1
1
Ответы
1

Ошибка в данном коде заключается в следующем:

В строке "for I to 2 do n" не указан оператор "do" после инструкции "for", правильно будет записать "for I:=1 to 2 do begin".В строке "for J to 1 do (I/2)" также не указан оператор "do" после инструкции "for", должно быть "for J:=1 to 1 do begin".Оператор mod(I/J) нужно записать как I mod J, чтобы выполнить операцию остатка от деления.Операторы if вложены некорректно, следует использовать операторы "if...then...else..." таким образом, чтобы они не пересекались.Следует исправить строку "writeln(sov, ' ', ned, ' ', izb);" для корректного вывода результатов.

Откорректированный код:

program fvtdu;
var
sov, ned, izb, J, I, S, N: integer;
begin
writeln('Введите N');
readln(N);
sov := 0;
ned := 0;
izb := 0;
for I := 1 to 2 do
begin
S := 0;
for J := 1 to 1 do
begin
if I mod J = 0 then
S := S + 1
else if S = I then
sov := sov + 1
else if S < I then
ned := ned + 1
else
izb := izb + 1;
end;
end;
writeln(sov, ' ', ned, ' ', izb);
end.
16 Апр 2024 в 17:04
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир