Главная /
Программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel /
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля A module mod_A contains subroutine init write(*,*) "Initializing A" end subroutine init end module
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init
из модуля A
module mod_A
contains
subroutine init
write(*,*) "Initializing A"
end subroutine init
end module mod_A
module mod_B
contains
subroutine init
write(*,*) "Initializing B"
end subroutine init
end module mod_B
PROGRAM prog
use mod_A
use mod_B
implicit none
call init() ! вызываем процедуру из модуля A
end
вопрос
Правильный ответ:
закомментировать
use mod_B
в модуле
A
указать private init
в модуле
B
указать public init
в модуле
A
указать public A
в головной программе записать
use mod_A, B => init
в головной программе записать
use mod_B, only :
Сложность вопроса
85
Сложность курса: Программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel
75
Оценить вопрос
Комментарии:
Аноним
просто спасибо
25 мар 2019
Аноним
Зачёт сдал. Бегу пить отмечать зачёт по тестам
18 сен 2017
Другие ответы на вопросы из темы программирование интуит.
- # Дан модуль, который используется в головной программе module mod_1 type rectangle integer x1,y1,x2,y2 integer, private :: color character(16), private :: name = "REC_0001" end type rectangle type, extends (rectangle) :: roundrect integer r1, r2 real center end type roundrect end module mod_1 В головной программе объявлена переменная type (roundrect) rc Укажите верные варианты доступа к полям производного типа из головной программы.
- # Какое значение будет присвоено переменной k в результате выполнения оператора select type в следующем фрагменте программы ? type point integer x, y end type point type, extends(point) :: point_ex integer z integer color logical error end type point_ex type, extends(point_ex) :: point_phys real vx real vy real vz real tm end type point_phys type, extends(point_phys) :: point_mech character(32) name character(8) code end type point_mech integer k class (*), pointer :: ptr type (point_ex), target :: pt_ex class (point_phys), allocatable, target :: pt_ph class (point_mech), allocatable, target :: pt_mh allocate(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 ...
- # Какое значение будет присвоено переменной k в результате выполнения оператора select type в следующем фрагменте программы ? type point integer x, y end type point type, extends(point) :: point_ex integer z end type point_ex type, extends(point_ex) :: point_phys real vx real tm end type point_phys type, extends(point_phys) :: point_mech character(32) name end type point_mech class (point_ex), pointer :: poly class (point), target, allocatable :: pt class (point_ex), target, allocatable :: pt_ex class (point_phys), target, allocatable :: pt_ph class (point_mech), target, allocatable :: pt_mh integer k allocate (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 ...
- # Укажите верные объявления coarray-переменных
- # Укажите верные имена *.mod файлов входящих в состав MKL