Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

bubanoid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Модуль:

Код:
 
module mod
implicit none
 
real(8), parameter :: Pi = 3.1415926535897932384d0
 
interface
   real(8) function myFunc(x)
     real(8), intent (in) :: x
   end function myFunc
end interface
 
pointer (ptrF, myFunc)  
 
contains
 
real(8) function f1(x)
   real(8), intent (in) :: x
   f1 = dsin(x)
end function f1
 
real(8) function f2(x)
   real(8), intent (in) :: x
   f2 = dcos(x)
end function f2
 
real(8) function f0(x)
   real(8), intent (in) :: x
   f0 = dexp(-x**2)*myFunc(x)
end function f0
 
real(8) function integration(f, x1, x2)
   real(8), intent (in) :: x1, x2
   real(8), external :: f
   real(8) d, s
   integer i
   integer, parameter :: n = 100000
   d = (x2 - x1)/dfloat(n)
   s = 0.0d0
   do i = 1, n
     s = s + f(x1 + d*dfloat(i) - d*0.5d0)
   enddo
   integration = s*d
end function integration
 
end module mod

Программа:

Код:
 
program AkaGM
use mod
implicit none
 
real(8) x1, x2, z
 
x1 = -Pi
x2 = Pi
 
ptrF = LOC(f1)
z = integration(f0, x1, x2)
write (*, '("z = ", ES14.4 )')  z
 
ptrF = LOC(f2)
z = integration(f0, x1, x2)
write (*, '("z = ", ES14.4 )')  z
 
pause
end program AkaGM

Результат:
z=-9.8941E-18
z= 1.3804E+00
Как и должно быть.

Всего записей: 101 | Зарегистр. 22-11-2007 | Отправлено: 21:33 10-12-2012 | Исправлено: bubanoid, 22:06 11-12-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru