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

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

 

 

Бей­сик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 чле­нов ариф­ме­ти­че­ской про­грес­сии. b= дробь: чис­ли­тель: 2a_1 плюс левая круг­лая скоб­ка n минус 1 пра­вая круг­лая скоб­ка d, зна­ме­на­тель: 2 конец дроби n, b  — сумма пер­вых n чле­нов про­грес­сии, d  — раз­ность про­грес­сии, n  — ко­ли­че­ство чле­нов.

 

Цикл пре­рвет­ся, когда s= дробь: чис­ли­тель: 2a_1 плюс левая круг­лая скоб­ка n минус 1 пра­вая круг­лая скоб­ка d, зна­ме­на­тель: 2 конец дроби n боль­ше или равно 66.

 

Най­дем n: s= левая круг­лая скоб­ка 2a_1 плюс левая круг­лая скоб­ка n минус 1 пра­вая круг­лая скоб­ка d пра­вая круг­лая скоб­ка n боль­ше или равно 132, a_1=4, d=3 (так как k:=k плюс 3). Чтобы ре­шить это не­ра­вен­ство, нам не­об­хо­ди­мо ре­шить квад­рат­ное урав­не­ние 3n в квад­ра­те плюс 5n минус 132=0, среди его кор­ней нас ин­те­ре­су­ют толь­ко по­ло­жи­тель­ные, сле­до­ва­тель­но, n=5,8

 

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

 

Под­ста­вив из­вест­ные па­ра­мет­ры в k_n=k_1 плюс левая круг­лая скоб­ка n минус 1 пра­вая круг­лая скоб­ка d по­лу­ча­ем, что k_6=19.

 

Ответ: 19.

 

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

 

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

s041121345069
k14710131619

 

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

Раздел кодификатора ФИПИ: 1.7.2 Ос­нов­ные кон­струк­ции языка про­грам­ми­ро­ва­ния. Си­сте­ма про­грам­ми­ро­ва­ния