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

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

 

 

Бей­сикPython

DIM K, S AS INTEGER

S = 0

K = 0

WHILE S < 80

    S = S + 2*K

    K = K + 4

WEND

PRINT S

s = 0

k = 0

while s < 80:

    s += 2*k

    k += 4

print(s)

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

var k, s: integer;

begin

     s:=0;

     k:=0;

    while s < 80 do begin

        s:=s+2*k;

        k:=k+4;

     end;

    write(s);

end.

алг

нач

    цел k, s

    s := 0

    k := 0

    нц пока s < 80

        s := s + 2*k

        k := k + 4

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 0, k = 0;

    while (s < 80) {

        s = s + 2*k;

        k = k + 4;

    }

    cout << s << endl;

    return 0;

}

Спрятать решение

Ре­ше­ние.

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

 

Ак­ку­рат­но вы­пи­шем все s и k:

 

s 0 0 8 24 48 80

k 0 4 8 12 16 20

 

(Пом­ни­те, что усло­вие s < 80 про­ве­ря­ет­ся толь­ко после k:=k+4, по­это­му дей­ствие s:=s+2*k по­след­ний раз вы­пол­нит­ся для k=16)

 

Сле­до­ва­тель­но ответ 80.

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