ege-inf.ru / Подготовка к ЕГЭ по информатике 2018

Профильная информатика:
подготовка к ЕГЭ и олимпиадам

Вариант №1802

Добавлен 16 декабря 2017 в 0:45. Изменён 17 июня 2018 в 17:03. Скачать PDF

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Задание

Требовалось написать программу, которая по входному натуральному числу 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) Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: необходимо исправить приведённую программу, а не написать свою. Требуется заменить только ошибочные строки, но нельзя удалять строки или добавлять новые. За исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.