Категория A12 • задача №3
Условие задачи
Дано:
в программе описан одномерный целочисленный массив А с индексами от 0 до 10 и целочисленные переменные k, i. Ниже представлен фрагмент одной и той же программы, записанный на разных языках программирования, в котором значения элементов сначала задаются, а затем меняются:
язык программирования Pascal | язык программирования Basic |
for i := 0 to 10 do | FOR i = 0 to 10 |
A[i] := i; | A(i) = i |
for i := 0 to 9 do | NEXT i |
begin | FOR i = 0 to 9 |
A[i] := A[i + 1]; | A(i) = A(i + 1) |
end; | NEXT i |
Вопрос:
чему будут равны элементы массива?
Варианты ответа:
10 0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10 10
0 0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10 0
Решение
I этап: рассмотрим первый цикл со счетчиком, инициализирующий элементы массива
for i := 0 to 10 do
A[i] := i;
в данном цикле элементу массива с индексом i присваивается аналогичное значение, то есть, в первый элемент массива запишется число равное 1, во второй элемент массива - число равное 2 и так далее.
Следовательно, проинициализированный массив примет вид:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | значение |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | индекс |
II этап: рассмотрим максимально детально заголовок и тело второго цикла
for i := 0 to 9 do
begin
A[i] := A[i + 1];
end;
В данном фрагменте происходит перебор всех элементов исходного массива кроме последнего элемента, причем, значения элементов массива смещаются влево на одну позицию. То есть, значение элемента с индексом один записывается в элемент с индексом ноль, значение элемента с индексом два перезаписывает значение элемента с индексом один и так далее.
III этап: анализ алгоритма из второго цикла
когда i = 0, то происходит присваивание элементу с индексом [0] значения элемента с индексом [0 + 1]=[1]:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ⇒ | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 1, то происходит присваивание элементу с индексом [1] значения элемента с индексом [1 + 1]=[2]:
1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ⇒ | 1 | 2 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 2, то происходит присваивание элементу с индексом [2] значения элемента с индексом [2 + 1]=[3]:
1 | 2 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ⇒ | 1 | 2 | 3 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 3, то происходит присваивание элементу с индексом [3] значения элемента с индексом [3 + 1]=[4]:
1 | 2 | 3 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ⇒ | 1 | 2 | 3 | 4 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 4, то происходит присваивание элементу с индексом [4] значения элемента с индексом [4 + 1]=[5]:
1 | 2 | 3 | 4 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ⇒ | 1 | 2 | 3 | 4 | 5 | 5 | 6 | 7 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 5, то происходит присваивание элементу с индексом [5] значения элемента с индексом [5 + 1]=[6]:
1 | 2 | 3 | 4 | 5 | 5 | 6 | 7 | 8 | 9 | 10 | ⇒ | 1 | 2 | 3 | 4 | 5 | 6 | 6 | 7 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 6, то происходит присваивание элементу с индексом [6] значения элемента с индексом [6 + 1]=[7]:
1 | 2 | 3 | 4 | 5 | 6 | 6 | 7 | 8 | 9 | 10 | ⇒ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 7 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 7, то происходит присваивание элементу с индексом [7] значения элемента с индексом [7 + 1]=[8]:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 7 | 8 | 9 | 10 | ⇒ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 8 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 8, то происходит присваивание элементу с индексом [8] значения элемента с индексом [8 + 1]=[9]:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 8 | 9 | 10 | ⇒ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 9 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
когда i = 9, то происходит присваивание элементу с индексом [9] значения элемента с индексом [9 + 1]=[10]:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 9 | 10 | ⇒ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 10 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
После работы программы массив принял окончательный следующий вид:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 10 | значение |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | индекс |
Среди предложенных вариантов ответа, вариант под номером два имеет абсолютно идентичное значение.
Вывод: |
после выполнения предложенного фрагмента программы элементы массива будут равны: 1 2 3 4 5 6 7 8 9 10 10 |
Ответ: |
2 |
Категория A12 • задача №3
Остальные решения из билета №3 для подготовки к ЕГЭ по информатике 2013
Условие задачи (наведите курсор мыши на ссылку) |
Аудиовизуальное решение |
Мультимедийная видеопрезентация |
Решение в формате слайд-шоу |
Текстовое решение |
---|
Комментарии