Вариант № EGE_INF_1802
Добавлен 16 декабря 2017 г. в 0:45. Изменён 17 июня 2018 г. в 17:03.
Задание
Требовалось написать программу, которая по входному натуральному числу n
, не превосходящему 109, определяла и печатала номер позиции первой входящей в него цифры 4, считая слева направо.
Если цифры 4 в числе n
нет, необходимо вывести 0.
Приведённая ниже программа содержит ошибки.
-
Копировать
var j, k, n : longint; begin read(n); k := 0; j := 0; while n > 0 do begin if n mod 10 = 4 then j := k; k := k + 1; n := n div 10 end; if j > 0 then write(k - 1) else write(j) end.
-
Копировать
#include <iostream> void main() { int n, j, k; std::cin >> n; k = 0; j = 0; while (n > 0) { if (n % 10 == 4) j = k; k++; n /= 10; } if (j > 0) std::cout << k - 1; else std::cout << j; }
-
Копировать
Dim n, j, k As Long Input n k = 0 j = 0 While n > 0 If n Mod 10 = 4 Then j = k End If k = k + 1 n = n \ 10 Wend If j > 0 Then Print k - 1 Else Print j End If
-
Копировать
n = int(input()) k = 0 j = 0 while n > 0 : if n % 10 == 4 : j = k k += 1 n //= 10 if j > 0 : print(k - 1) else : print(j)
Последовательно выполните следующее.
1) Напишите, что выведет эта программа при вводе числa 1474.
2) Укажите наибольшее трёхзначное значение входной переменной n
, при котором, не смотря на ошибки, программа выведет верный ответ, не равный нулю.
3) Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: необходимо исправить приведённую программу, а не написать свою. Требуется заменить только ошибочные строки, но нельзя удалять строки или добавлять новые. За исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.