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




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

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

 

 

БейсикPython

DIM K, S AS INTEGER

S = 0

K = 0

WHILE S < 100

    S = S + K

    K = K + 4

WEND

PRINT K

s = 0

k = 0

while s < 100:

    s += k

    k += 4

print(k)

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

var k, s: integer;

begin

       s:=0;

       k:=0;

      while s < 100 do begin

            s:=s+k;

            k:=k+4;

       end;

      write(k);

end.

алг

нач

    цел k, s

    s := 0

    k := 0

    нц пока s < 100

        s := s + k

        k := k + 4

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 0, k = 0;

    while (s < 100) {

        s = s + k;

        k = k + 4;

    }

    cout << k << endl;

    return 0;

}

 

Решение.

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

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

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

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

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

Учитывая порядок операций в цикле, выясняем, что, до того как прерваться, цикл выполнится еще раз, следовательно, .

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