База ответов ИНТУИТ

Программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel

<<- Назад к вопросам

Объявлены следующие типы и переменные.
  type cell    real next    real prev    logical stat  end type cell  type object    integer code    real    dist    real    radius  end type object  type grid    type (object) object    type (cell)   cell    integer xa,xb,ya,yb  end type grid  class (*), pointer :: polym  class (cell),  pointer  :: ptc  type  (grid),  target   :: ptg        
Какие справедливы прикрепления ссылок ?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
ptc => ptg.object
polym => ptg.cell(Верный ответ)
ptc => ptg.cell.next
polym => ptg.cell.next(Верный ответ)
ptc => ptg.cell(Верный ответ)
Похожие вопросы
Объявлены следующие типы и переменные.
  type cell    real next    real prev    logical stat  end type cell  type, extends (cell) :: object    integer code    real    dist    real    radius  end type object  type grid    type (object) object    integer n    integer xa,xb,ya,yb  end type grid  class (*), pointer :: polym  class (cell),  pointer  :: ptc  type  (grid),  target   :: ptg        
Какие справедливы прикрепления ссылок ?
Объявлены следующие типы и переменные.
  type grid    integer adr    real alfa    real beta  end type grid  type, extends (grid) :: flow    integer coord    real    dist    real    param  end type flow  type regime    type (flow) flw    real, allocatable :: ux(:,:,:), uy(:,:,:), uz(:,:,:)    real  R1, R2, R3  end type regime  class(*), pointer :: polym  class(regime), pointer :: pol_reg  type(flow), target   :: pol_flw        
Какие справедливы прикрепления ссылок ?
Объявлены следующие типы и переменные.
  type grid    integer adr    real alfa    real beta  end type grid  type, extends (grid) :: flow    integer coord    real    dist    real    param  end type flow  type, extends (flow) :: regime    real, allocatable :: ux(:,:,:), uy(:,:,:), uz(:,:,:)    real  R1, R2, R3  end type regime  class(*), pointer :: polym  class(grid), pointer :: pol_grd  type(flow), target   :: flw        
Какие справедливы прикрепления ссылок ?
Объявлены следующие типы и переменные.
  type sma    real p(100)    real mid(100)    logical res  end type sma  type, extends (sma) :: ssma    real middle  end type ssma  type uma    type (sma) sm(100)    complex p(100)    logical ret    character bis  end type uma  class (sma), pointer :: polym  type (uma),  target  :: um1  type (ssma), target  :: ssm1        
Какие справедливы прикрепления ссылки polym?
Какое значение будет присвоено переменной k в результате выполнения оператора select type в следующем фрагменте программы ?
type point  integer x, yend type pointtype, extends(point) :: point_ex  integer z  integer color  logical errorend type point_extype, extends(point_ex) :: point_phys  real vx  real vy  real vz  real tmend type point_phystype, extends(point_phys) :: point_mech  character(32) name  character(8)  codeend type point_mechinteger kclass (*), pointer :: ptrtype  (point_ex), target :: pt_exclass (point_phys), allocatable, target :: pt_phclass (point_mech), allocatable, target :: pt_mhallocate(pt_ph,source=point_phys(1,2,3,4,.true.,0.0,0.0,0.0,0.0))allocate(pt_mh,source=point_mech(5,6,7,8,.true.,0.0,0.0,0.0,0.0,"A","B"))ptr=>pt_ph  select type (ptr)    type is (point_ex);    k=ptr.x    class is (point);      k=ptr.y    class is (point_mech); k=ptr.color    class default;         k=0  end select ...
Модуль
module mod_1  type region    integer x(4)    real R  end type region  type blk    logical st(3)    character(5), public :: name(2)  end type blk  type NewType    type (region) reg(20)    type (blk)    bee(30)  end type NewTypeend module mod_1        

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

Объявлена переменная

type(NewType) NTУкажите верные варианты доступа к полям производного типа.
Даны два типа
  type grid    real(8) x1,y1,x2,y2    integer(8) adr  end type grid  type point    real(8) x    real(8) y  end type point
Создайте тип region, который содержит поля:
  • типа point, в виде одномерного динамического массива
  • типа real(8), в виде трехмерного динамического массива
  • В ответ введите размер в байтах переменной типа region
    Даны два типа описанных в модуле gas_dynamics
    module gas_dynamics  type grid    real(8), allocatable :: dat(:,:,:)    real(8), allocatable :: xcoord(:)    real(8), allocatable :: ycoord(:)    real(8), allocatable :: zcoord(:)  end type grid  type particle    real(8), allocatable, private :: ux(:,:,:)    real(8), allocatable, private :: uy(:,:,:)    real(8), allocatable, private :: uz(:,:,:)    real(8), allocatable, private :: tm(:,:,:)  end type particle...end module gas_dynamics
    Создайте тип plot, который:
  • наследует поля типа grid
  • содержит поле типа particle, в виде одномерного динамического массива
  • содержит два поля типа complex(8), в виде одномерных динамических массивов
  • В ответ введите размер в байтах переменной типа plot
    Модуль
    module mod_1  type plot    integer x1,y1,x2,y2    integer color(255)  end type plot  type indicator    type (plot) plt    logical, private :: free    character(4) date  end type indicator  type card    type (indicator) indic    integer fparam    integer sparam  end type cardend module mod_1        

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

    Объявлена переменная

    type(card) cdУкажите верные варианты доступа к полям производного типа.
    Какое значение будет присвоено переменной k в результате выполнения оператора select type в следующем фрагменте программы ?
    type point  integer x, yend type pointtype, extends(point) :: point_ex  integer zend type point_extype, extends(point_ex) :: point_phys  real vx  real tmend type point_phystype, extends(point_phys) :: point_mech  character(32) nameend type point_mechclass (point_ex), pointer :: polyclass (point), target, allocatable :: ptclass (point_ex), target, allocatable  :: pt_exclass (point_phys), target, allocatable  :: pt_phclass (point_mech), target, allocatable  :: pt_mhinteger kallocate (pt, source=point(1,2))allocate (pt_ex, source=point_ex(3,4,5))allocate (pt_ph, source=point_phys(6,7,8,0.0,9.0))allocate (pt_mh, source=point_mech(9,10,11,0.0,0.0,"ABC"))poly=>pt_mh  select type (poly)    class is (point_ex);   k=poly.x    class is (point_phys); k=poly.z    class default;         k=0  end select ...