• 締切済み

Fortran90のプログラムコードからインターフェース(ソフト)を作成する方法を教えてください。

まったくの素人です。 Fortran90で作った大規模なプログラムコードがあります。 多くのパラメーターを入力して計算するプログラムです。 これを利用して、入力を簡易にし、計算結果をグラフ等で確認できる、インターフェースを開発しようかどうかと思案中です。 市販の一般的なソフト(Wordやexcel)のように、 ツールバーなどを備えていて、誰でも簡単に取り扱えるようにしたい、と考えているのです。 そこで、ご質問なのですが、 Fortran90からこのようなインターフェースを開発するためには、どのようなステップあるいはどのようなソフトが必要になるのでしょうか?

  • T-HAM
  • お礼率85% (24/28)

みんなの回答

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1

1.VisualBasic等で データを入力してHDに記録する。 2.Fortran90よりデータを読み込みデータ処理。 結果をHDに記録。 3.VisualBasicで結果を読み取り グラフ化する。 注 Fortran90にODBCのようなものがあれば 記録   は不要になる。

関連するQ&A

  • FORTRANプログラムについてお聞きします。

    仕事で1970年代にFORTRAN77で作られた技術計算(発電所の熱精算)プログラムを使っています。(私はプログラムは使っていても、作ったことのない、ほとんど素人です) このプログラムの規模として、総ステップ数が約60kステップ有ります。 このたび、このプログラムをMATLABに移植することになりました。 移植の理由は、FORTRANそのものが古い言語で、機能拡張などのメンテナンスを依頼しているソフト会社には、FORTRANの分かるエンジニアがいなくなったこと、だそうです。 (MATLAB使用は会社の指示です) そこでお聞きしたいのは以下の点です。 1.FORTRANとは、そんなに古い言語になってしまったのか? 2.MATLABはある精度内で収束するように繰り返し計算するようなプログラムに向いているのか? 3.MATLABのネット記事のほとんどが大学関係者ばかり。企業では使われていないのか?だとしたら、その理由は? 4.MATLABの利点と欠点を述べた記事などがあったら紹介して下さい。 宜しくお願いします。

  • Fortranのフリーソフトってありますか?

    実験結果や計算をプログラムに入力させて結果を出力させたいと思っているのですが、Fortranのようなプログラムを組むためのフリーソフトってありますか? また、理工系のためのプログラミングソフトでお勧めフリーソフトってありますか??? 宜しくお願いします。

  • FORTRANでGUIプログラム

    FORTRANでGUIプログラム FORTRANでGUIを持ったWINアプリを作成することは不可能でしょうか? 現在自作でFEMプログラムをつくっています。入力ファイルはその度簡単なプログラムをつくって作成するか,汎用のプリプロセッサを利用しています。解析結果は自作で応力図などをeps形式で可視化してはきだすようにしていますが,市販のプログラムのように,画面上で節点や要素を作成していき,それがリアルタイムに画面に表示されて,入力ファイル作成から解析,後処理までをすべてマウス操作でできるようにしたいです。 C++ではできることは分かるのですが,FORTRANしか使ったことないので,FORTRANで作りたいと思っているのですが,やはり数値解析以外のことはFORTRANでやるのは無理なのでしょうか?FORTRANでプリプロセッサが自作できるかどうか,もし可能なら参考書籍などがあれば教えていただきたいです。よろしくお願いします。

  • Fortran90のプログラムについて

    大学で卒論のためにFortran90でランダムウォークのプログラムを作ってるんですが…2週間悩んでるんですが、できないところがあります。 「1次元のランダムウォークにおいて、ステップ数Nとxの値を与えたときのすべての可能な歩行を数え上げるプログラムを書け」というものです。 直接ステップ数を書き込んだプログラムを基にして任意のステップ数を入力するプログラムを作ってみたんですが、うまくいきません。 integer :: a(100,20), x, i1, i2, i3 x = 0 do i1 = -1, 1, 2;do i2 = -1, 1, 2;do i3 = -1, 1, 2 x = x + 1 a(x, 1) = i1;a(x, 2) = i2;a(x, 3) = i3 end do;end do;end do end が基にしたプログラムです。これはステップ数が'3'なので実行結果は「-1-1-1,-1-11,-11-1,-11-1,-111,1-1-1,11-1,111」というxの変位の仕方が出ます。 integer, allocatable :: a(:,:) integer :: i, n, x, l print *, 'ステップ数を入力:'; read *, n allocate(a(n, 2**n)) do l = 1, n do i = -1, 1, 2 x = x + 1 a(x, l) = i end do end do end という風に作ってみたんですが、'3'を入力しても同じ結果が出ません。わかりにくい文章で申し訳ないですがどなたかご教授お願いします。

  • インターフェースプログラムの設計書(サンプルがあれば…)

    初めまして。よろしくお願いします。 仕事でシステム間インターフェースのプログラム設計書を 書くことになったのですが、 どのような形式で書けばいいのかさっぱり分からず 途方に暮れています。 書きたい要件としては ・機能概要 ・入力パラメータ ・パラメータのチェック ・データベースへの更新概要 ・処理結果 のような内容なのですが、 こういった設計書のサンプルサイトなどあれば 教えていただきたいです。

  • C言語からのFortranプログラムの呼び出し

    Fortranで記述した以下のような構成の有限要素法プログラムをC言語から呼び出したいのですが,具体的にどのようなコードを記述すればいいのかがわかりません.お教えいただけないでしょうか. サブルーチンinputおよびoutputでは入力および結果ファイルの入出力を行っています. 当方C言語はほぼ初心者です.Fortranのプログラミング環境としてはVisualStudio2005およびVisualFortran9.1を用いています. C言語のプログラミング環境としてはおなじくVisualStudio2005を使用したいとおもっております. [メインプログラム] open (5,file='input.dat') open (6,file='output.dat') /入出力用のファイルを開く call input(parameter1) /各サブルーチンで有限要素法を実行 call bound(parameter2) call matrix(parameter3) call solve(parameter4) call output(parameter5) close (5) /入出力用のファイルを閉じる close (6) stop end

  • fortranのプログラムについて

    fortranでプログラムを作成する課題が出たのですが、やり方が全くわかりません。 何を使ってどういう順番で組めばよいか教えてください。 課題は以下のとおりです。 x^2+y^2<1を満たす領域の面積を、以下の方法で近似計算するプログラムを作成せよ。 はじめは、領域を0<x<1、0<y<1と設定し、x、y方向にそれぞれn等分に分割し、多数の正方形を用意する。 分割されたそれぞれの正方形の面積は、みな等しく1/n^2である。 各正方形の重心位置(xi,yj)は、 xi=1/2n+i/n i=0~n-1 yj=1/2n+j/n j=0~n-1 であらわされる。 個々の正方形について、その重心位置(xi,yj)が求めたい領域に含まれるかどうかを判断し、この総数から近似面積を求める。最後に、この値を4倍したもの(つまりx^2+y^2<1の近似面積)を出力することとする。 なお、i,j,nはinteger(8)で、x,y,求めたい面積等はreal(8)を用い、n=100000(nはread文で入力する形でよい)で計算することとする。 よろしくお願いします。

  • Fortranのバージョンアップと古いソースコード

    Fortranは科学技術計算の古い資産が使えるということでまだ使われていると思います。 しかも、コンパイラ・リンカは製品としてバージョンアップしているわけですが、新しくなっても古いコードはコンパイル・リンク・実行できると思っていました。最近、intel fortranの更新をしたのですが、動作がかなり違ってきました。F77,F90,F95などの更新ではなく、intel社の製品としての最新版への更新です。コンパイル・リンクまでは行くのですが、実行させたとたん、ゼロ割のようなメッセージが出て、実行が打ち切られてしまいます。1時間ぐらい走るプログラムなのですが、1秒で打ち切りでした。必ずそうなるということではありません。特定のライブラリで生じます。そのライブラリは古い(言語としてはF77)ので当然ながら新しいコンパイラで動くなどと書いていません。ただソースコードの塊であり、古いコンパイラでは動いていたのです。古いと行っても2009年ぐらいに買ったintel visual fortran ver.11ぐらいのもので2016年のコンパイラと大幅な変更はないはずなのですが。例えば最新版(2016年2月時点)の方は並列関係の設定の方がデフォルトで並列計算しない設定をコンパイラオプションで指定しないとおかしくなるということでしょうか(たぶんGPUには対応していないと思いますが)。どっかに書いてあるかなと思案していますが。 何か心当たりがあればよろしくお願いします。

  • プログラムのサブルーチン・関数化の方法について

    プログラム作成法に関する包括的な質問です。 ある物理シミュレーションプログラムを作成してまあ、満足できるというか当たり前の計算結果にはなりました。 それなりに複雑ではあり、それでおしまいにしたいところですが、本当はそれはもっと大きなプログラムの一部になるものです。ちゃんと動作したからこそ、パーツとして役に立つな、ということです。そこで、それをサブルーチンなり、関数なりにして外部から呼び出すように変更していくうまい方法がないでしょうか。全体を考えて構築しなおすべし、ということになるのか、あるテクニックでうまく処理できるということはないでしょうか。モジュールとかパッケージ化とかの技法で比較的簡単に処理できるとかです。変数名の重複(同じものであっても区別してもらいたい)とか変数のスコープとか呼び出し側、呼ばれ側の通信についてです。そういうのが得意なのがC++だろうとは思いますが、できればFortranで処理したいのです。Fortran95はgfortranがあるので利用できます(これは誰でもでしょうが)。 以前から全く前進しない問題で、仕方ないから全部考え直すとして組み上げていくことが多いです。私は普通はまず全体を作ってから細かいパーツに入っていくようにしますが、今回はその逆の行き方なのですが。プログラム開発に多くの人が関わるようなものだと、一人一人のコンセプトで作成して他のプログラムとのつなぎの部分だけちゃんとしていればよし、というようになっていると思いますが。gitとかsubversionとかです。 具体的な質問ではないですが、考え方をお尋ねしたいと思います。参考になるサイトとか情報でも結構です。よろしくお願いします。

  • FORTRAN77で作ったプログラムを開くとバイナリファイルと認定され、編集できません

    FORTRAN77を最近勉強し始めました(プログラミング自体が超初心者です)。 ネットで情報を集め、コンパイラーはFTN77、エディタはCPadというフリーソフトを インストールし、実際にプログラムを作って実行してみたました。 一応は上手くいったみたいなのですが(非常に簡単な計算なので)、 いったんエディタを閉じて再び開いてみると、 「ファイル~~~はバイナリファイルと判定されました。無視して開きますか?」 という警告が出て、開いてみると意味不明な文字列が書いてあるだけで もともと何が書いてあったかわかりません。 どうしてこのようなことになってしまうのでしょうか?