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

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

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

Даны два типа
  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
    Даны два типа описанных в модуле hydro
    module hydro  type point    real(8) x    real(8) y  end type point  type, extends (point) :: expoint    real(16), allocatable :: x1,y1,x2,y2    character(8) code  end type expoint...end module hydro
    В тип expoint добавляются две модульные процедуры procA и procB. Процедуры не имеют формальных параметров. На сколько изменится размер в байтах переменной типа expoint после добавления процедур ?
    Даны два типа
      type person    character(64) name    character(64) lastname  end type person  type robot    character(32) mech    integer(8)    period  end type robot
    Создайте тип office, который
  • наследует тип person
  • содержит поле типа robot, в виде одномерного динамического массива
  • содержит поле типа character(64), являющееся ссылкой
  • В ответ введите размер в байтах переменной типа office
    Даны два типа описанных в модуле gas_dynamics
      type base    complex(8), allocatable :: points(:)    logical,    allocatable :: errors(:)    integer, private :: size  end type base  type, extends(base) :: baseX    character(32) file    character(32) name    logical       stat  end type baseX
    Создайте тип composite, который:
  • содержит поле типа baseX, в виде динамической переменной
  • содержит поле типа integer(2), в виде ссылки
  • содержит поле типа integer(8)
  • В ответ введите размер в байтах переменной типа composite
    Модуль
    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    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        
    Какие справедливы прикрепления ссылок ?
    В головной программе используется модуль flow. Объявлена переменная PT типа point. Какие из процедур в типе point могут изменить приватную часть переменной PT ?
    module flow  type point    integer x    integer y    real, private :: cp  contains    procedure, nopass :: proc1    procedure proc2    procedure, pass :: proc3    procedure, nopass :: proc4    procedure proc5    procedure show  end type point  contains    subroutine proc1(pt,val)      type(point) pt      real val      pt.cp = val    end subroutine proc1    subroutine proc2(pt)      class(point) pt      pt.cp=real(pt.x+pt.y)    end subroutine proc2    subroutine proc3(pt)      class(point) pt      integer tmp      tmp=pt.x; pt.x=pt.y; pt.y=tmp    end subroutine proc3    subroutine proc4(pt)      type(point) pt      if (pt.cp<=0) write(*,*) "ERROR"    end subroutine proc4    subroutine proc5(pt,M,N,S)      class(point) pt      integer M,N      real, optional :: S      pt.x=pt.x+N      pt.y=pt.y+M      if (present(S)) call random_number(pt.cp)    end subroutine proc5end module flow        
    Какое значение будет присвоено переменной 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 ...
    Объявлены следующие типы и переменные.
      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        
    Какие справедливы прикрепления ссылок ?