Программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel - ответы на тесты Интуит
Все ответы: Курс раскрывает возможности компилятора Intel Visual Fortran в создании программ, которые основаны на объектно-ориентированном подходе, выполняют параллельные вычисления и используют готовые пакеты библиотек. Курс ориентирован на подготовленных пользователей, желающих узнать о последних достижениях языка Fortran, реализованных в среде Intel Parallel Studio.
class type record extends select type !DEC$ DECLARE procedure final deferred non_overridable extends /Qparallel/Od /O1 /O2 /Ob0 /Ob1 private public save protected automatic extends interface operator operator interface assignment procedure
, где
и
векторы - векторы типа complex./Od /Ov /Oo /No /Ox pt(5)=NewType(50,[(1.0,1.0),(2.0,2.0)],'A101') pt(5)=NewType(50,0.0,['A101','B120']) pt(5)=NewType(50,point(0.0),['A101','B120']) pt(5)=NewType(50,point(0.0,0.0),['A101','B120']) imagesize this_image image_index num_images inmax /Qx /Qax /Qp /Qsx /Qt MT=M+S1 S1=MP*MT M=MT+1+MP call random_number(MT) В головной программе объявлена переменная
type (e_maps) EM
Укажите верные варианты доступа к полям производного типа из головной программы.
EM.code EM.segment EM.color EM.status EM.maps Coarray Images = 64.
CoArray-переменная CF, объявлена как type (flow) CF[-4:*]
. Данные находятся в файле data1.txt. В ответ введите целую часть суммы модулей полученного вектора.
!DEC$STRICT !DEC$NOSTRICT !DEC$FREEFORM !DEC$DEFINE !DEC$DECLARE F после вызова процедуры init в головной программе ?
polym=>um1.sm(50) polym=>um1 polym=>ssm1 polym=>um1.sm(1:100:4) polym=>null() integer, allocatable :: a[:,:] integer, pointer :: b[*] complex(16), allocatable :: TM(:,:)[:,:] real(8) TMP[1:10,2:5,1:*] real(8), allocatable :: UX[0:100,0:100,0:*]
и
. Данные находятся в файле data6.txt. В ответ введите целую часть результата.integer, private :: A integer, public :: A integer, protected :: B real, private :: X character, public :: B В головной программе используется модуль geom, который содержит только тип triangle и модульную процедуру Square.
Головная программа использует модуль geom.
В головной программе объявлена переменная type (triangle) TR.
Укажите верное описание типа triangle и процедуры Square, для организации вызова write(*,*) TR.Square() из головной программы
sync images(1) sync all critical this_image sync memory
. Данные находятся в файле data11.txt. В ответ введите целую часть результата.init из модуля A
use mod_B, init_B => init A указать protected init B указать private init A указать public A use mod_A, init_A => init use mod_B, only : Create NVERSE xcenter Radius VerifyPlot coords finish start UNION
, где
- квадратная матрица,
-вектор. Данные находятся в файле записана по строкам). В ответ введите номер минимального по модулю элемента вектора
.
res=sin(2.0)*cos(2.0)
cos из модуля mod_F sin из модуля mod_F office
, где
- треугольная квадратная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целую часть суммы модулей элементов главной диагонали матрицы
.pnt1 и pnt2 pnt1 и pnt3 pnt2 и pnt3 pnt1 и pnt2 и pnt3
, где
- прямоугольная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целое значение от суммы элементов матрицы
.
contains private type class select type !DEC$ PARALLEL /Qparallel/Qunroll /Qparallel /Qipo /Qopt-prefetch=1 /Ob1 private public save protected automatic extends interface operator operator interface assignment procedure /Qpar-threshold /Qparallel /Qvec-threshold /Qopt-prefetch /O3 используется в головной программе.
Описан массив
type (NewType) matrix(10,10,100)
Укажите верные варианты инициализации элемента matrix(1:5:2,:,20)
matrix(1:5:2,:,20)=NewType(region(1,2,3,4),blk(.TRUE.,'TERMO')) matrix(1:5:2,:,20)=NewType(region(0),blk('TERMO',.FALSE.)) matrix(1:5:2,:,20)=NewType((1,2,3,4),blk(.FALSE.,'TERMO')) matrix(1:5:2,:,20)=NewType(region(0,0,0,0),blk(.FALSE.,'TERMO')) matrix(1:5:2,:,20)=NewType(region(0,0,0,0),blk('TER','TER')) this_image imagesize num_images size sizeof /Qx /Qax /Qp /Qs /Qt D=C*F+B call random_number(A) call random_number(F) F=F+A В головной программе объявлена переменная
type (rectangle) rct
Укажите верные варианты доступа к полям производного типа из головной программы.
rct.roundrect rct.name rct.center rct.rectangle rct.x1 Coarray Images = 32.
CoArray-переменная CF, объявлена как type (grid) CF[2,3,4:*]
. Данные находятся в файле data2.txt. В ответ введите целую часть суммы модулей вещественной части полученного вектора.
!DEC$DECLARE !DEC$STRICT !DEC$DEFINE !DEC$NODECLARE !DEC$DEC!MESSAGE F после вызова процедуры init_D_E(2,3) в головной программе ?
polym => ptc ptc => ptg.object polym => ptg.object polym=>um1.sm(1:100:4) polym => ptg type(point), allocatable :: TM(:)[:,:] type(point), allocatable :: TM(100)[:,:] class(point), allocatable :: pt[:] class(point), pointer :: pt[] real nt(1:*,10,10)
и
. Данные находятся в файле data7.txt. В ответ введите целую часть результата.real, protected :: X integer, private :: A integer, protected :: A integer, protected :: B integer, public :: B В головной программе используется модуль geom, который содержит только тип circle и модульную процедуру IncRadius.
Головная программа использует модуль geom.
В головной программе объявлена переменная type (circle) CR.
Укажите верное описание типа circle и процедуры IncRadius, чтобы при вызове call CR.IncRadius(10.0) из головной программы, поле R переменной CR было изменено.
sync images sync all critical this_image sync memory
. Данные находятся в файле data12.txt. В ответ введите целую часть результата.init из модуля B
use mod_B, only : A указать public init B указать private init A указать private init use mod_A, init_A => init use mod_B, init_B => init Create Random Transpose determinant CONVERT value
, где
- квадратная матрица,
-вектор. Данные находятся в файле записана по строкам). В ответ введите номер минимального по модулю элемента вектора
.
res=sin(2.0)*cos(2.0)
cos из модуля mod_F sin из модуля mod_F region, который содержит поля:
point, в виде одномерного динамического массиваreal(8), в виде трехмерного динамического массива
, где
- треугольная квадратная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целую часть суммы модулей элементов главной диагонали матрицы
.pnt1 и pnt2 pnt1 и pnt3 pnt2 и pnt3 pnt1 и pnt2 и pnt3 proc1 proc2 proc3 proc4 proc5
, где
- прямоугольная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целое значение от суммы элементов матрицы
.
procedure contains class final pass /debug:parallel /Qmkl:sequential /Qmkl:blas /Qmkl:cluster /Qmkl:thread /Qmkl:parallel /Qparallel/double_size:128 /double_kind:128 /double_kind:16 /double_size:8 /double:128 private public save protected automatic
, где
-матрица общего вида,
и
векторы,
и
числа./Qopenmp /Qparallel /Qpar-report /Qtprofile /Qtcheck используется в головной программе.
Объявлена переменная
type(NewType) NT
Укажите верные варианты доступа к полям производного типа.
NT.reg(10).x(2) NT.reg.x NT.reg.x(3) NT.bee(1::2).name(1) NT.bee(2:20:5).name(1)(1:3) getgid getimage this_image num_images imagesize /Qvec-report /Qpar-report /warn:declarations /warn:stderrors /Qguide call random_number(X) call random_number(BN) X=Y+C*B В головной программе объявлена переменная
ps.year st.person st.group st.status ps.status Coarray Images = 64.
CoArray-переменная CF, объявлена как type (plot) CF [2,-1,2:*]
. Данные находятся в файле data3.txt. В ответ введите целую часть суммы модулей мнимой части полученного вектора.
!DEC$INTEGER !DEC$DEFINE !DEC$STRICT !DEC$DECLARE !DEC$REAL F после вызова процедуры init_D_E(4,5) в головной программе ?
polym => pol_flw.grid pol_reg => pol_flw.flw polym => pol_reg pol_reg => pol_flw polym => pol_flw type(particle) TM[1:4,5:10,0:10,0:*] logical, allocatable :: stat(:)[:,:] class(particle), allocatable :: pt[*] class(particle) pt[*] character ft(10,10:*,10)
и
. Данные находятся в файлеdata8.txt. В ответ введите целую часть результата.real, protected :: X = 2 real, private :: X = 2 integer, protected :: A = 2 integer, public :: B = 3 integer, private :: A = 2 В головной программе используется модуль peoples, который содержит только тип person и модульную процедуру PrintInfo.
Головная программа использует модуль peoples.
В головной программе объявлена переменная type (person) PS.
Укажите верное описание типа person и процедуры PrintInfo, чтобы при вызове call PS.PrintInfo() из головной программы, отображалась информация, содержащаяся в полях переменной PS.
sync images sync all critical this_image sync memory
. Данные находятся в файле data13.txt. В ответ введите целую часть результата.init из модуля B
use mod_A, only : A указать protected init B указать public init use mod_A use mod_B, B => init Create Inverse Transpose determinant INDEX UNION CROSS value
, где
- квадратная матрица,
-вектор. Данные находятся в файле записана по строкам). В ответ введите номер минимального по модулю элемента вектора
.
res=sin(2.0)*cos(2.0)
cos из модуля mod_F sin из модуля mod_F hydro
expoint добавляются две модульные процедуры procA и procB. Процедуры не имеют формальных параметров. На сколько изменится размер в байтах переменной типа expoint после добавления процедур ?
, где
- треугольная квадратная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целую часть суммы модулей элементов главной диагонали матрицы
.pnt1 и pnt2 pnt1 и pnt3 pnt2 и pnt3 pnt1 и pnt2 и pnt3 k в результате выполнения оператора select type в следующем фрагменте программы ?
, где
- прямоугольная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целое значение от суммы элементов матрицы
.
pass extends extend class select type !DEC$ DEFINE contains use module public interface class(*) select case type is class is select type /Qparallel/Qfp-speculation=fast /Qftz /Qfp-stack-check /Qfp_port /fpconstant interface и module procedure interface и contains use и private use и module procedure private и contains class type record extends select type
, где
- симметричная матрица,
и
прямоугольные матрицы,
-число./Qpar-report /Qparallel /Qpar /Qtprofile /Qtcheck используется в головной программе.
Объявлена переменная
type(card) cd
Укажите верные варианты доступа к полям производного типа.
cd.indic.plt.color(200) cd.indic.date(1:3) cd.indic cd.indic.free cd.indic.plot cobound ucobound ubound lcobound codimension /Ob2 /Ob1 /Qprof-gen /Qipo-jobs /Qx call random_number(X) call random_number(BN) C=Y*B BNEW=B+1 В головной программе объявлена переменная
type (student) st
Укажите верные варианты доступа к полям производного типа из головной программы.
st.person st.person.name st.year st.status st.person.year Coarray Images = 0.
CoArray-переменная CF, объявлена как type (cell) CF [2,2:*]
. Данные находятся в файле data4.txt. В ответ введите целую часть суммы модулей мнимой части полученного вектора.
!DEC$OBJCOMMENT LIB !DEC$OBJ !DEC$LIB !DEC$OBJ LIB !DEC$OBJCOMMENT F после выполнения операции присваивания A=A+D в головной программе ?
polym => ptg.cell ptc => ptg.cell ptc => ptg.object ptc => ptg.cell.next polym => ptg.cell.next integer, allocatable :: vx(:,:,:)[:] integer :: par[*]=1000 class (grid) :: G1[*] real, pointer :: TMP[*] type(grid) as[*,*]
и
. Данные находятся в файле data9.txt. В ответ введите целую часть результата.integer, public :: A = 2 real, public :: X = 2 real, private :: X = 2 integer, protected :: A = 2 integer, protected :: B = 3 В головной программе используется модуль farm, который содержит только тип animal и модульную процедуру PrintTitle.
Головная программа использует модуль farm.
В головной программе объявлена переменная type (animal) AN.
Укажите верное описание типа animal и процедуры PrintTitle, для организации вызова call AN.PrintTitle() из головной программы.
. Данные находятся в файле data14.txt. В ответ введите целую часть результата.init из модуля A
use mod_B A указать private init B указать public init A указать public A use mod_A, B => init use mod_B, only : Init PrintInfo coordinates next values err points
, где
- квадратная матрица,
-вектор. Данные находятся в файле записана по строкам). В ответ введите номер минимального по модулю элемента вектора
.
res=sin(2.0)*cos(2.0)
cos из модуля mod_F A указать public A gas_dynamics
gridparticle, в виде одномерного динамического массиваcomplex(8), в виде одномерных динамических массивовplot
, где
- треугольная квадратная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целую часть суммы модулей элементов главной диагонали матрицы
.pnt1 и pnt2 pnt1 и pnt3 pnt2 и pnt3 pnt1 и pnt2 и pnt3 k в результате выполнения оператора select type в следующем фрагменте программы ?
, где
- прямоугольная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целое значение от суммы элементов матрицы
.
class class(*) class() class* *class contains use module public interface final pass nopass deferred procedure /Qparallel/check:format /check:arg_temp_created /check:uninit /check:bounds /ccdefault:fortran math_M. Чтобы подключить еще
один модуль graph_M к головной программе следуетuse math_M, graph_M use math_M : graph_M public protected private extends pass /Qcoarray /CAF /CoArray /Qcoarray images = 0 /Qcoarray:shared
, где
- верхняя треугольная матрица,
и
прямоугольные матрицы./O1 /O2 /O3 /Ob1 /Ob2 используется в головной программе.
Объявлена переменная
type(card) cd
Укажите верные варианты доступа к полям производного типа.
cd.sparam cd.fparam cd.indicator.free cd.indic.plt.x1 cd.indic.plt.color(1:100:4) cobound ucobound lbound lcobound codimension /Qtcheck /Qx /Qb2 /Od /Qpar call random_number(CNEW) X=X+1 A=X*CNEW BNEW=B*X В головной программе объявлена переменная
type (roundrect) rc
Укажите верные варианты доступа к полям производного типа из головной программы.
rc.x1 rc.name rc.rectangle rc.color rc.center Coarray Images = 256.
CoArray-переменная CF, объявлена как type (cell) CF [2,2,3,4*]
. Данные находятся в файле data5.txt. В ответ введите целую часть суммы модулей полученного вектора.
!DEC$IDENT !DEC$PACK !DEC$OPTIONAL !DEC$MESSAGE !DECSIMD F после вызова процедуры callinit(1,2) и выполнения операции присваивания E=A+B в головной программе ?
pol_grd=>flw polym => flw.dist pol_grd => flw.param pol_grd => flw.grid polym => flw.grid.beta type (flow) :: pt[*]=flow(0.0,0.0,0.0,0.0) integer, allocatable :: A(:,:,:)[:] !complex(16), pointer :: B[:] real(4) :: AX(5)[*]=[1.0,2.0,0.0,5.0,0.0] !class(flow) :: pt[*]=spec(1.0,2.0,.FALSE.)
и
. Данные находятся в файле data10.txt. В ответ введите целую часть результата.real, protected :: X real, public :: X integer, public :: B integer, protected :: A integer, private :: B В головной программе используется модуль geom, который содержит только тип figure и модульную процедуру Modify.
Головная программа использует модуль geom.
В головной программе объявлена переменная
class (figure), allocatable :: FG.
Укажите верное описание типа figure и процедуры Modify, чтобы при вызове call FG.Modify(10) из головной программы, происходило изменение поля points в переменной FG.
. Данные находятся в файле data15.txt. В ответ введите целую часть результата.init из модуля A
use mod_A A указать private init B указать private init A указать public A use mod_A, A => init use mod_B, only : Init Add Draw операция " + " операция " - " VectorField Build
, где
- квадратная матрица,
-вектор. Данные находятся в файле записана по строкам). В ответ введите номер минимального по модулю элемента вектора
.
res=sin(2.0)*cos(2.0)
cos из модуля mod_F sin из модуля mod_F gas_dynamics
composite, который:
integer(2), в виде ссылкиinteger(8)
, где
- треугольная квадратная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целую часть суммы модулей элементов главной диагонали матрицы
.pnt1 и pnt2 pnt1 и pnt3 pnt2 и pnt3 pnt1 и pnt2 и pnt3 ex1 после вызова
call ex1.solve() в следующей программе ?
, где
- прямоугольная матрица,
-квадратная матрица. Данные находятся в файле и
записаны по строкам). В ответ введите целое значение от суммы элементов матрицы
.