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


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

Даны натуральные числа A и B. Требуется найти такое минимально возможное натуральное число K ≥ A, что сумма всех чисел от A до K больше B.

Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.

Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

 

БейсикPython

DIM A,B,S,K AS INTEGER

INPUT A,B

S = 0

K = A

WHILE S < B

    K = K + 1

    S = S + K

WEND

PRINT K

END

a = int(input())

b = int(input())

s = 0

k = a

while s < b:

    k = k + 1

    s = s + k

print(k)

ПаскальАлгоритмический язык

var a, b, s, k: integer;

begin

    read(a,b);

    s := 0;

    k := a;

    while s < b do begin

      k := k+1;

      s := s+k;

    end;

    writeln(k)

end.

алг

нач

    цел a, b, s, k

    ввод a, b

    s := 0

    k := a

    нц пока s < b

      k := k+1

      s := s+k

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int a, b, s, k;

    cin >> a >> b;

    s = 0;

    k = a;

    while (s < b) {

      k = k+1;

      s = s+k;

    }

    cout « k « endl;

    return 0;

}

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе чисел 15 и 26.

2. Приведите пример значений A и B, при вводе которых программа выведет верный ответ. Укажите этот ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько).

Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

Достаточно указать ошибки и способ их исправления для одного языка программирования.

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

Решение.

1. При вводе чисел 15 и 26 программа выведет число 17.

2. Примеры чисел, при вводе которых программа выводит верный ответ: 3 и 8 (ответ 5), 10 и 22 (ответ 12), 4 и 16 (ответ 7).

3. Программа содержит две ошибки:

1) неверная инициализация;

2) неверное условие цикла.

Пример исправления для языка Паскаль:

Первая ошибка: s := 0;

Исправленная строка: s := a;

Возможен и другой вариант исправления, приводящий к верному результату.

Ошибочная строка: k := a;

Исправленная строка: k := a-1;

В данном случае начальные значения переменных s и k не согласованы между собой, исправить можно любое из них.

Вторая ошибка: while s< b do begin

Исправленная строка: while s<= b do begin

В программах на других языках ошибочные строки и их исправления аналогичны.

Незначительной опиской, не влияющей на оценку, следует считать отсутствие знаков и служебных слов после содержательной части исправления.

Источник: Тренировочная работа по ИНФОРМАТИКЕ 11 класс 29 ноября 2016 года Вариант ИН10204