Библиотека численных методов на языке Fortran 90. Дополнительные библиотеки
Автор cайта:
Владимир
Потемкин

fortran-90@yandex.ru
Язык программирования Фортран ЭВМ
astor         astor         astor         astor         astor         astor         astor         astor         astor         astor         astor         astor         astor
 
 
 

Дополнительные библиотеки

>Модуль ConvertCyr

>Библиотека Graphica.lib

ConvertCyr

   Модуль ConvertCyr содержит программы перекодировки символов кириллицы из CP866 (кодировка DOS) в Windows-1251 и обратно. Необходимость применения этих программ вызвана тем, что в среде Windows применяются обе эти кодовые таблицы.
   Операционная система Windows, как известно, использует кодовую таблицу Windows-1251, однако в консольных приложениях (а подавляющая часть Фортран-программ именно консольные приложения) операционная система продолжает использовать устаревшую кодовую таблицу CP866. Поэтому при выводе из программы на Фортране кириллического текста требуется перекодировка символов. Перекодировка требуется также при вводе кириллического текста с клавиатуры или при чтении из файла с кодировкой DOS.
   Функция WinToDos осуществляет перекодирование из Windows в DOS, функция DosToWin - из DOS в Windows. Длина преобразуемых строк - до 400 символов.

   Вызов функций модуля

   Строковая_переменная = WinToDos('Строка в кодировке Windows')
   Строковая_переменная = DosToWin('Строка в кодировке DOS')

 

   Вернуться к оглавлению    Скачать модуль «ConvertCyr»

Graphica

   Библиотека Graphica содержит простые программы построения графиков для консольных приложений (т.е. в текстовом режиме).
   В научно-технических и коммерческих расчетах наглядное представление результатов вычислений в виде графиков и диаграмм играет важную роль. На данный момент имеется несколько прикладных пакетов программ, предоставляющие богатые возможности в данной области. В качестве примера можно привести пакет научной графики SciGraph, отображатель массивов Array Visualizer, графические разделы математических пакетов Maple, Mathematica, а также система Gnuplot.
   Однако применение таких пакетов не всегда оправдано. Не всегда требуется качественное и красочное изображение, пригодное для печати или для размещения в Интернете. Иногда достаточно получить простое представление о поведении функции в какой-либо области изменения аргумента. Тем более, если это не требует никакого предварительного программирования, а вызов функций возможен из программы на Фортране, то, на взгляд автора, вполне можно обойтись предлагаемой библиотекой.
   Программы библиотеки Graphic, Graphar и Graphop строят изображение в текстовом режиме символом «*». Программы Graphic и Graphop строят графики функций, заданных аналитически, Graphic для функции одного переменного, Graphop для функции двух переменных. Программа Graphar строит график функции, заданной таблично, массивами X и Y.
   Создание этих подпрограмм относится к тому периоду (80-е годы ХХ века), когда ещё не существовало персональных компьютеров, а ЭВМ занимали большие залы. Данные в компьютер вводили при помощи перфокарт или перфолент, а выводили на печатающее устройство с бесконечной бумажной лентой в виде рулона или гармошки. И поэтому все графики и диаграммы приходилось выводить в текстовом формате как единственно-возможный вариант. Понятно, что сейчас, при наличии дисплеев, использование этих подпрограмм врятли целесообразно. Автор поместил их в библиотеку, т.к., возможно, эти алгоритмы смогут помочь вам при написании ваших собственных программ построения графиков, уже на современных устройствах вывода информации.

Вызов программ библиотеки

CALL Graphic(A, B, Fun)
Real A, B - диапазон изменения аргумента;
Real Fun(Real X) - исследуемая функция;
график функции будет построен в файле gf.txt.

CALL Graphar(A, B)
Real X(1:N), Y(1:N) - исследуемая зависимость;
график функции будет построен в файле gr.txt.

CALL Graphop(Xmin, Xmax, Ymin, Ymax, Fun)
Real Xmin, Xmax, Ymin, Ymax - диапазон изменения аргумента;
Real Fun(Real X, Real Y) - исследуемая функция;
график функции будет построен в файле gp.txt.

 

Пример

    ! Использование программы "Graphar"
    ! для построения спирали.
program TestGR
!$objcomment lib: "D:/Fortran/Bib_GR/Debug/Graphica"
use GRAPHICA
implicit none
integer, parameter:: n=100
real, parameter:: pi=3.1415926
real:: X(n), Y(n), Ro, Teta, A, K
integer i
!begin
  A=1.0; K=0.2
  do i=1, n
    Teta=K*float(i-1)
    Ro=A*Teta
    X(i)=Ro*cos(Teta)
    Y(i)=Ro*sin(Teta)
  end do
  call Graphar(X, Y)
end program TestGR

По многочисленным просьбам привожу дополнительные
примеры вызова прогрвмм построения графиков
Библиотека оформлена в качестве модуля GRAPHICA

! Построение графика функции Fun(x)
program Test_Graphic
    use GRAPHICA
    implicit none
    real, parameter:: pi=3.1415926
    real A,B
    A=0.0; B=2.0*pi
    call Graphic(A, B, Fun)

    contains

    real function Fun(x)
      real, intent(in):: x
      Fun=0.5*x+sin(x)
      return
    end function Fun

end program Test_Graphic

! Построение графика функции
! двух переменных Fun(x,y)
program Test_Graphop
    use GRAPHICA
    implicit none
    real A0,A1,B0,B1
    A0=-2.0; A1=2.0; B0=-2.0; B1=2.0
    call Graphop(A0, A1, B0, B1, Fun)

    contains

    real function Fun(x,y)
      real, intent(in):: x,y
      Fun=x*x+y*y-0.01*x*y
      return
    end function Fun

end program Test_Graphop

 

Вернуться к оглавлению    Скачать библиотеку «Graphica»