Программист писал программу, для определения количества цифр в целом положительном числе, не большем 109. Программист торопился, и допустил ошибку. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N sum = 1 WHILE N > 1 N = N \ 10 sum = sum + 1 WEND PRINT sum END | var N: longint; sum: integer; begin readln(N); sum := 1; while N > 1 do begin N := N div 10; sum := sum + 1; end; writeln(sum); end. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int main() { long int N; int sum; cin >> N; sum = 1; while (N > 1) { N = N / 10; sum = sum + 1; } cout << sum << endl; } | алг нач цел N, sum ввод N sum := 1 нц пока N > 1 N := div(N, 10) sum := sum + 1 КЦ вывод sum КОН
|
| Python | |
n = int(input()) sum = 1 while n > 1: n //= 10 sum += 1 print(sum) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 578.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
3. Укажите одно число для которого эта программа будет работать верно.
PDF-версии: 