Форум программистов, компьютерный форум, киберфорум
Наши страницы
Fortran
Войти
Регистрация
Восстановить пароль
 
Zigfrid
11 / 11 / 1
Регистрация: 24.11.2015
Сообщений: 358
Завершенные тесты: 1
1

Что возвращает процедура?

11.11.2016, 09:08. Просмотров 329. Ответов 4
Метки нет (Все метки)

Не могу понять, что тут процедура принимает в качестве аргументов, а что возвращает?

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
subroutine Phi(Omega,F,n,m,eps)
implicit none
integer i, j, n, m
real*8 F(n,m), F_n(n,m) ,eps ,dt, h, Fs, h2, Fs_n, Omega(n,m)
 
h=1d0/(n-1)
h2=h*h
dt=0.2d0*h2
 
Fs=1d0
Fs_n=0d0
 
do while (abs(Fs_n-Fs)>abs(eps*Fs))
 
 do j=2,m-1
    do i=2,n-1
       F_n(i,j)= F(i,j)+(dt/h2)*(F(i+1,j)+F(i,j+1)+F(i-1,j)+F(i,j-1)-4d0*F(i,j)) + dt*Omega(i,j)
    enddo
  enddo
 
    F_n(:,1)=0d0
    F_n(1,:)=0d0
    F_n(n,:)=0d0
    F_n(:,m)=0d0
    Fs = Fs_n   
    Fs_n = 0d0
 
    do j=1,m
           do i=1,n
       Fs_n=Fs_n+F_n(i,j)
       enddo
    enddo
    Fs_n = Fs_n/n/m
    F=F_n
    
enddo
print*, Fs_n
end subroutine Phi
Строчка, которой вызывается в главной программе эта субрутина:
Fortran
1
call Phi(Omega_n,F,n,m,eps)
Добавлено через 15 минут
Или структура языка такова, что в главной программе изменяются все параметры
Fortran
1
Phi(Omega_n,F,n,m,eps)
и Omega_n и F, и n, и m ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2016, 09:08
Ответы с готовыми решениями:

Что возвращает процедура?
Привет всем) Пишу свой класс, в нем есть поле _spProc: TADOStoredProcedure; и...

Процедура не возвращает значение
Проблема вот в чем,в одной процедуре создаётся дерево оптимального поиска,а в...

Процедура в приложении не возвращает значения
Есть элементарная процедура T-SQL привязанная к БД ALTER PROCEDURE...

Хранимая процедура ничего не возвращает
Добрый день. Суть проблемы такова: создаю хранимую процедуру, в которой во...

Хранимая процедура возвращает только одну запись
Создал хранимую процедуру create PROCEDURE "TREN" ( "FAM" VARCHAR(30)...

4
Catstail
Модератор
23732 / 11816 / 2066
Регистрация: 12.02.2012
Сообщений: 19,215
11.11.2016, 11:33 2
Ничего не возвращает. Печатает Fs_n
0
kushok
123 / 110 / 56
Регистрация: 05.12.2012
Сообщений: 463
Завершенные тесты: 1
11.11.2016, 13:23 3
Цитата Сообщение от Zigfrid Посмотреть сообщение
Или структура языка такова, что в главной программе изменяются все параметры
Верно.
Fortran
1
F=F_n
Матрица F поменяется и вне процедуры. Можно явно контролировать это дело

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program
 
integer :: x, y, z
 
x = 1
y = 10
z = 100
 
call example(x, y, z)
 
! y = 101
 
subroutine example(a, b, c)
    integer, intent(IN) :: a !Только на вход
    integer, intent(INOUT) :: b !И на вход, и на выход (по умолчанию)
    integer, intent(OUT) :: c !Только на выход
 
    write(*,*) a, b, c
    a = a + 1 ! Ошибка
    b = b + 1 ! Не ошибка
    c = c + 1 ! Не ошибка, но некорректно, т.к. значение c не передалось в подпрограмму, т.е. с не инициализированна
end subroutine
1
Zigfrid
11 / 11 / 1
Регистрация: 24.11.2015
Сообщений: 358
Завершенные тесты: 1
11.11.2016, 21:57  [ТС] 4
Цитата Сообщение от Catstail Посмотреть сообщение
Ничего не возвращает. Печатает Fs_n
Не может быть
0
Catstail
Модератор
23732 / 11816 / 2066
Регистрация: 12.02.2012
Сообщений: 19,215
11.11.2016, 22:19 5
И меняет, например, массив F (стр. 34)
0
11.11.2016, 22:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2016, 22:19

DataGridView и хранимая процедура - возвращает два отчета
Хранимая процедура SQL Server sp_helplogins возвращает две таблицы. Если...

Процедура возвращает столбец вместо одного значения
Доброй ночи!Мне нужно вернуть накопленную переменную SM. Это сумма...

Собственная процедура/функция которая возвращает код символа
Помогите пожалуйста создать собственную процедуру/функцию которая возвращает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru