Анализ фрагментов программ. Обработка двумерных массивов
Двумерный массив А размером 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.
Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...
|
Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...
|
Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...
|
Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...
|
Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...
Методы анализа финансово-хозяйственной деятельности предприятия
Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...
Образование соседних чисел Фрагмент:
Программная задача: показать образование числа 4 и числа 3 друг из друга...
|
ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...
МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...
СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень
Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...
|
|