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

В про­грам­ме опи­сан од­но­мер­ный це­ло­чис­лен­ный мас­сив с ин­дек­са­ми от 0 до 9. Ниже пред­став­лен фраг­мент про­грам­мы, об­ра­ба­ты­ва­ю­щей дан­ный мас­сив:

 

Бей­сик Python

c = 0

FOR i = 1 TO 8

    IF A(i)=A(0) THEN

        c = c + 1

        t=A(i+1)

        A(i+1)= A(i)

        A(i)= t

    ENDIF

NEXT i

PRINT c

c = 0

for i in range(1, 9):

    if A[i] == A[0]:

        c += 1

        t=A[i+1]

        A[i+1]= A[i]

        A[i]= t

print(c)

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

c := 0

нц для i от 1 до 8

    если A[i] = A[0] то

        c := c + 1

        t:=A[i+1]

        A[i+1]:= A[i]

        A[i]:= t

    все

кц

вывод c

c := 0;

for i := 1 to 8 do

    if A[i] = A[0] then

    begin

        inc(c);

        t:=A[i+1];

        A[i+1]:= A[i];

        A[i]:= t;

    end;

writeln(c);

Си++

c = 0;

for (i = 1; i <= 8; i++)

    if (A[i] == A[0])

    {

        c++;

        t=A[i+1];

        A[i+1]= A[i];

        A[i]= t;

    }

cout « c « endl;

 

В на­ча­ле вы­пол­не­ния этого фраг­мен­та в мас­си­ве на­хо­ди­лись числа 3, 2, 4, 6, 3, 10, 12, 14, 16, 18 т. е. А[0]=3, А[1]=2 и т. д. Чему будет равно зна­че­ние пе­ре­мен­ной с после вы­пол­не­ния дан­ной про­грам­мы?

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

Ре­ше­ние.

За­ме­тим, что пер­вый раз усло­вие в цикле вы­пол­нит­ся, когда A[i] = A[0]. После этого зна­че­ния A[i] и A[i+1] по­ме­ня­ют­ся ме­ста­ми, по­это­му на всех по­сле­ду­ю­щих шагах усло­вие A[i] = A[0] также будет вы­пол­не­но. Каж­дый раз при вы­пол­не­нии усло­вия A[i] = A[0] пе­ре­мен­ная c уве­ли­чи­ва­ет­ся на еди­ни­цу. Пер­вый раз усло­вие будет вы­пол­не­но при i=4, по­это­му после вы­пол­не­ния фраг­мен­та про­грам­мы c будет равно 5.

 

Ответ: 5.

Источник: ЕГЭ 16.06.2016 по ин­фор­ма­ти­ке. Ос­нов­ная волна.