В каком фрагменте программы нет ошибок

Содержание

Определите класс по умолчанию для переменной numt :

  • threadprivate
  • private
  • (Правильный ответ) shared

Найдите ошибку в следующем фрагменте программы:

  • перед директивой for отсутствует директива barrier
  • в данном фрагменте программы ошибки нет
  • (Правильный ответ) в директиве parallel клауза private (a) должна быть заменена на shared(a)

Найдите ошибку в следующем фрагменте программы:

  • чтение/изменение переменной tmp выполняется без какой-либо синхронизации
  • изменение общей переменной B[iam] выполняется без какой-либо синхронизации
  • (Правильный ответ) в данном фрагменте программы ошибки нет

Способ распределения витков цикла между нитями группы задается при помощи клаузы schedule([,]) . Найдите ошибку в следующем фрагменте программы:

  • (Правильный ответ) значение параметра клаузы schedule отличается для каждой нити группы
  • в данном фрагменте программы ошибки нет
  • при динамическом планировании, задаваемом клаузой schedule(dynamic) , параметр задать нельзя

Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения:

Клауза copyin :

  • может быть использована только для переменных, указанных в клаузе private
  • (Правильный ответ) может быть использована только для переменных, указанных в директиве threadprivate
  • может быть использована как для переменных указанных в директиве threadprivate , так и для переменных, указанных в клаузе private

Определите значение переменной team_size по завершении выполнения следующей программы:

Директива master

  • определяет блок операторов в программе, который будет выполнен одной нитью группы. Остальные нити группы дожидаются завершения выполнения этого блока
  • (Правильный ответ) определяет блок операторов в программе, который будет выполнен master -нитью. Остальные нити группы не дожидаются завершения выполнения этого блока
  • определяет блок операторов в программе, который будет выполнен master -нитью. Остальные нити группы дожидаются завершения выполнения этого блока

Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения:

Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы:

  • добавить к директиве parallel for клаузу schedule(static,1)
  • добавить к директиве parallel for клаузу schedule(dynamic)
  • (Правильный ответ) добавить к директиве parallel for клаузу collapse(2)

Пусть следующая программа скомпилирована компилятором, поддерживающим вложенный параллелизм.

При реализации компилятором редукционного оператора, описанного при помощи клаузы reduction (+: sum) , где переменная sum имеет тип integer , для каждой нити создается локальная копия переменной sum , начальное значение которой будет инициализировано:

  • MAXINT (максимально возможное целое число)
  • -MAXINT (минимально возможное целое число)
  • (Правильный ответ) 0

Определите способ распределения витков цикла между нитями для следующего фрагмента программы:

  • управляемый(guided)
  • (Правильный ответ) зависит от реализации компилятора
  • зависит от значения переменной окружения OMP_SCHEDULE
Читайте также:
Континент программа системные требования

Найдите ошибку в следующем фрагменте программы:

  • (Правильный ответ) чтение/изменение общей переменной tmp выполняется без какой-либо синхронизации
  • в данном фрагменте программы ошибки нет
  • изменение общей переменной B[iam] выполняется без какой-либо синхронизации

Процессорная модель консистентности памяти определяется следующим условием:

  • все процессы наблюдают операции записи любого процесса в порядке их выполнения. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке
  • (Правильный ответ) все процессы наблюдают операции записи любого процесса в порядке их выполнения. Для каждой переменной существует общее согласие относительно порядка, в котором процессы модифицируют эту переменную. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке
  • все процессы наблюдают все обращения к ячейкам памяти в одном и том же порядке. Обращения не упорядочены по времени

Найдите ошибку в следующем фрагменте программы:

  • после конструкции single отсутствует директива barrier
  • в данном фрагменте программы ошибки нет
  • (Правильный ответ) в директиве single отсутствует клауза copyprivate(numt)

Найдите ошибку в следующем фрагменте программы:

  • (Правильный ответ) количество заголовков циклов не соответствуют значению, указанному в клаузе collapse
  • в данном фрагменте программы ошибки нет
  • в результате использования клаузы default(shared) , счетчики циклов — переменные i и j являются общими для всех нитей

Пусть следующая программа скомпилирована компилятором, поддерживающим вложенный параллелизм.

Найдите ошибку в следующем фрагменте программы:

  • (Правильный ответ) дедлок — взаимная блокировка нитей, возникающая в результате того что одноименные критические секции вложены друг в друга
  • в данном фрагменте программы ошибки нет
  • критические секции не могут быть вложены друг в друга

Найдите ошибку в следующем фрагменте программы:

  • в данном фрагменте программы ошибки нет
  • в директиве parallel клауза shared(a) должна быть заменена на private(a)
  • (Правильный ответ) перед директивой for отсутствует директива barrier

Рассмотрим фрагмент OpenMP-программы: #include int n=1; int main (void) < omp_set_nested(1); omp_set_dynamic(1); omp_set_num_threads(2); #pragma omp parallel if (n>10) > Для выполнения параллельной области будет создана группа нитей, состоящая из:

  • 2-х нитей
  • нескольких нитей (количество создаваемых нитей зависит от переменной окружения OMP_NUM_THREADS )
  • (Правильный ответ) 1-ой нити

Найдите ошибку в следующем фрагменте программы:

  • используются конструкции распределения работ, которые вложены одна в другую
  • (Правильный ответ) клауза shared не может быть использована в директиве for
  • в данном фрагменте программы ошибки нет

Функция omp_get_num_threads возвращает:

  • максимально возможное количество нитей, которые могут быть использованы при выполнении всей программы
  • номер нити в группе
  • (Правильный ответ) количество нитей в текущей параллельной области

Параллельная область в OpenMP создается при помощи:

  • (Правильный ответ) директивы parallel
  • вызова функции omp_set_max_active_levels
  • вызова функции omp_set_num_threads

Определите способ распределения витков цикла между нитями для следующего фрагмента программы:

  • (Правильный ответ) зависит от реализации компилятора
  • зависит от значения переменной окружения OMP_SCHEDULE
  • динамический (dynamic)

Найдите ошибку в следующем фрагменте программы:

  • (Правильный ответ) в директиве for отсутствует клауза private(tmp)
  • в данном фрагменте программы ошибки нет
  • в директиве parallel отсутствует клауза shared(a)

Использование оператора exit в структурном блоке OpenMP:

  • возможно в некоторых OpenMP-компиляторах (зависит от реализации)
  • запрещено в стандарте
  • (Правильный ответ) разрешено в стандарте

Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы:

  • для первого цикла, выполнение витков которого распределяется между нитями при помощи директивы for , добавить клаузу schedule(dynamic)
  • для второго цикла, выполнение витков которого распределяется между нитями при помощи директивы for , добавить клаузу schedule(dynamic)
  • (Правильный ответ) объединить две подряд стоящие параллельные области в одну

Найдите ошибку в следующем фрагменте программы:

  • оператор for не может быть использован внутри конструкции master
  • (Правильный ответ) по завершении конструкции master отсутствует директива barrier
  • в данном фрагменте программы ошибки нет

При реализации компилятором редукционного оператора, описанного при помощи клаузы reduction (*: prod) , где переменная prod имеет тип integer , для каждой нити создается локальная копия переменной prod, начальное значение которой будет инициализировано:

  • (Правильный ответ) 1
  • MAXINT (максимально возможное целое число)

Похожие ответы, выполненные работы

ЦТ || Lesson_18: Разбор задания на нахождение ошибок

Поиск ошибок в программе

  • Программирование на языке C в Microsoft Visual Studio 2010
  • Программирование на языке C++
  • C#_ ООП и классы
  • C#_ основы
  • Язык программирования C++ для профессионалов
  • Язык программирования C++
  • Программирование на Java
  • Создание Windows-приложений на основе Visual C#
  • Структуры и алгоритмы компьютерной обработки данных
  • Программирование на языке высокого уровня C#

или напишите нам прямо сейчас

Оставить комментарий

Inna Petrova 18 минут назад

Нужно пройти преддипломную практику у нескольких предметов написать введение и отчет по практике так де сдать 4 экзамена после практики

Иван, помощь с обучением 25 минут назад

Коля 2 часа назад

Здравствуйте, сколько будет стоить данная работа и как заказать?

Иван, помощь с обучением 2 часа назад

Инкогнито 5 часов назад

Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения. Сам диплом готов, пришлю его Вам по запросу!

Иван, помощь с обучением 6 часов назад

Василий 12 часов назад

Читайте также:
Как пользоваться программой visual studio code

Здравствуйте. ищу экзаменационные билеты с ответами для прохождения вступительного теста по теме Общая социальная психология на магистратуру в Московский институт психоанализа.

Иван, помощь с обучением 12 часов назад

Анна Михайловна 1 день назад

Нужно закрыть предмет «Микроэкономика» за сколько времени и за какую цену сделаете?

Иван, помощь с обучением 1 день назад

Сергей 1 день назад

Здравствуйте. Нужен отчёт о прохождении практики, специальность Государственное и муниципальное управление. Планирую пройти практику в школе там, где работаю.

Иван, помощь с обучением 1 день назад

Инна 1 день назад

Добрый день! Учусь на 2 курсе по специальности земельно-имущественные отношения. Нужен отчет по учебной практике. Подскажите, пожалуйста, стоимость и сроки выполнения?

Иван, помощь с обучением 1 день назад

Студент 2 дня назад

Здравствуйте, у меня сегодня начинается сессия, нужно будет ответить на вопросы по русскому и математике за определенное время онлайн. Сможете помочь? И сколько это будет стоить? Колледж КЭСИ, первый курс.

Иван, помощь с обучением 2 дня назад

Ольга 2 дня назад

Требуется сделать практические задания по математике 40.02.01 Право и организация социального обеспечения семестр 2

Иван, помощь с обучением 2 дня назад

Вика 3 дня назад

сдача сессии по следующим предметам: Этика деловых отношений — Калашников В.Г. Управление соц. развитием организации- Пересада А. В. Документационное обеспечение управления — Рафикова В.М. Управление производительностью труда- Фаизова Э. Ф. Кадровый аудит- Рафикова В. М. Персональный брендинг — Фаизова Э. Ф. Эргономика труда- Калашников В. Г.

Иван, помощь с обучением 3 дня назад

Игорь Валерьевич 3 дня назад

здравствуйте. помогите пройти итоговый тест по теме Обновление содержания образования: изменения организации и осуществления образовательной деятельности в соответствии с ФГОС НОО

Иван, помощь с обучением 3 дня назад

Вадим 4 дня назад

Пройти 7 тестов в личном кабинете. Сооружения и эксплуатация газонефтипровод и хранилищ

Иван, помощь с обучением 4 дня назад

Кирилл 4 дня назад

Нашел у вас на сайте задачу, какая мне необходима, можно узнать стоимость?

Иван, помощь с обучением 4 дня назад

Oleg 4 дня назад

Требуется пройти задания первый семестр Специальность: 10.02.01 Организация и технология защиты информации. Химия сдана, история тоже. Сколько это будет стоить в комплексе и попредметно и сколько на это понадобится времени?

Иван, помощь с обучением 4 дня назад

Валерия 5 дней назад

ЗДРАВСТВУЙТЕ. СКАЖИТЕ МОЖЕТЕ ЛИ ВЫ ПОМОЧЬ С ВЫПОЛНЕНИЕМ практики и ВКР по банку ВТБ. ответьте пожалуйста если можно побыстрее , а то просто уже вся на нервяке из-за этой учебы. и сколько это будет стоить?

Иван, помощь с обучением 5 дней назад

Инкогнито 5 дней назад

Здравствуйте. Нужны ответы на вопросы для экзамена. Направление — Пожарная безопасность.

Иван, помощь с обучением 5 дней назад

Иван неделю назад

Защита дипломной дистанционно, «Синергия», Направленность (профиль) Информационные системы и технологии, Бакалавр, тема: «Автоматизация приема и анализа заявок технической поддержки

Иван, помощь с обучением неделю назад

Дарья неделю назад

Необходимо написать дипломную работу на тему: «Разработка проекта внедрения CRM-системы. + презентацию (слайды) для предзащиты ВКР. Презентация должна быть в формате PDF или формате файлов PowerPoint! Институт ТГУ Росдистант. Предыдущий исполнитель написал ВКР, но работа не прошла по антиплагиату. Предыдущий исполнитель пропал и не отвечает.

Есть его работа, которую нужно исправить, либо переписать с нуля.

Иван, помощь с обучением неделю назад

Источник: the-distance.ru

Вопрос 58: Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы:

Вопрос 59: Пусть следующая программа скомпилирована компилятором, поддерживающим вложенный параллелизм.

#pragma omp parallel num_threads(2)

if (omp_get_thread_num() == 0)

#pragma omp parallel num_threads(2)

#pragma omp atomic

Определите значение переменной counter по завершении выполнения этой программы:

Вопрос 60: При реализации компилятором редукционного оператора, описанного при помощи клаузы reduction (+: sum), где переменная sum имеет тип integer, для каждой нити создается локальная копия переменной sum, начальное значение которой будет инициализировано:

1. MAXINT (максимально возможное целое число)

2. -MAXINT (минимально возможное целое число)

Вопрос 61: Определите способ распределения витков цикла между нитями для следующего фрагмента программы:

#pragma omp parallel

2. зависит от реализации компилятора

3. зависит от значения переменной окружения OMP_SCHEDULE

Вопрос 62: Найдите ошибку в следующем фрагменте программы:

#pragma omp parallel default(shared) num_threads(10)

1. чтение/изменение общей переменной tmp выполняется без какой-либо синхронизации

2. В данном фрагменте программы ошибки нет

3. Изменение общей переменной b[iam] выполняется без какой-либо синхронизации

Вопрос 63: Процессорная модель консистентности памяти определяется следующим условием:

1. все процессы наблюдают операции записи любого процесса в порядке их выполнения. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке

2. все процессы наблюдают операции записи любого процесса в порядке их выполнения. Для каждой переменной существует общее согласие относительно порядка, в котором процессы модифицируют эту переменную. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке

3. все процессы наблюдают все обращения к ячейкам памяти в одном и том же порядке. Обращения не упорядочены по времени

Источник: studfile.net

Решение олимпиадных задач по информатике — тест 5

math

nbsp

Читайте также:
Программы в области охраны окружающей среды понятие

nbsp

Номер 2

В программе на Паскале все значения элементов двумерного массива равны «2». Что будет выведено на экран монитора в результате выполнения программы, фрагмент которой приведен ниже:

… n:=5; x[2,3]:=5; x[4,1]:=1; max:=x[1,1]; min:=x[1,1]; for i:=1 to n do for j:=1 to n do if x[i,j]>max then max:=x[i,j] else min:=x[i,j]; writeln (max, ‘ ‘, min); …
nbsp
Номер 3

Типовой алгоритм поиска максимального и минимльного элемента двумерного массива на Паскале, фрагмент которого приведен ниже, содержит ошибку. Найдите ее:

… m1:=x[1,1]; m2:=x[1,1]; for i:=1 to n do for j:=1 to m do if x[i,j]
nbsp
m2:=x[1,1]; Верно: m1:=0; m2:=1000; nbsp(4) во фрагменте программы нет ошибок 0) and (i*j mod 2 =0) then writeln (i,j); …

nbsp

nbsp

nbsp

nbsp
Номер 2

Программа на Паскале, фрагмент которой приведен ниже, выводит индексы положительных элементов двумерного массива, произведение индексов которых четно. Какое логическое выражение вместо вопросительного знака в ветвлении необходимо указать:

… for i:=1 to n do for j:=1 to m do if ? then writeln (i,j); …
0) and (i*j mod 2) =0 nbsp(2) (x[i,j]>0) or (i*j mod 2) =0 nbsp(3) (x[i,j]>0) and (i*j div 2) =0 nbsp(4) (x[i,j]>0) and (i mod=0)*(j mod 2 =0) y:=-1; for i:=1 to n do for j:=1 to n do x[i,j]:=y*(-2); y:=x[i,j]; for i:=1 to n do for j:=1 to n do if (x[i,j]>0) and (i*j mod 2 =0) then writeln (i+j); …
Упражнение 4: Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… d:=0; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]>m[j] then m[j]:=x[i,j]; end; d:=d+m[j]; end …
nbsp
nbsp
nbsp
nbsp
Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… d:=0; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]
nbsp
nbsp
nbsp
nbsp
Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в переменной mathбудет:

… d:=0; n:=3; for j:=1 to n do for i:=1 to n do x[i,j]:=i+j; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]>m[j] then m[j]:=x[i,j]; end; d:=d+m[j]; end …
nbsp
Упражнение 5: Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… s:=0; for i:=1 to n do for j:=1 to n do if (i<=n-j+1) then s:=s+x[i,j]; …
nbsp
nbsp
nbsp
nbsp
Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:

… s:=0; for i:=1 to n do for j:=1 to n do if (i>n-j+1) then s:=s+x[i,j]; …
nbsp
nbsp
nbsp
nbsp
Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, значение переменной mathбудет равно:

… n:=3; s:=0; k:=1; for i:=1 to n do for j:=1 to n do begin x[i,j]:=k; k:=k+1; end for i:=1 to n do for j:=1 to n do if (i<=n-j+1) then s:=s+x[i,j]; …
nbsp
Упражнение 6: Номер 1

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:

… for i:=1 to n do for j:=1 to i do x[i,j]:=1; …
0010101111nbsp
1111010100nbsp
1111101000nbsp
0001011111nbsp
Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:

… for i:=1 to n do for j:=i to n do x[i,j]:=1; …
1111010100nbsp
0010101111nbsp
1111101000nbsp
0001011111nbsp
Номер 3

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:

… for i:=1 to n do for j:=1 to (n-i+1) do x[i,j]:=1; …
1111101000nbsp
1111010100nbsp
0001011111nbsp
0010101111nbsp
Упражнение 7: Номер 1

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

begin 10000\ 10000\ 11000\ 11000\ 11100\ 00000\ 00000\ 00000\ 00000\ end
Номер 2

В результате выполнения программы на Паскале, фрагмент которой приведен ниже заполняется квадратный массив:

… for i:=1 to (?) do for j:=1 to i do x[i,j]:=1; …

Укажите выражение, которое должно стоять вместо вопросительного знака в заголовке цикла, чтобы квадратный массив заполнится таким образом:

begin 10000\ 10000\ 11000\ 11000\ 11100\ 00000\ 00000\ 00000\ 00000 end

math

nbsp

math

nbsp

math

nbsp

math

nbsp

Номер 3

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

begin 00000\ 00000\ 00000\ 00000\ 00111\ 00011\ 00011\ 00001\ 00001 end
Упражнение 8: Номер 1

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

begin 11111\ 01110\ 01110\ 00100\ 00100\ 00000\ 00000\ 00000\ 00000 end
Номер 2

Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:

begin 00000\ 00000\ 00000\ 00000\ 00100\ 00100\ 01110\ 01110\ 11111 end
Номер 3

Ниже приведен фрагмент программы

… for i:=(n div 2 + 1) to n do for j:=. x[i,j]:=1; …

выполнение которой приведет к такому заполнению квадратного массива:

begin 00000\ 00000\ 00000\ 00000\ 00100\ 00100\ 01110\ 01110\ 11111 end

Укажите, что должно стоять вместо вопросительных знаков в заголовке внутреннего цикла:

Источник: eljob.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru