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

Требовалось написать программу, которая получает на вход натуральное число N , не превосходящее 10 9 , и выводит число, равное количеству цифр 4 в десятичной записи числа N . Программист написал программу неправильно. Ниже написанная им программа для Вашего удобства приведена на пяти языках программирования.

Бейсик

Python

DIM N AS LONG

DIM R, d AS INTEGER

INPUT N

R = 0

WHILE N > 0

d = N MOD 10

IF d <> 4 THEN

R = R + d

END IF

N = N \ 10

WEND

PRINT R

END

N = int(input())

R = 0

while N > 0:

d = N % 10

if d != 4:

R = R + d

N = N // 10

print(R)

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

Паскаль

алг

нач

цел N, R, d

ввод N

R := 0

нц пока N > 0

d := mod(N, 10)

если d <> 4 то

R := R + d

все

N := div(N, 10)

кц

вывод R

кон

var N: longint;

R, d: integer;

begin

readln(N);

R := 0;

while N > 0 do begin

d := N mod 10;

if d <> 4 then

R := R + d;

N := N div 10;

end;

writeln(R);

end.

С++

#include <iostream>

using namespace std;

int main()

{

long int N;

int R, d;

cin >> N;

R = 0;

while (N > 0) {

d = N % 10;

if (d != 4 ) {

R = R + d;

}

N = N / 10;

}

cout << R << endl;

return 0;

}

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

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

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

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

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

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

Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно.

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

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