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

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

 

Бей­сикПас­каль

s = 0

n = 12

FOR i = 0 TO n

    IF A(n–i) – A(i) = A(i) THEN

        s = s+3*A(i)

    END IF

NEXT i

s := 0;

n := 12;

for i:=0 to n do begin

    if A[n–i] – A[i] = A[i] then

        s:=s+3*A[i];

end;

Си++Ал­го­рит­ми­че­ский язык

s = 0;

n = 12;

for (i = 0; i <= n; i++) {

    if (A[n–i] – A[i] == A[i])

        s = s+3*A[i];

}

s := 0

n := 12

нц для i от 0 до n

    если A[n–i] – A[i] = A[i]

        то s := s+3*A[i]

    все

кц

Python

s = 0

n = 12

for i in range(0, n+1):

    if A[n–i] – A[i] == A[i]:

        s = s+3*A[i]

 

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

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

Ре­ше­ние.

Дей­ствие «s:=s+3*A[i];» вы­пол­ня­ет­ся, если ис­тин­но усло­вие «if A[n–i] – A[i] = A[i]». Дан­ное усло­вие вы­пол­не­но толь­ко для i = 4, в этом слу­чае A[8] − A[4]  =  16 − 8  =  8  =  A[4]. Пе­ре­мен­ная s при­мет зна­че­ние s  =  0 + 3 · 8  =  24.


Аналоги к заданию № 6182: 6227 Все