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

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

Упражнение 1:
Номер 1
Основные назначения модулей

Ответ:

 (1) раздельное написание программ 

 (2) ясность и читаемость исходного текста программы 

 (3) инкапсуляция данных и процедур 

 (4) возможность использования процедур 

 (5) организация взаимодействия процедур 


Номер 2
Модуль может содержать

Ответ:

 (1) константы 

 (2) модульные процедуры 

 (3) внешние процедуры 

 (4) типы данных 

 (5) модульные переменные 


Номер 3
Переменные, объявленные как public

Ответ:

 (1) доступны модульным процедурам при несовпадении имен 

 (2) доступны в головной программе 

 (3) недоступны в головной программе 

 (4) доступны в головной программе, но их нельзя изменять 

 (5) недоступны модульным процедурам 


Номер 4
Переменные, объявленные как private

Ответ:

 (1) доступны модульным процедурам при несовпадении имен 

 (2) доступны в головной программе 

 (3) недоступны в головной программе 

 (4) доступны в головной программе, но их нельзя изменять 

 (5) недоступны модульным процедурам 


Номер 5
Переменные, объявленные как protected

Ответ:

 (1) доступны модульным процедурам при несовпадении имен 

 (2) доступны в головной программе 

 (3) недоступны в головной программе 

 (4) доступны в головной программе, но их нельзя изменять 

 (5) недоступны модульным процедурам 


Упражнение 2:
Номер 1
Процедуры, описанные атрибутом public

Ответ:

 (1) доступны модульным процедурам при несовпадении имен 

 (2) доступны в головной программе 

 (3) недоступны в головной программе 

 (4) доступны в головной программе, но их нельзя изменять 

 (5) нельзя объявлять 


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

Ответ:

 (1) доступны модульным процедурам при несовпадении имен 

 (2) доступны в головной программе 

 (3) недоступны в головной программе 

 (4) доступны в головной программе, но их нельзя изменять 

 (5) нельзя объявлять 


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

Ответ:

 (1) доступны модульным процедурам при несовпадении имен 

 (2) доступны в головной программе 

 (3) недоступны в головной программе 

 (4) доступны в головной программе, но их нельзя изменять 

 (5) нельзя объявлять 


Номер 4
Подключение модуля к головной программе происходит посредством
оператора

Ответ:

 (1) contains 

 (2) use 

 (3) module 

 (4) public 

 (5) interface 


Номер 5
Подключение модуля к внешней процедуре происходит посредством
оператора

Ответ:

 (1) contains 

 (2) use 

 (3) module 

 (4) public 

 (5) interface 


Упражнение 3:
Номер 1
Укажите атрибут позволяющий модульным переменным менять значения
в головной программе

Ответ:

 (1) private 

 (2) public 

 (3) save 

 (4) protected 

 (5) automatic 


Номер 2
Укажите атрибут используемый для инкапсуляции данных модуля

Ответ:

 (1) private 

 (2) public 

 (3) save 

 (4) protected 

 (5) automatic 


Номер 3
Укажите оператор используемый для инкапсуляции процедур модуля

Ответ:

 (1) private 

 (2) public 

 (3) save 

 (4) protected 

 (5) automatic 


Номер 4
Перегрузка процедур объявляется при помощи операторов

Ответ:

 (1) interface и module procedure 

 (2) interface и contains 

 (3) use и private 

 (4) use и module procedure 

 (5) private и contains 


Номер 5
В программе используется модуль math_M. Чтобы подключить еще
один модуль graph_M к головной программе следует

Ответ:

 (1) использовать еще один оператор use 

 (2) записать use math_M, graph_M 

 (3) запсиать use math_M : graph_M 

 (4) использовать оператор contains 

 (5) использовать оператор interface 


Упражнение 4:
Номер 1
Объявлен следующий модуль
        
module matrix
    integer :: A=100, B=200, C=300
    integer, private :: S=9
    integer, protected :: P=8
    private
      integer :: Q=100, W=200
      integer :: N=500
end module matrix
        
Какие из перечисленных модульных переменных могут быть использованы в
качестве границ размещаемых массивов в вызывающей головной программе?

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)

 (6)

 (7)

 (8)

 (9) нет вариантов 


Номер 2
Объявлен следующий модуль
        
module matrix
    integer :: A=100, B=200, C=300
    integer, private :: S=9
    integer, protected :: P=8
    private, integer :: Q=100, W=200
       integer :: N=500
end module matrix
        
Какие из перечисленных модульных переменных могут быть использованы в
качестве границ размещаемых массивов в вызывающей головной программе?

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)

 (6)

 (7)

 (8)

 (9) нет вариантов 


Номер 3
Объявлен следующий модуль
        
module matrix
  private
   integer :: A=100, B=200, C=300
   complex, private :: S=9
   integer, protected :: P=8 
   integer :: Q=100, W=200
   integer, public :: N=500
end module matrix
        
Какие из перечисленных модульных переменных могут быть использованы
качестве границ размещаемых массивов в вызывающей головной программе?

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)

 (6)

 (7)

 (8)

 (9) нет вариантов 


Номер 4
Объявлен следующий модуль
        
module matrix
  public
   integer :: A=100, B=200, C=300
   complex, private :: S=9
   integer, protected :: P=8
   integer :: Q=100, W=200
   integer, private :: N=500
end module matrix
        
Какие из перечисленных модульных переменных могут быть использованы в
качестве границ размещаемых массивов в вызывающей головной программе?

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)

 (6)

 (7)

 (8)

 (9) нет вариантов 


Номер 5
Объявлен следующий модуль
        
module matrix
  private
   integer :: A=100, B=200, C=300
   complex, private :: S=9
   integer, protected :: P=8
   integer :: Q=100, W=200
   integer, private :: N=500
end module matrix
        
Какие из перечисленных модульных переменных могут быть использованы в
качестве границ размещаемых массивов в вызывающей головной программе?

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)

 (6)

 (7)

 (8)

 (9) нет вариантов 


Упражнение 5:
Номер 1
Объявлен модуль и головная программа
        
module matrix
  real :: M=1000
  real, private :: MP=3000
  real, protected :: MT = 5000
  integer, public :: S1=50
  integer, protected :: S2=70
end module matrix

PROGRAM prog
  use matrix, only : M, MT
  implicit none
  integer :: MP=5000
  integer :: S1=10, S2=30
  ...
        
Какие из вариантов выражений допустимы в головной программе ?

Ответ:

 (1) MT=M+S1 

 (2) S1=MP*MT 

 (3) M=MT+1+MP 

 (4) call random_number(MT) 

 (5) нет вариантов 


Номер 2
Объявлен модуль и головная программа
        
module matrix
 real :: A=1000
 real, private   :: B=3000
 real, protected :: C=5000
 integer, public :: D=50
 integer, protected :: F=70
end module matrix

PROGRAM prog
 use matrix, only : D, F, A
 implicit none
 real :: C=5000, B=10
 ...
        
Какие из вариантов выражений допустимы в головной программе ?

Ответ:

 (1) D=C*F+B 

 (2) call random_number(A) 

 (3) call random_number(F) 

 (4) F=F+A 

 (5) нет вариантов 


Номер 3
Объявлен модуль и головная программа
        
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=70
end module matrix

PROGRAM prog
 use matrix, only : X, BN => B
 implicit none
 real :: C=5000, B=10
 integer :: Y=800
 ...
        
Какие из вариантов выражений допустимы в головной программе ?

Ответ:

 (1) call random_number(X) 

 (2) call random_number(BN) 

 (3) X=Y+C*B 

 (4) do X=1,10 end do 

 (5) нет вариантов 


Номер 4
Объявлен модуль и головная программа
        
module matrix
 real, private   :: A=1.6
 real, public    :: B=5.8
 real, protected :: C=1.0E+10
 private
 integer :: X=50
 integer :: Y=70
end module matrix

PROGRAM prog
 use matrix, only : BNEW => B
 implicit none
 real :: C=5000, B=10
 integer :: Y=800
 ...
        
Какие из вариантов выражений допустимы в головной программе ?

Ответ:

 (1) call random_number(X) 

 (2) call random_number(BN) 

 (3) C=Y*B 

 (4) BNEW=B+1 

 (5) нет вариантов 


Номер 5
Объявлен модуль и головная программа
        
module matrix
 public
 real, private   :: A=1.6
 real, public    :: B=5.8
 real, protected :: C=1.0E+10
 integer :: X=50
 integer :: Y=70
end module matrix

PROGRAM prog
 use matrix, BNEW => B, CNEW => C
 implicit none
 integer XP, YP
 ...
        
Какие из вариантов выражений допустимы в головной программе ?

Ответ:

 (1) call random_number(CNEW) 

 (2) X=X+1 

 (3) A=X*CNEW 

 (4) BNEW=B*X 

 (5) нет вариантов 


Упражнение 6:
Номер 1
Описан модуль, который подключен к головной программе
        
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 F
end module mod_1
        
        Какой результат вернет функция F после вызова процедуры init в головной программе ?
        

Ответ:

 531 


Номер 2
Описан модуль, который подключен к головной программе
        
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 F
end module mod_1
        
Какой результат вернет функция F после вызова процедуры init_D_E(2,3) в головной программе ?
        

Ответ:

 27 


Номер 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 F
end module mod_1
        
Какой результат вернет функция F после вызова процедуры init_D_E(4,5) в головной программе ?
        

Ответ:

 49 


Номер 4
Описан модуль, который подключен к головной программе
        
module mod_1
 integer, public :: A=1,B=1,C=1
 integer, protected :: D=5, E
 public  F, init
 contains
   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 F
end module mod_1
        
Какой результат вернет функция F после выполнения операции присваивания A=A+D в головной программе ?
        

Ответ:

 11 


Номер 5
Описан модуль, который подключен к головной программе
        
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 F
end module mod_1
        
Какой результат вернет функция F после вызова процедуры callinit(1,2) и выполнения операции присваивания E=A+B в головной программе ?
        

Ответ:

 12 


Упражнение 7:
Номер 1
Выберите допустимые объявления модульных переменных для данного варианта программы
        
module mod_A
implicit none

! здесь следует объявить модульные переменные

 public init_solver
 contains
   subroutine init_solver(val)
     real val
     x=val*1.0E-10
   end subroutine init_solver
end module mod_A

PROGRAM prog
 use mod_A, Anew => A, Bnew => B
 implicit none

 Anew = Anew + 1
 write(*,*) Bnew+1
 call init_solver(-1.0)
 Anew=Bnew+1
end        

Ответ:

 (1) integer, private :: A 

 (2) integer, public :: A 

 (3) integer, protected :: B 

 (4) real, private :: X 

 (5) character, public :: B 


Номер 2
Выберите допустимые объявления модульных переменных для данного варианта программы
        
module mod_A
implicit none

! здесь следует объявить модульные переменные

 public init_solver
 contains
   subroutine init_solver(val)
     real val
     x=val*sin(val)+A
   end subroutine init_solver
end module mod_A

PROGRAM prog
 use mod_A, Anew => A, Bnew => B
 implicit none

 Bnew=1+Anew
 write(*,*) Bnew+Anew+X
 call init_solver(-1.0)
end
        

Ответ:

 (1) real, protected :: X 

 (2) integer, private :: A 

 (3) integer, protected :: A 

 (4) integer, protected :: B 

 (5) integer, public :: B 


Номер 3
Выберите допустимые объявления модульных переменных для данного варианта программы
        
module mod_A
implicit none

! здесь следует объявить модульные переменные

 public init_solver
 contains
   subroutine init_solver(x)
     real x
     A=A*0.001
     B=x+A
   end subroutine init_solver
end module mod_A

PROGRAM prog
 use mod_A, Bnew => B
 implicit none

 Bnew=A*2
 write(*,*) x+2
 call init_solver(0.0)
end
        

Ответ:

 (1) real, protected :: X = 2 

 (2) real, private :: X = 2 

 (3) integer, protected :: A = 2 

 (4) integer, public :: B = 3 

 (5) integer, private :: A = 2 


Номер 4
Выберите допустимые объявления модульных переменных для данного варианта программы
        
module mod_A
implicit none

! здесь следует объявить модульные переменные

 public init_solver
 contains
   subroutine init_solver(x)
     real x
     A=A**2
     B=x+A
   end subroutine init_solver
end module mod_A

PROGRAM prog
 use mod_A, Anew => A
 implicit none

 x=1.5
 Anew=x+1
 write(*,*) Anew+B
 call init_solver(1.6)
end
        

Ответ:

 (1) integer, public :: A = 2 

 (2) real, public :: X = 2 

 (3) real, private :: X = 2 

 (4) integer, protected :: A = 2 

 (5) integer, protected :: B = 3 


Номер 5
Выберите допустимые объявления модульных переменных для данного варианта программы
        
module mod_A
implicit none

! здесь следует объявить модульные переменные

 public init_solver
 contains
   subroutine init_solver(val)
     real val
     B=val*A
   end subroutine init_solver
end module mod_A

PROGRAM prog
 use mod_A, Anew => A, Xnew => X
 implicit none

 Xnew=2.0
 write(*,*) B+Anew+Xnew
 call init_solver(0.0)
end
        

Ответ:

 (1) real, protected :: X 

 (2) real, public :: X 

 (3) integer, public :: B 

 (4) integer, protected :: A 

 (5) integer, private :: B 


Упражнение 8:
Номер 1
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру 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  
  

Ответ:

 (1) в головной программе записать use mod_B, init_B => init  

 (2) в модуле A указать protected init 

 (3) в модуле B указать private init 

 (4) в модуле A указать public A 

 (5) в головной программе записать use mod_A, init_A => init 

 (6) в головной программе записать use mod_B, only : 


Номер 2
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля B 
        
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() ! вызываем процедуру из модуля B
end
        

Ответ:

 (1) в головной программе записать use mod_B, only :  

 (2) в модуле A указать public init 

 (3) в модуле B указать private init 

 (4) в модуле A указать private init 

 (5) в головной программе записать use mod_A, init_A => init 

 (6) в головной программе записать use mod_B, init_B => init 


Номер 3
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру init из модуля B
        
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() ! вызываем процедуру из модуля B
end
        

Ответ:

 (1) в головной программе записать use mod_A, only : 

 (2) в модуле A указать protected init 

 (3) в модуле B указать public init 

 (4) закомментировать use mod_A 

 (5) в головной программе записать use mod_B, B => init 


Номер 4
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру 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
        

Ответ:

 (1) закомментировать use mod_B 

 (2) в модуле A указать private init 

 (3) в модуле B указать public init 

 (4) в модуле A указать public A 

 (5) в головной программе записать use mod_A, B => init 

 (6) в головной программе записать use mod_B, only : 


Номер 5
Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру 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
        

Ответ:

 (1) закомментировать use mod_A 

 (2) в модуле A указать private init 

 (3) в модуле B указать private init 

 (4) в модуле A указать public A 

 (5) в головной программе записать use mod_A, A => init 

 (6) в головной программе записать use mod_B, only : 


Упражнение 9:
Номер 1
Какие функции используются в выражении res=sin(2.0)*cos(2.0) 
        
module mod_F
 contains

 real function sin(x)
   sin=sqrt(sqrt(sqrt(x)))
 end function sin

 real function cos(x)
   cos=x**2.0**2.0
 end function cos

end module mod_F

PROGRAM prog
 use mod_F
 implicit none
 real res
 res=sin(2.0)*cos(1.0)  
end
  

Ответ:

 (1) стандартная функция вычисления синуса 

 (2) стандартная функция вычисления косинуса 

 (3) функция cos из модуля mod_F 

 (4) функция sin из модуля mod_F 


Номер 2
Какие функции используются в выражении res=sin(2.0)*cos(2.0) 
        
module mod_F
 contains

 real function sin(x)
   sin=sqrt(sqrt(sqrt(x)))
 end function sin

 real function cos(x)
   cos=x**2.0**2.0
 end function cos

end module mod_F

PROGRAM prog
 use mod_F, only : sin
 implicit none
 real res
 res=sin(2.0)*cos(1.0)  
end
        

Ответ:

 (1) стандартная функция вычисления синуса 

 (2) стандартная функция вычисления косинуса 

 (3) функция cos из модуля mod_F 

 (4) функция sin из модуля mod_F 


Номер 3
Какие функции используются в выражении res=sin(2.0)*cos(2.0)
        
module mod_F
 contains

 real function sin(x)
   sin=sqrt(sqrt(sqrt(x)))
 end function sin

 real function cos(x)
   cos=x**2.0**2.0
 end function cos

end module mod_F

PROGRAM prog
 use mod_F, only : cos
 implicit none
 real res
 res=sin(2.0)*cos(1.0)  
end
        

Ответ:

 (1) стандартная функция вычисления синуса 

 (2) стандартная функция вычисления косинуса 

 (3) функция cos из модуля mod_F 

 (4) функция sin из модуля mod_F 


Номер 4
Какие функции используются в выражении res=sin(2.0)*cos(2.0)
        
module mod_F
 contains

 real function sin(x)
   sin=sqrt(sqrt(sqrt(x)))
 end function sin

 real function cos(x)
   cos=x**2.0**2.0
 end function cos

end module mod_F

PROGRAM prog
 use mod_F, only : sin, cos
 implicit none
 real res
 res=sin(2.0)*cos(1.0)  
end
        

Ответ:

 (1) стандартная функция вычисления синуса 

 (2) стандартная функция вычисления косинуса 

 (3) функция cos из модуля mod_F 

 (4) в модуле A указать public A 


Номер 5
Какие функции используются в выражении res=sin(2.0)*cos(2.0) 
        
module mod_F
 contains

 real function sin(x)
   sin=sqrt(sqrt(sqrt(x)))
 end function sin

 real function cos(x)
   cos=x**2.0**2.0
 end function cos

end module mod_F

PROGRAM prog
 use mod_F, only : cos, sinx=>sin
 implicit none
 real res
 res=sin(256.0)  
 write(*,*) res
end
        

Ответ:

 (1) стандартная функция вычисления синуса 

 (2) стандартная функция вычисления косинуса 

 (3) функция cos из модуля mod_F 

 (4) функция sin из модуля mod_F 


Упражнение 10:
Номер 1
Имеется ли конфликт процедур при задании перегруженной процедуры. Если да, то укажите, какие именно. 
        
module mod_E
 interface point
   module procedure pnt1, pnt2, pnt3
 end interface
contains  
 real function pnt1(x,y)
   real x,y
   pnt1=x+y
 end function pnt1
 real function pnt2(x,y)
   integer x,y
   pnt2=x+y
 end function pnt2
 character function pnt3(x,y)
   real x
   integer y
   pnt3=achar(mod(int(x),20)*mod(y,2))
 end function pnt3
end module mod_E
  

Ответ:

 (1) pnt1 и pnt2 

 (2) pnt1 и pnt3 

 (3) pnt2 и pnt3 

 (4) конфликты отсутствуют 

 (5) pnt1 и pnt2 и pnt3 


Номер 2
Имеется ли конфликт процедур при задании перегруженной процедуры. Если да, то укажите, какие именно.
        
module mod_E
 interface point
   module procedure pnt1, pnt2, pnt3
 end interface
contains  
 real function pnt1(x,y)
   real x
   integer y
   pnt1=x+y
 end function pnt1
 real function pnt2(x,y)
   integer x,y
   pnt2=x+y
 end function pnt2
 character function pnt3(x,y)
   real x
   integer y
   pnt3=achar(mod(int(x),20)*mod(y,2))
 end function pnt3
end module mod_E
        

Ответ:

 (1) pnt1 и pnt2 

 (2) pnt1 и pnt3 

 (3) pnt2 и pnt3 

 (4) конфликты отсутствуют 

 (5) pnt1 и pnt2 и pnt3 


Номер 3
Имеется ли конфликт процедур при задании перегруженной процедуры. Если да, то укажите, какие именно.
        
module mod_E
 interface point
   module procedure pnt1, pnt2, pnt3
 end interface
contains  
 real function pnt1(x,y)
   integer x,y
   pnt1=x+y
 end function pnt1
 logical function pnt2(x,y)
   integer x,y
   pnt2=x+y<1000
 end function pnt2
 character function pnt3(x,y)
   real x
   integer y
   pnt3=achar(mod(int(x),20)*mod(y,2))
 end function pnt3
end module mod_E
        

Ответ:

 (1) pnt1 и pnt2 

 (2) pnt1 и pnt3 

 (3) pnt2 и pnt3 

 (4) конфликты отсутствуют 

 (5) pnt1 и pnt2 и pnt3 


Номер 4
Имеется ли конфликт процедур при задании перегруженной процедуры. Если да, то укажите, какие именно.
        
module mod_E
 interface point
   module procedure pnt1, pnt2, pnt3
 end interface
contains  
 logical function pnt1(x,y)
   integer x,y
   pnt1=x+y<1000
 end function pnt1
 real function pnt2(x,y)
   real x
   real y
   pnt2=x+y
 end function pnt2
 real function pnt3(x,y)
   real y
   real x
   pnt3=x*y+x**y
 end function pnt3
end module mod_E
        

Ответ:

 (1) pnt1 и pnt2 

 (2) pnt1 и pnt3 

 (3) pnt2 и pnt3 

 (4) конфликты отсутствуют 

 (5) pnt1 и pnt2 и pnt3 


Номер 5
Имеется ли конфликт процедур при задании перегруженной процедуры. Если да, то укажите, какие именно. 
        
module mod_E
 interface point
   module procedure pnt1, pnt2, pnt3
 end interface
contains  
 logical function pnt1(x,y)
   real x,y
   pnt1=x+y<1000
 end function pnt1
 real function pnt2(x,y)
   real x
   real y
   pnt2=x+y
 end function pnt2
 real function pnt3(x,y)
   real y
   real x
   pnt3=x*y+x**y
 end function pnt3
end module mod_E
        

Ответ:

 (1) pnt1 и pnt2 

 (2) pnt1 и pnt3 

 (3) pnt2 и pnt3 

 (4) конфликты отсутствуют 

 (5) pnt1 и pnt2 и pnt3 




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