В программе описан одномерный целочисленный массив. for i:=0 to 10 do A[i]:= i + 1; ...

0 голосов
38 просмотров

В программе описан одномерный целочисленный массив.
for i:=0 to 10 do
A[i]:= i + 1;
for i:=10downto 0 do
A[i]:= A[10-i]
Чему будут равны элементы этого массива?
только подробно


Информатика (48 баллов) | 38 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
Делаем программу с трассировкой и все хорошо видно.

var A:array[0..10] of integer;
var i:integer;

begin
  Writeln('Первый цикл');
  for i:=0 to 10 do begin
    A[i]:= i + 1;
    Writeln('i=',i,', a[',i,']=',a[i])
    end;
  Write('Массив: '); a.Println;
  Writeln('Второй цикл');
  for i:=0 to 10 do begin
    A[i]:= A[10-i];
    Writeln('i=',i,', a[',i,']=',a[i])
    end; 
  Write('Массив: '); a.Println
end.

Результат
Первый цикл
i=0, a[0]=1
i=1, a[1]=2
i=2, a[2]=3
i=3, a[3]=4
i=4, a[4]=5
i=5, a[5]=6
i=6, a[6]=7
i=7, a[7]=8
i=8, a[8]=9
i=9, a[9]=10
i=10, a[10]=11
Массив: 1 2 3 4 5 6 7 8 9 10 11
Второй цикл
i=0, a[0]=11
i=1, a[1]=10
i=2, a[2]=9
i=3, a[3]=8
i=4, a[4]=7
i=5, a[5]=6
i=6, a[6]=7
i=7, a[7]=8
i=8, a[8]=9
i=9, a[9]=10
i=10, a[10]=11
Массив: 11 10 9 8 7 6 7 8 9 10 11
(142k баллов)
0

Да, версия PascalABC.NET 3.1

0

я не понимаю почему i=6, a[6]=7, a6= a(10-6)=a4=5?

0

Потому что A[i]:= A[10-i]; подставляем i=6 и получаем A[6]:=A[4], а значение A[4] см. выше, оно равно 7

0

Обычная алгебра