Подготовка к ЕГЭ и олимпиадам по информатике 2020 / Тренировочные варианты ЕГЭ

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

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

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