Информатика (Вариант 9)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Вопрос 24

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

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

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

БейсикPython
DIM A,B,S,K AS INTEGER
 INPUT A,B
 S = 1
 K = A
 WHILE S <= B
    K = K + 1
     S = S + K
 WEND
 PRINT K
 END

a = int(input())

b = int(input())

s = 1

k = a

while s <= b:

     k = k + 1

     s = s + k

print(k)

 

 

ПаскальАлгоритмический язык
var a, b, s, k: integer;
begin
     read(a,b);
     s := 1;
     k := a;
     while s <= b do begin
        k := k+1;
         s := s+k;
     end;
     writeln(k)
end.
алг
нач
     цел a, b, s, k
     ввод a, b
     s := 1
     k := a
     нц пока s <= b
         k := k+1
         s := s+k
     кц
     вывод k
кон
Си++
#include <iostream>
using namespacestd;
 
int main(){
     int a, b, s, k;
     scanf("%d %d", &a, &b);
     s = 1;
     k = a;
     while (s <= b) {
         k = k+1;
         s = s+k;
     }
     printf("%d", k);
     return 0;
}

 

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

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

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

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

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

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

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