Главная / Программирование /
Программирование больших вычислительных задач на современном Фортране с использованием компиляторов 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) A 
 (2) B 
 (3) C 
 (4) S 
 (5) P 
 (6) Q 
 (7) W 
 (8) N 
 (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) A 
 (2) B 
 (3) C 
 (4) S 
 (5) P 
 (6) Q 
 (7) W 
 (8) N 
 (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) A 
 (2) B 
 (3) C 
 (4) S 
 (5) P 
 (6) Q 
 (7) W 
 (8) N 
 (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) A 
 (2) B 
 (3) C 
 (4) S 
 (5) P 
 (6) Q 
 (7) W 
 (8) N 
 (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) A 
 (2) B 
 (3) C 
 (4) S 
 (5) P 
 (6) Q 
 (7) W 
 (8) N 
 (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