Анализ фрагментов программ. Обработка двумерных массивов
Двумерный массив А размером 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.
Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...
|
Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...
|
Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...
|
Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...
|
|
Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы:
1) первичные...
Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...
Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех составляющих внешней среды, с которыми предприятие находится в непосредственном взаимодействии...
|
|
Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...
Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...
Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...
|
|