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

За­пи­ши­те число, ко­то­рое будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­щей про­грам­мы.

 

Бей­сикPython

DIM S, N AS INTEGER

S = 900

N = 30

WHILE S > 2*N

    S = S – 30

    N = N + 20

WEND

PRINT S

s = 900

n = 30

while s > 2*n:

    s = s – 30

    n = n + 20

print(s)

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

var s, n: integer;

begin

    s := 900;

    n := 30;

    while s > 2*n do

    begin

        s := s – 30;

        n := n + 20

    end;

    writeln(s)

end.

алг

нач

    цел n, s

    s := 900

    n := 30

    нц пока s > 2*n

        s := s – 30

        n := n + 20

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main()

{ int s = 900, n = 30;

    while (s > 2*n) { s = s – 30; n = n + 20; }

    cout << s << endl;

    return 0;

}

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

Ре­ше­ние.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие s > 2*n, т. е. пе­ре­мен­ные s и n опре­де­ля­ют, сколь­ко раз вы­пол­нит­ся цикл.

За­ме­тим, что каж­дую ите­ра­цию раз­ни­ца между s и 2*n умень­ша­ет­ся на 70. Зна­чит, всего будет 12 ите­ра­ций.

Найдём, что по­лу­чит­ся на 12-ой ите­ра­ции: 900 − 30 * 12 = 540.

 

Ответ: 540.

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