Дайте развернутый ответ.

На обработку поступает натуральное число, не превышающее 10 9 . Нужно написать программу, которая выводит на экран сумму цифр числа,
НЕ кратных 3. Если в числе нет цифр, не кратных 3, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

Напоминание: 0 делится на любое натуральное число.

Бейсик

Python

DIM N, DIGIT, SUM AS LONG

INPUT N

SUM = N MOD 10

WHILE N > 0

DIGIT = N MOD 10

IF DIGIT MOD 3 > 0 THEN

SUM = DIGIT

END IF

N = N \ 10

WEND

IF SUM > 0 THEN

PRINT SUM

ELSE

PRINT "NO"

END IF

N = int(input())

sum = N % 10

while N > 0:

digit = N % 10

if digit % 3 > 0:

sum = digit

N = N // 10

if sum > 0:

print(sum)

else:

print("NO")

Алгоритмический язык

Паскаль

алг

нач

цел N, digit, sum

ввод N

sum := mod(N,10)

нц пока N > 0

digit := mod(N,10)

если mod(digit, 3 ) > 0 то

sum := digit

все

N := div ( N ,10)

кц

если sum > 0 то

вывод sum

иначе

вывод " NO "

все

кон

var N, digit, sum: longint;

begin

readln(N);

sum := N mod 10;

while N > 0 do

begin

digit := N mod 10;

if digit mod 3 > 0  then

sum := digit;

N := N div 10;

end;

if sum > 0 then

writeln(sum)

else

writeln('NO')

end.


Си

#include <stdio.h>

int main()

{

int N, digit, sum;

scanf("%d", &N);

sum = N % 10;

while (N > 0)

{

digit = N % 10;

if (digit % 3 > 0)

sum = digit;

N = N / 10;

}

if (sum > 0)

printf("%d",sum);

else

printf("NO");

return 0;

}

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 645.

2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку
и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

Достаточно указать ошибки и способ их исправления для одного языка программирования.

Обратите внимание, что требуется найти ошибки в имеющейся программе,
а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.