|
Требовалось написать программу, которая получает на вход натуральное число
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) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
|