игра брюс 2048
Главная / Программирование / Программирование на Intel Cilk Plus / Тест 3

Программирование на Intel Cilk Plus - тест 3

Упражнение 1:
Номер 1
Почему использование расширенной индексной нотации в Intel® Cilk™ Plus при работе с массивами позволяет увеличить производительность программы?

Ответ:

 (1) операции в расширенной индексной нотации эффективно векторизуются компилятором 

 (2) выигрыша в эффективности нет, нотация используется для удобства 

 (3) операции в расширенной индексной нотации заменяются компилятором вызовами функций MPI 

 (4) операции в расширенной индексной нотации заменяются компилятором вызовами функций 

 (5) OpenMP 


Номер 2
Второй элемент в расширенной векторной нотации <1>:<2>[:<3>] это:

Ответ:

 (1) количество элементов в сечении массива 

 (2) максимальное значение индекса 

 (3) шаг изменения индекса 


Номер 3
Первый элемент в расширенной векторной нотации <1>:<2>[:<3>] это:

Ответ:

 (1) начальное значение индекса 

 (2) количество элементов в сечении массива 

 (3) максимальное значение индекса 

 (4) шаг изменения индекса 


Упражнение 2:
Номер 1
Третий элемент в расширенной векторной нотации <1>:<2>[:<3>] это:

Ответ:

 (1) начальное значение индекса 

 (2) количество элементов в сечении массива 

 (3) максимальное значение индекса 

 (4) шаг изменения индекса 


Номер 2
Что обозначает символ :, используемый самостоятельно (без указания длины и шага) в расширенной индексной нотации?

Ответ:

 (1) все элементы массива 

 (2) динамический массив 

 (3) это недопустимая конструкция 


Номер 3
Что означает запись b[13:57]?

Ответ:

 (1) элементы массива b с 13 по 57 

 (2) элементы массива b[13] и b[57] 

 (3) это недопустимая конструкция 


Упражнение 3:
Номер 1
Что означает запись b[:]?

Ответ:

 (1) все элементы массива b 

 (2) это недопустимая конструкция 

 (3) первый элемент массива b 


Номер 2
Что означает запись b[:][5]?

Ответ:

 (1) 5 столбец матрицы b 

 (2) 5 строку матрицы b 

 (3) это недопустимая конструкция 

 (4) 5-й элемент одномерного массива b 


Номер 3
Что означает запись b[1:3:4]?

Ответ:

 (1) элементы b[1], b[5], b[9] массива 

 (2) элементы b[1], b[4], b[8], b[11] массива 

 (3) первый элемент квадратной 3x3 матрицы b 

 (4) это недопустимая конструкция 


Упражнение 4:
Номер 1
Что означает запись b[1:3][0:2]?

Ответ:

 (1) элементы b[1][0], b[1][1], b[2][0], b[2][1], b[3][0], b[3][1] массива b 

 (2) элементы b[0][0], b[1][1], b[2][0], b[2][1], b[3][0], b[3][1] массива b 

 (3) элементы b[1][0], b[2][11], b[2][0], b[2][1], b[3][0], b[3][1] массива b 

 (4) элементы b[1][0], b[1][1], b[2][1], b[2][1], b[3][0], b[3][1] массива b 

 (5) элементы b[1][0], b[1][1], b[2][0], b[2][1], b[3][0], b[3][0] массива b 


Номер 2
Правильным ли является оператор присваивания c[1:5] = d[1:5]?

Ответ:

 (1) да 

 (2) нет 


Номер 3
Правильным ли является оператор присваивания c[1:5] = d[2:15]?

Ответ:

 (1) да 

 (2) нет 


Упражнение 5:
Номер 1
Правильным ли является оператор присваивания c[1:5] = d[5:5]?

Ответ:

 (1) да 

 (2) нет 


Номер 2
Правильным ли является оператор присваивания c[:] = d[:]?

Ответ:

 (1) Да, если оба массива имеют одинаковое число элементов 

 (2) Да 

 (3) Нет 


Номер 3
Правильным ли является оператор присваивания c[:] = d[:][:]?

Ответ:

 (1) да 

 (2) нет 


Упражнение 6:
Номер 1
Какое действие выполняется в следующем выражении a[:]*b[:]?

Ответ:

 (1) поэлементное умножение массивов a и b 

 (2) это недопустимая конструкция 

 (3) умножение первых элементов a и b 


Номер 2
Какое действие выполняется в следующем выражении a[3:2][3:2] + b[5:2][5:2]?

Ответ:

 (1) сложение двух матриц 2x2 

 (2) это недопустимая конструкция 


Номер 3
Является ли правильным следующее выражение a[0:4][1:2] + b[1:2]?

Ответ:

 (1) да 

 (2) нет 


Упражнение 7:
Номер 1
Является ли правильным следующее выражение a[:][:] + b[0][1]?

Ответ:

 (1) да 

 (2) нет 


Номер 2
Каким будет результат вычисления следующего выражения a[:][:] + b[0][1]?

Ответ:

 (1) каждый элемент массива a суммируется с b[0][1] 

 (2) поэлементная сумма массивов a и b 

 (3) это недопустимая конструкция 


Номер 3
Является ли правильным следующий оператор: a[:] = c;?

Ответ:

 (1) да 

 (2) нет 


Упражнение 8:
Номер 1
Является ли правильным следующий оператор: a[1:s] = a[0:s] + 1;?

Ответ:

 (1) да 

 (2) нет 


Номер 2
Является ли правильным следующий оператор: a[b[0:s]] = c[:];?

Ответ:

 (1) да 

 (2) нет 


Номер 3
Является ли правильным следующий оператор: c[0:s] = a[b[:]];?

Ответ:

 (1) да 

 (2) нет 


Упражнение 9:
Номер 1
Какое действие выполняет функция __sec_shift?

Ответ:

 (1) линейный сдвиг массива 

 (2) циклический сдвиг массива 

 (3) такой функции нет 


Номер 2
Какое действие выполняет функция __sec_rotate?

Ответ:

 (1) линейный сдвиг массива 

 (2) циклический сдвиг массива 

 (3) такой функции нетт 


Номер 3
Какие инструкции порождает компилятор при компиляции кода с использованием векторной нотации?

Ответ:

 (1) SSE 

 (2) AVX 

 (3) MIMD 

 (4) SIMD 


Упражнение 10:
Номер 1
Какая структура данных чаще всего встречается в вычислительных приложениях?

Ответ:

 (1) массив 

 (2) скалярная переменная 

 (3) структура 


Номер 2
Что означает запись a[17:3:2]?

Ответ:

 (1) элементы массива a[17], a[19], a[21] 

 (2) элементы массива a[17], a[20] 

 (3) такая запись недопустима 


Номер 3
Принадлежит ли элемент a[15] сечению массива a[11:4:3]?

Ответ:

 (1) да 

 (2) нет 


Упражнение 11:
Номер 1
Принадлежит ли элемент b[35] сечению массива b[9:16]?

Ответ:

 (1) да 

 (2) нет 


Номер 2
Корректен ли оператор c[2:10:2] = a[1:10] - b[14:10:11]?

Ответ:

 (1) да 

 (2) нет 


Номер 3
Корректен ли оператор c[2:10:2] = a[1:10] - b[14:11:10]?

Ответ:

 (1) да 

 (2) нет 


Упражнение 12:
Номер 1
Совпадает ли синтаксис расширенной индексной нотации Intel® Cilk™ Plus и индексной нотации Fortran 90?

Ответ:

 (1) да 

 (2) нет 


Номер 2
Могут ли перечисленные операции применяться к сечениям массивов: +, -, *, /?

Ответ:

 (1) да 

 (2) нет 

 (3) только + и - 


Номер 3
Могут ли перечисленные операции применяться к сечениям массивов: %, <,==,!=,>?

Ответ:

 (1) да 

 (2) нет 

 (3) только = = и != 


Упражнение 13:
Номер 1
Могут ли перечисленные операции применяться к сечениям массивов: |,&,,&&?

Ответ:

 (1) да 

 (2) нет 

 (3) только  


Номер 2
Могут ли перечисленные операции применяться к сечениям массивов: ++,--, +=, -=?

Ответ:

 (1) да 

 (2) нет 

 (3) только += и -= 

 (4) только ++ 


Номер 3
Могут ли перечисленные операции применяться к сечениям массивов: *=, /=?

Ответ:

 (1) да 

 (2) нет 

 (3) только *= 

 (4) только /= 


Упражнение 14:
Номер 1
Как выполняются операции с разными элементами в выражении a[:] * b[:]?

Ответ:

 (1) параллельно 

 (2) последовательно 


Номер 2
Правильно ли запрограммировано умножение двух матриц в выражении a[:][:]*b[:][:]?

Ответ:

 (1) да 

 (2) нет 


Номер 3
Какие операции машинного уровня генерирует компилятор для выражений вида a[b[0:s]] = c[:] и c[0:s] = a[b[:]]?

Ответ:

 (1) операции распределения и сбора данных для целевой архитектуры 

 (2) операции редукции 


Упражнение 15:
Номер 1
В Cilk-программе необходимо использовать циклический сдвиг элементов массива. Какую функцию можно использовать для выполнения такого сдвига?

Ответ:

 (1) __sec_rotate(a[:], shift_val) 

 (2) __sec_shift(a[:], shift_val) 

 (3) такой функции нет 


Номер 2
Можно ли использовать сечение массива в качестве аргумента функции?

Ответ:

 (1) да 

 (2) нет 


Номер 3
Какое условие должно выполняться при использовании сечения массива в качестве аргумента функции?

Ответ:

 (1) Фактический и формальный аргументы должны быть согласованы 

 (2) такое использование допустимо в любом случае 


Упражнение 16:
Номер 1
Какое действие выполняет следующий оператор: vx[i:m][j:n] += a*(U[i:m][j+1:n]-U[i:m][j:n]);?

Ответ:

 (1) модификацию подматрицы размером m x n, начиная с элемента (i, j) 

 (2) модификацию подматрицы размером i x j, начиная с элемента (S, n) 


Номер 2
Имеется следующий фрагмент программы:
        
if(a[0:n] < b[0:n]) 
    c[0:n] = 0;
else
    c[0:n] = 1;
        
        

Ответ:

 (1) присваивание нулевых значений элементам массива c с индексами, для которых a[i]<b[i] и единицы для всех прочих 

 (2) присваивание единичных значений элементам массива c с индексами, для которых a[i]<b[i] и нулевых для всех прочих 

 (3) такая конструкция недопустима 


Номер 3
Правильно ли запрограммировано вычисление скалярного произведения двух векторов в выражении a[:]*b[:]?

Ответ:

 (1) да, если они содержат одинаковое количество элементов 

 (2) да 

 (3) нет 


Упражнение 17:
Номер 1
Правильно ли запрограммировано вычисление скалярного произведения двух векторов в выражении a[12:12]*b[1:12]?

Ответ:

 (1) да 

 (2) нет 


Номер 2
Правильно ли запрограммировано вычисление скалярного произведения двух векторов в выражении a[12:12]*b[12:15]?

Ответ:

 (1) да 

 (2) нет 


Номер 3
Правильно ли задано сечение массива: [12:10]?

Ответ:

 (1) да 

 (2) нет 




Главная / Программирование / Программирование на Intel Cilk Plus / Тест 3