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