На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран количество цифр этого числа, кратных 5. Если в числе нет цифр, кратных 5, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
Напоминание: 0 делится на любое натуральное число.
| Бейсик | Python |
|---|---|
DIM N, DIGIT, COUNT AS LONG INPUT N COUNT = 1 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 5 = 0 THEN COUNT = COUNT + DIGIT END IF N = N \ 10 WEND IF COUNT = 0 THEN PRINT "NO" ELSE PRINT COUNT END IF | N = int(input()) count = 1 while N > 0: digit = N % 10 if digit % 5 == 0: count = count + digit N = N // 10 if count == 0: print("NO") else: print(count)
|
| Паскаль | Алгоритмический язык |
var N, digit, count: longint; begin readln(N); count := 1; while N > 0 do begin digit := N mod 10; if digit mod 5 = 0 then count := count + digit; N := N div 10; end; if count = 0 then writeln('NO') else writeln(count) end.
| алг нач цел N, digit, count ввод N count := 1 нц пока N > 0 digit := mod(N,10) если mod(digit,5) = 0 то count := count + digit все N := div(N,10) кц если count = 0 то вывод "NO" иначе вывод count все кон
|
| Си++ | |
#include <iostream> using namespace std; int main() { int N, digit, count; cin >> N; count = 1; while (N > 0) { digit = N % 10; if (digit % 5 == 0) count = count + digit; N = N / 10; } if (count == 0) cout << "NO"; else cout << count << endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 164.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку
и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание, что требуется найти ошибки в имеющейся программе,
а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
PDF-версии: 