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




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

Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

 

БейсикPython

DIM K, S AS INTEGER

S = 2

K = 2

WHILE S < 50

    S = S + K

    K = K + 2

WEND

PRINT K

s = 2

k = 2

while s < 50:

    s += k

    k += 2

print(k)

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

var k, s: integer;

begin

       s:=2;

       k:=2;

      while s < 50 do begin

            s:=s+k;

            k:=k+2;

       end;

      write(k);

end.

алг

нач

    цел k, s

    s := 2

    k := 2

    нц пока s < 50

        s := s + k

        k := k + 2

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 2, k = 2;

    while (s < 50) {

        s = s + k;

        k = k + 2;

    }

    cout << k << endl;

    return 0;

}

 

Решение.

Цикл while выполняется до тех пор, пока истинно условие s < 50, т. е. переменная s определяет, сколько раз выполнится цикл.

 

Значение s есть сумма первых n членов арифметической прогрессии. , — сумма первых n членов прогрессии, — разность прогрессии, — количество членов.

 

Цикл прервется, когда .

 

Выясним : , , (т. к. k:=k+2). Чтобы решить это неравенство, нам необходимо решить квадратное уравнение: . Среди его корней нас интересуют только положительные, следовательно

 

Воспользовавшись методом интервалов, находим, что первое натуральное n, при котором нарушается условие, есть .

 

Так как операция k:=k+2; идет после s:=s+k; то цикл выполнится еще раз, следовательно, .

 

Подставив известные параметры, получаем, что