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

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

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

Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля B
module mod_A contains   subroutine init     write(*,*) "Initializing A"   end subroutine initend module mod_Amodule mod_B contains   subroutine init     write(*,*) "Initializing B"   end subroutine initend module mod_BPROGRAM prog use mod_A use mod_B implicit none call init() ! вызываем процедуру из модуля Bend        

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

Варианты ответа
закомментировать use mod_A(Верный ответ)
в модуле B указать public init
в головной программе записать use mod_B, B => init
в модуле A указать protected init
в головной программе записать use mod_A, only :(Верный ответ)
Похожие вопросы
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля B
module mod_A contains   subroutine init     write(*,*) "Initializing A"   end subroutine initend module mod_Amodule mod_B contains   subroutine init     write(*,*) "Initializing B"   end subroutine initend module mod_BPROGRAM prog use mod_A use mod_B implicit none call init() ! вызываем процедуру из модуля Bend        
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля A
module mod_A contains   subroutine init     write(*,*) "Initializing A"   end subroutine initend module mod_Amodule mod_B contains   subroutine init     write(*,*) "Initializing B"   end subroutine initend module mod_BPROGRAM prog use mod_A use mod_B implicit none call init() ! вызываем процедуру из модуля Aend    
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля A
module mod_A contains   subroutine init     write(*,*) "Initializing A"   end subroutine initend module mod_Amodule mod_B contains   subroutine init     write(*,*) "Initializing B"   end subroutine initend module mod_BPROGRAM prog use mod_A use mod_B implicit none call init() ! вызываем процедуру из модуля Aend        
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля A
module mod_A contains   subroutine init     write(*,*) "Initializing A"   end subroutine initend module mod_Amodule mod_B contains   subroutine init     write(*,*) "Initializing B"   end subroutine initend module mod_BPROGRAM prog use mod_A use mod_B implicit none call init() ! вызываем процедуру из модуля Aend        
Описан модуль, который подключен к головной программе
module mod_1 integer, private :: A,B,C private SetA public  F, init contains   subroutine SetA(X)     integer X     A=X+1   end subroutine SetA   subroutine init()     call SetA(500); B=20; C=10   end subroutine   integer function F     F=A+B+C   end function Fend module mod_1        
Какой результат вернет функция F после вызова процедуры init в головной программе ?
Описан модуль, который подключен к головной программе
module mod_1 integer, protected :: A=1,B=2,C=3 integer, public :: D=7, E=8 public  F, init contains   subroutine init(x,y)     integer x,y     A=x+y   end subroutine init   integer function F     F=A+D+E-C   end function Fend module mod_1        
Какой результат вернет функция F после вызова процедуры callinit(1,2) и выполнения операции присваивания E=A+B в головной программе ?
Описан модуль, который подключен к головной программе
module mod_1 integer, protected :: A=1,B=1,C=1 integer, private :: D, E private SetA public  F, init contains   subroutine SetA(X)     integer X     A=X-1   end subroutine SetA   subroutine init_D_E(x,y)     integer x,y     D=X*10; E=Y*2; call SetA(0)   end subroutine init_D_E   integer function F     F=A+D+E   end function Fend module mod_1        
Какой результат вернет функция F после вызова процедуры init_D_E(4,5) в головной программе ?
Выберите допустимые объявления модульных переменных для данного варианта программы
module mod_Aimplicit none! здесь следует объявить модульные переменные public init_solver contains   subroutine init_solver(x)     real x     A=A*0.001     B=x+A   end subroutine init_solverend module mod_APROGRAM prog use mod_A, Bnew => B implicit none Bnew=A*2 write(*,*) x+2 call init_solver(0.0)end        
Описан модуль, который подключен к головной программе
module mod_1 integer, private :: A=1,B=1,C=1 integer, protected :: D, E private SetA public  F, init contains   subroutine SetA(X)     integer X     A=X+1   end subroutine SetA   subroutine init_D_E(x,y)     integer x,y     D=X*10; E=Y*2   end subroutine init_D_E   integer function F     F=A+D+E   end function Fend module mod_1        
Какой результат вернет функция F после вызова процедуры init_D_E(2,3) в головной программе ?
Выберите допустимые объявления модульных переменных для данного варианта программы
module mod_Aimplicit none! здесь следует объявить модульные переменные public init_solver contains   subroutine init_solver(x)     real x     A=A**2     B=x+A   end subroutine init_solverend module mod_APROGRAM prog use mod_A, Anew => A implicit none x=1.5 Anew=x+1 write(*,*) Anew+B call init_solver(1.6)end