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

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

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

Процедуры, описанные атрибутом protected

(Отметьте один правильный вариант ответа.)

Варианты ответа
доступны в головной программе, но их нельзя изменять
недоступны в головной программе
нельзя объявлять(Верный ответ)
доступны модульным процедурам при несовпадении имен
доступны в головной программе
Похожие вопросы
Процедуры, описанные атрибутом private
Процедуры, описанные атрибутом public
Процедуры, описанные атрибутом private
Объявлен модуль и головная программа
module matrix real :: A=1000 real, private   :: B=3000 real, protected :: C=5000 integer, public :: D=50 integer, protected :: F=70end module matrixPROGRAM prog use matrix, only : D, F, A implicit none real :: C=5000, B=10 ...        
Какие из вариантов выражений допустимы в головной программе ?
Объявлен модуль и головная программа
module matrix real, public    :: A=1.6 real, protected :: B=5.8 real, private   :: C=1.0E+10 integer, protected :: X=50 integer, private   :: Y=70end module matrixPROGRAM prog use matrix, only : X, BN => B implicit none real :: C=5000, B=10 integer :: Y=800 ...        
Какие из вариантов выражений допустимы в головной программе ?
Объявлен модуль и головная программа
module matrix  real :: M=1000  real, private :: MP=3000  real, protected :: MT = 5000  integer, public :: S1=50  integer, protected :: S2=70end module matrixPROGRAM prog  use matrix, only : M, MT  implicit none  integer :: MP=5000  integer :: S1=10, S2=30  ...        
Какие из вариантов выражений допустимы в головной программе ?
Переменные, объявленные как protected
Описан модуль, который подключен к головной программе
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, 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_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) в головной программе ?