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

Средний уровеньЗадание

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

Похожие задания