Главная /
Программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel /
В головной программе используется модуль flow. Объявлена переменная PT типа point. Какие из процедур в типе point могут изменить приватную часть переменной PT ? module flow type point integer x integer y real, private :: cp contains procedure, nopass :: p
В головной программе используется модуль flow. Объявлена переменная PT типа point. Какие из процедур в типе point могут изменить приватную часть переменной PT ?
module flow
type point
integer x
integer y
real, private :: cp
contains
procedure, nopass :: proc1
procedure proc2
procedure, pass :: proc3
procedure, nopass :: proc4
procedure proc5
procedure show
end type point
contains
subroutine proc1(pt,val)
type(point) pt
real val
pt.cp = val
end subroutine proc1
subroutine proc2(pt)
class(point) pt
pt.cp=real(pt.x+pt.y)
end subroutine proc2
subroutine proc3(pt)
class(point) pt
integer tmp
tmp=pt.x; pt.x=pt.y; pt.y=tmp
end subroutine proc3
subroutine proc4(pt)
type(point) pt
if (pt.cp<=0) write(*,*) "ERROR"
end subroutine proc4
subroutine proc5(pt,M,N,S)
class(point) pt
integer M,N
real, optional :: S
pt.x=pt.x+N
pt.y=pt.y+M
if (present(S)) call random_number(pt.cp)
end subroutine proc5
end module flow
вопрос
Правильный ответ:
proc1
proc2
proc3
proc4
proc5
Сложность вопроса
82
Сложность курса: Программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel
75
Оценить вопрос
Комментарии:
Аноним
спасибо за ответ
20 дек 2016
Аноним
спасибо за тест
28 ноя 2016
Другие ответы на вопросы из темы программирование интуит.
- # Данная программа компилируется с ошибкой. Какие варианты изменений в программе можно выполнить, чтобы из головной программы вызвать процедуру 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
- # Неограниченно полиморфная переменная объявляется при помощи оператора
- # Даны два типа описанных в модуле gas_dynamics module gas_dynamics type grid real(8), allocatable :: dat(:,:,:) real(8), allocatable :: xcoord(:) real(8), allocatable :: ycoord(:) real(8), allocatable :: zcoord(:) end type grid type particle real(8), allocatable, private :: ux(:,:,:) real(8), allocatable, private :: uy(:,:,:) real(8), allocatable, private :: uz(:,:,:) real(8), allocatable, private :: tm(:,:,:) end type particle ... end module gas_dynamics Создайте тип plot, который: наследует поля типа gridсодержит поле типа particle, в виде одномерного динамического массивасодержит два поля типа complex(8), в виде одномерных динамических массивов В ответ введите размер в байтах переменной типа plot
- # Каждая копия программы генерирует массив из случайных чисел. Каждая копия программы должна записать массив целиком в файл C:\datа.txt. Какой оператор следует использовать при записи данных в файл ?
- # В каком разделе находится описание подпрограммы hemm ?