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


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

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

 

 

БейсикPython

DIM K, S AS INTEGER

S = 0

K = 1

WHILE S < 66

    K = K + 3

    S = S + K

WEND

PRINT K

s = 0

k = 1

while s < 66:

    k += 3

    s += k

print(k)

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

var k, s: integer;

begin

       s:=0;

       k:=1;

      while s < 66 do begin

             k:=k+3;

            s:=s+k;

       end;

      write(k);

end.

алг

нач

    цел k, s

    s := 0

    k := 1

    нц пока s < 66

        k := k + 3

        s := s + k

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 0, k = 1;

    while (s < 66) {

        k = k + 3;

        s = s + k;

    }

    cout << k << endl;

    return 0;

}

 

Решение.

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

 

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

 

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

 

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

 

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

 

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

 

Ответ: 19.

 

Приведём другое решение.

 

Составим таблицу, в которую занесём переменные s и k. Будем заполнять эту таблицу до тех пор пока выполняется условие цикла:

s041121345069
k14710131619

 

Цикл прервётся, когда переменная s станет равна 69. Переменная k при этом будет равна 19.