Категория A12 • задача №4

 
 
 

Условие задачи

Дано:
следующий фрагмент программы обрабатывает массив А размером n х n, n > 5. Представим массив в виде квадратной таблицы, в которой для элемента массива А [i, j] величина i является номером строки, а величина j - номером столбца, в котором расположен элемент:

 

Вопрос:
что меняет данный алгоритм?

 

Варианты ответа:

  1. две строки в таблице;

  2. два столбца в таблице;

  3. элементы диагонали в таблице;

  4. элементы строки на элементы столбца в таблице.

 

Решение

I этап: селекционирование языка программирования

Из предложенных трех вариантов сразу отсекаем Алгоритмический язык, так как гораздо проще вести разбор формальных инструкций, записанных на каком либо языке высокого уровня. Свое предпочтение я отдаю языку программирования Паскаль, так как в отличие от Basic он имеет:

  • строгую типизацию;

  • хорошо организованную внутреннюю структуру программы;

  • большое количество встроенных типов данных.

В итоге, наш выбор - язык программирования Pascal.

 

II этап: рассмотрим алгоритм, заложенный в данной программе

В условии сказано, что n > 5, поэтому возьмем за  n ближайшее допустимое значение, то есть n = 6. Рассмотрим квадратную матрицу размерности n · n = 6 · 6 и заполним ее натуральными числами от 1 до 36 (данное заполнение взято автором абсолютно хаотично и без каких-либо предпосылок):

 123456
1123456
2789101112
3131415161718
4192021222324
5252627282930
6313233343536

 

Рассмотрим более детально программные строки, приведенные в теле цикла:

c := A[1, i];
A[1, i] := A[k, i];
A[k, i] := c

Очевидно, что в данных инструкциях приведен алгоритм обмена значений двух переменных через вспомогательную переменную. В качестве этих переменных выступают элементы массива. В качестве вспомогательной переменной выступает идентификатор с.
Запись A[1, i] означает обращение к элементу, находящемуся в первой строке и i-ом столбце.
Запись A[k, i] означает обращение к элементу, находящемуся в k-ой строке и i-ом столбце. Если учесть, что k = 4, то получается элементы будут располагаться в четвертой строке.

В итоге, можно сделать вывод, что в данном цикле происходит обмен элементов между первой и четвертой строкой.

I итерация: i = 1
Тогда тело цикла принимает вид:

c := A[1, 1];
A[1, 1] := A[4, 1];
A[4, 1] := c

 123456
1123456
2789101112
3131415161718
4192021222324
5252627282930
6313233343536
 123456
11923456
2789101112
3131415161718
412021222324
5252627282930
6313233343536

 

 

 

 

 

 

 

 

 

 

II итерация: i = 2
Тогда тело цикла принимает вид:

c := A[1, 2];
A[1, 2] := A[4, 2];
A[4, 2] := c

 123456
11923456
2789101112
3131415161718
412021222324
5252627282930
6313233343536
 123456
119203456
2789101112
3131415161718
41221222324
5252627282930
6313233343536

 

 

 

 

 

 

 

 

 

 

III итерация: i = 3
Тогда тело цикла принимает вид:

c := A[1, 3];
A[1, 3] := A[4, 3];
A[4, 3] := c

 123456
119203456
2789101112
3131415161718
41221222324
5252627282930
6313233343536
 123456
1192021456
2789101112
3131415161718
4123222324
5252627282930
6313233343536

 

 

 

 

 

 

 

 

 

 

IV итерация: i = 4
Тогда тело цикла принимает вид:

c := A[1, 4];
A[1, 4] := A[4, 4];
A[4, 4] := c

 123456
1192021456
2789101112
3131415161718
4123222324
5252627282930
6313233343536
 123456
11920212256
2789101112
3131415161718
412342324
5252627282930
6313233343536

 

 

 

 

 

 

 

 

 

 

V итерация: i = 5
Тогда тело цикла принимает вид:

c := A[1, 5];
A[1, 5] := A[4, 5];
A[4, 5] := c

 123456
11920212256
2789101112
3131415161718
412342324
5252627282930
6313233343536
 123456
119202122236
2789101112
3131415161718
41234524
5252627282930
6313233343536

 

 

 

 

 

 

 

 

 

 

VI итерация: i = 6 (завершающая итерация)
Тогда тело цикла принимает вид:

c := A[1, 6];
A[1, 6] := A[4, 6];
A[4, 6] := c

 123456
119202122236
2789101112
3131415161718
41234524
5252627282930
6313233343536
 123456
1192021222324
2789101112
3131415161718
4123456
5252627282930
6313233343536

 

 

 

 

 

 

 

 

 

 

После обработки двухмерный массив имеет окончательный вид:

Как видно из полученной матрицы, произошел обмен элементов, находящихся на первой и четвертой строках, то есть поменялись местами две строки данной матрицы.

Среди предложенных вариантов ответа вариант под номером один описывает то же самое, что мы получили в процессе решения поставленной задачи.

 

Вывод:

данный алгоритм меняет местами две строки в таблице

Ответ:

1

 
Рейтинг:
 
Проголосовало: 0
Количество просмотров: 1637
 
 
 

Категория A12 • задача №4

 

Комментарии

Для комментирования или зарегистрируйтесь
 

Остальные решения из билета №4 для подготовки к ЕГЭ по информатике 2013

 
Условие задачи
(наведите курсор мыши на ссылку)
Аудиовизуальное
решение
Мультимедийная
видеопрезентация
Решение в формате
слайд-шоу
Текстовое
решение
 
© 2011-2024 ООО "СтадиМен". Все права сохранены.
Перепечатка и использование материалов с данного сайта, разрешена только по согласию с владельцем.
Владелец оставляет за собой право воспользоваться 146 статьей УК РФ при нарушении авторских и смежных прав.
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?