Анализ фрагментов программ. Обработка двумерных массивов
Двумерный массив А размером N*M можно изобразить в виде таблицы, состоящей из N строк и M столбцов. Обращение к каждому элементу в массиве осуществляется указанием имени массива (в нашем случае - А) и двух чисел - номера строки и номера столбца, на пересечении которых он находится. Эти числа называются индексами элемента в массиве, записываются через запятую в круглых (для языка Бейсик) или в квадратных (для языков Паскаль и алгоритмического) скобках.
Задание 6. (Задание А10 демоверсии 2004 г.)
Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы:
Бейсик
| Паскаль
| Алгоритмический
| FOR n=1 TO 5
FOR k=1 TO 5
B(n,k)=n+k
NEXT k
Next n
| For n:=1 To 5 Do
For k:=1 To 5 Do
B[n,k]:=n+k;
| н.ц.для n от 1 до 5
н.ц.для k от 1 до 5
B[n,k]:=n+k
к.ц.
к.ц.
| Чему будет равно значение B(2,4)?
1) 9;
2) 8;
3) 7;
4) 6.
Решение.
1-й способ. Для выполнения поставленного задания можно заполнить таблицу в соответствии с представленной программой:
Элемент В(2,4) находится на пересечении 2-й строки и 4-го столбца, его значение равно 6, что соответствует варианту ответа №4.
Заметим, что этот способ решения является нерациональным, т.к. требовалось найти значение лишь одного элемента, не зависящее от значений других элементов. Поэтому для данного задания лучше применить другой способ решения.
2-й способ. Из текста программы следует, что значение каждого элемента равно сумме его индексов, поэтому В(2,4)=2+4=6.
Ответ: 4.
Задание 7.
Все элементы двумерного массива А размером 4*4 элемента первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы (ниже приводится одна и та же программа, записанная на разных языках программирования):
Бейсик
| Паскаль
| Алгоритмический
| FOR n=1 TO 4
FOR k=n TO 4
A(n,k)=1
NEXT k
Next n
| For n:=1 To 4 Do
For k:=n To 4 Do
A[n,k]:= 1;
| н.ц.для n от 1 до 4
н.ц.для k от n до 4
A[n,k]:=1
к.ц.
к.ц.
| Сколько элементов массива в итоге будут равны 1?
Решение.
Для выполнения задания составим таблицу:
n
| k
| Значения A[n,k]=1
|
| 1,2,3,4
| A[1,1]
A[1,2]
A[1,3]
A[1,4]
|
| 2,3,4
| A[2,2]
A[2,3]
A[2,4]
|
| 3,4
| A[3,3]
A[3,4]
|
| 4,4
| A[4,4]
| Из таблицы видно, что количество элементов, равных 1 в массиве А равно 4+3+2+1=10.
Ответ: 10.
Задание 8. (Задание А8 демоверсии 2006 г.)
Все элементы двумерного массива А размером 10*10 элементов первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы (ниже приводится одна и та же программа, записанная на разных языках программирования):
Бейсик
| Паскаль
| Алгоритмический
| FOR n=1 TO 4
FOR k=n TO 4
A(n,k)=A(n,k)+1
A(k,n)=A(k,n)+1
NEXT k
Next n
| For n:=1 To 4 Do
For k:=n To 4 Do
Begin
A[n,k]:=A[n,k]+1;
A[k,n]:=A[k,n]+1;
End;
| н.ц.для n от 1 до 4
н.ц.для k от n до 4
A[n,k]:=A[n,k]+1
A[k,n]:=A[k,n]+1
к.ц.
к.ц.
| Сколько элементов массива в итоге будут равны 1?
1) 0;
2) 16;
3) 12;
4) 4.
Решение.
Для выполнения поставленного задания заполним таблицу:
n
| k
| Вычисление A[n,k]
| Значение A[n,k]
|
|
| A[1,1]= A[1,1]+1=0+1=1
A[1,1]= A[1,1]+1=1+1=2
| A[1,1]=2
|
|
| A[1,2]= A[1,2]+1=0+1=1
A[2,1]= A[2,1]+1=0+1=1
| A[1,2]=1
A[2,1]=1
|
|
| A[1,3]= A[1,3]+1=0+1=1
A[3,1]= A[3,1]+1=0+1=1
| A[1,3]=1
A[3,1]=1
|
|
| A[1,4]= A[1,4]+1=0+1=1
A[4,1]= A[4,1]+1=0+1=1
| A[1,4]=1
A[4,1]=1
|
|
| A[2,2]= A[2,2]+1=0+1=1
A[2,2]= A[2,2]+1=1+1=2
| A[2,2]=2
|
|
| A[2,3]= A[2,3]+1=0+1=1
A[3,2]= A[3,2]+1=0+1=1
| A[2,3]=1
A[3,2]=1
|
|
| A[2,4]= A[2,4]+1=0+1=1
A[4,2]= A[4,2]+1=0+1=1
| A[2,4]=1
A[4,2]=1
|
|
| A[3,3]= A[3,3]+1=0+1=1
A[3,3]= A[3,3]+1=1+1=2
| A[3,3]=2
|
|
| A[3,4]= A[3,4]+1=0+1=1
A[4,3]= A[4,3]+1=0+1=1
| A[3,4]=1
A[4,3]=1
|
|
| A[4,4]= A[4,4]+1=0+1=1
A[4,4]= A[4,4]+1=1+1=2
| A[4,4]=2
| Исходя из таблицы видно, что 4 элемента массива А будут равны 2, 12 элементов будут равны 1, все остальные – равны нулю. Следовательно, правильным будет вариант ответа №3.
Ответ: 3.
Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...
|
Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...
|
ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при которых тело находится под действием заданной системы сил...
|
Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...
|
|
Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...
Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...
Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...
|
|
Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...
Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...
Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...
|
|