Анализ фрагментов программ. Обработка двумерных массивов
Двумерный массив А размером 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.
Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...
|
Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...
|
Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...
|
Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...
|
Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва.
Сосудистый шов применяется для восстановления магистрального кровотока при лечении...
Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность
· Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...
Мелоксикам (Мовалис) Групповая принадлежность
· Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...
|
Экспертная оценка как метод психологического исследования Экспертная оценка – диагностический метод измерения, с помощью которого качественные особенности психических явлений получают свое числовое выражение в форме количественных оценок...
В теории государства и права выделяют два пути возникновения государства: восточный и западный Восточный путь возникновения государства представляет собой плавный переход, перерастание первобытного общества в государство...
Закон Гука при растяжении и сжатии
Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...
|
|