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

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

 

 

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

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

Най­дем n: s= левая круг­лая скоб­ка 2s_1 плюс левая круг­лая скоб­ка n минус 1 пра­вая круг­лая скоб­ка d пра­вая круг­лая скоб­ка n мень­ше 200, s_1=0, d=4 (т. к. k:=k+4). Чтобы ре­шить это не­ра­вен­ство, нам не­об­хо­ди­мо ре­шить квад­рат­ное урав­не­ние: n в квад­ра­те минус n минус 50=0. Среди его кор­ней нас ин­те­ре­су­ют толь­ко по­ло­жи­тель­ные, сле­до­ва­тель­но, n \approx 7,5

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

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

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

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