СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задание 24 № 7425

Программист писал программу, для определения количества цифр в целом положительном числе, не большем 10^9. Программист торопился, и допустил ошибку. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

 

БейсикПаскаль

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. Укажите одно число для которого эта программа будет работать верно.

Решение.

Элементы ответа:

 

1. При вводе числа 578 программа выведет число 4.

2. Ошибки содержатся в двух строках программы:

1) Переменная sum изначально должна быть инициализирована нулём, то есть sum = 0;

2) Условие в цикле должно быть N > 0, а не N > 1.

3. Пример числа, для которого программа даёт верный ответ: 1.

 

----------

Дублирует задание 5372.

Источник: РЕШУ ЕГЭ — Пред­эк­за­ме­на­ци­он­ная ра­бо­та 2014 по информатике.