• 締切済み

Fortran初心者

はじめまして 今回私はFortranを使って計算を行うことになりました しかし、私はFortranどころかC言語すら全く無知です Fortranをインストールしたのはいいんですが全て英語で全く使い方が分かりません 初級者向けの本を買ったはいいんですがそれ以前の問題で分かりません どのボタンを押せばどういった動きになるのか? そういったかなり細かいとこまで説明されたサイトや本はありますでしょうか? どうすればコンパイルするのか、どうすれば計算結果が表示されるのか(超基本的なことです)恥・・・ 周りの人に聞くにも時間も限られているので一人で勉強するためにどうか教えてもらえませんか?

  • kolou
  • お礼率29% (26/89)

みんなの回答

回答No.3

おそらく、FORTRANの文法以前に ・ソースを書くのに何を使うのか? ・ソースのコンパイルの方法 ・コマンドプロンプトが使えるようにする方法 が判らないのでしょう。 「コマンドプロンプト」はスタート→全てのプログラム→アクセサリ→コマンドプロンプトで起動できます。(WindowsXPの場合) 他の疑問については、インストールしたFORTRANが不明ですのでわかりません。

kolou
質問者

お礼

ありがとうございます どうやら無知すぎて質問もちゃんとできていないようです・・・ 残念ですが時間をかけて回りの人に聞いていこうと思ういます

  • ultraCS
  • ベストアンサー率44% (3956/8947)
回答No.2

まず、どういう環境にどこのFORTRANをインストールしたのか位は書いてくださいね。 というか、研究室の仲間が皆使っているのなら、そこで聞いた方が良いと思いますよ、マスターやドクターは教えてくれないのでしょうか。 FORTRANを使うと言うことでおそらく数値計算をされるのだと思いますが、学部の図書館などにちょっと古めの電子計算法の本などがあり、そこにサンプルプログラムがあるとおもうのでそれを打ち込んで覚えてください。 FORTRANというより、数値計算を行う上で一番大切なのは、数値計算には誤差があるということを認識することです。コンピュータの内部には無限の桁数があるわけではなく、計算は原則切り捨てで行われますから、使うデータ型の有効数字などを考えてプログラムしましょう。 誤差については、やはり、電子計算法の書籍を見てください。コンピュータサイエンスの方だと書いてなかったりします。まあ、システム系の場合、誤差が重要にはなりませんからね。 FORTRANは大概、コンソールアプリケーションで、コマンドプロンプトやシェルの画面で動かします。データを取り込むのはREAD、コンソールに結果を表示するのはWRITE文です。グラフィックな表示はFORTRANの言語仕様にはなく、ライブラリで対処します。 くらいかな

  • arare2005
  • ベストアンサー率31% (63/199)
回答No.1

>今回私はFortranを使って計算を行うことになりました ご質問の意図とは違うのですが、お仕事でどうしても覚えないといけないのであれば、しょうがないですが、初心者であれば現在必要とされている言語を習得された方が今後の為にも良いと思います。 FORTRAN や /77 などありますが、私は仕事で実際に使用した事も、使用しているシステムを見た事もありません。学校の授業で少し習ったくらいです。一般の会社で使用する様な言語ではないからです。 COBOL,PL/1,VB,JAVA,C,C++ など特に前2つ以外の言語を習得された方が宜しいですよ(^^) お金をかけたくなければ、エクセルなどの VBA を勉強すれば、VB とほぼ同じ様に組む事が出来ますよ。 ご質問の回答でなくてスミマセンm(_ _)m

kolou
質問者

補足

残念ながら、私の現在の研究室内では全員Fortranを用いて計算を行っています。 他の言語もよいのですが、計算ファイルの受け渡しなど将来的にFortranでなくてはいけない理由があります。 あと、UNIX上でFortranを走らせることも将来的には行いますが、現在はWindows 上で計算しようとしています

関連するQ&A

  • Visual Fortran 6.0で計算結果が変わらない

    Windows Me上でCompaq Visual Fortran 6.0を使用しています。 ほぼ同じようなプログラムですが、パラメータが異なり、 明らかに違う計算結果になるはずなのですが、 まったく同じ数字が出てきてしまいます。 コンパイルして作られたexeファイルが同一であると思われるのですが、 どなたか分かりますでしょうか。

  • fortranプログラミングでの数値計算と可視化環

    現在fortran77により数値計算し、可視化する環境を探しています。素人なので、アドバイス頂ければ幸いです。 背景:matlabで既にプログラム済みファイルを、fortranで書き直したい。プログラムは数値計算をしてその結果をグラフ(2D,3D)で可視化する物。matlab環境では計算時間がかかる為、fortranで時間短縮したい。 環境:Win XPへ所有しているマイクロソフトビジュアルFortran77(Ver調査中。7年くらい前の物)をインストールして、それを使おうと考えています。 疑問:どうやって計算結果を可視化するか?ポストプロセッサーとして、gnueplotやmatlabを使用するのは可能だと思うがそれが一番効率的なのでしょうか?ビジュアルFortranには可視化ライブラリみたいな物があるのでしょうか? 不足情報あればアップいたします。初心者ですが、アドバイスを宜しくお願いします。 追伸:研究室の過去の資産の関係でFortranを考えています。多言語でのメリットもあれば教えて頂たいですが、基本古い言語使用に対する中傷「のみ」はご遠慮下さい。

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

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

  • fortranでサブフォルダに保存したい

    基本的な知識なのかもしれないですが・・・ fortranで計算結果をファイルに出力させたいのですが,時系列データで大量にあるので自動で名前をつけて沢山のファイルをつくるプログラムを作っています。 その際,保存場所を指定しない場合プログラムファイルのあるフォルダに保存されるのですが,数が多いのでサブフォルダに保存したいと思っています。アドレスをすべて書けばできると思うのですが,できれば今いるフォルダからの指定にしたいと思っています。 VBなどでは簡単にできるので,fortranにもあると思うのですが,探しても見つからなかったので,知っている方がいましたら指定のやり方を教えてください。

  • Fortranによるオブジェく志向プログラミング

    私は、ずっと、手続き型のプログラミングをやってきて、言語はFortranであり、そのプログラミングの内容は四則計算、ループ、分岐、ファイル入出力みたいなものに限定されていました。 ところが、最近はじめて知ったのですが、Fortranの2003ぐらいになるとオブジェクト指向プログラミングに対応していてクラス、メソッド、インスタンスなどのような概念が出てきたようです(だいぶ前からあったのかもですが、最近まで知りませんでした)。 そこで2つ質問なのですが、従来使っていた手続き型のプログラムはすべて原理的にオブジェクト指向プログラムに移行可能なのでしょうか。無理に移行しなくてもいいとは思いますが、そういう越境のようなことができるのかということですが(手間だけかかって時間の無駄かもしれませんが、訓練という価値はあります)。そして、最終的にはプログラミングというものがすべてオブジェクト指向に収斂してしまうということになるのでしょうか。 もう1つはFortranでオブジェクト指向プログラムができるという場合、バージョンとかそれに応じた仕様とかでその度合いに違いがあるのでしょうか。今までFortranで手続き型のプログラミング(四則計算等)をやっていたのでコンパイラの選択による違いに大差ないという感じでした(あまり方言がないとか)。オブジェクト指向ということになると”これはできるけど、あれはできない”とか際どい問題があるように思います。C++とかJavaの参考書に載っていたようなことがFortranで本当にどこまでできるのかという疑問です。これが明確にならないとただでさえ難しいオブジェクト指向プログラムで私のアルゴリズムにミスがあるのか、アルゴリズムは問題ないけどコンパイラがそれに対応してないという問題の区別がつかなくなると思うのですが。 Fortranのオブジェクト指向の解説本を見たことがないのでお尋ねしました。よろしくお願いします。

  • 実行して画面に表示されたデータの取り出しかた

    cygwinでfortranのプログラムをコンパイルして計算結果を100個ぐらい表示させました。 このデータをエクセルなどに貼り付けて使いたいのですがどうしたらよいでしょうか。 実行された結果をファイルにする方法もあるのだと思いますが、まだよくわかりません。

  • フォートラン(fortran)のエラーメッセージについて

    初心者で最小二乗法のプログラムを作りました。 初プログラムなので初級者ではなく初心者です。 コンパイルすることはできました。 しかし、いざ実行しようとすると forrtl:ハンドルが無効です。 forrtl:severe(38):error during write, unit 5, file CONIN$ と表示されます。日本語のエラーメッセージって出てくるんですか?しかもコンパイルの時点での英語のエラーメッセージは読みやすかったのに、今回はCONIN$とか意味がわからないものばかりです。周囲に聞いても見たこと無いメッセージと言われる始末で手におえません。 この件についてわからなくても、何かエラーメッセージについて書いてある本やサイトだけでも教えていただけると非常に助かります。 以上、よろしくお願いいたします。

  • プログラミングの授業で Fortran 90/95 言語を使った 「計

    プログラミングの授業で Fortran 90/95 言語を使った 「計算機ソフトウェア」という授業があり,以下のような課題が出ました。 ファイルからデータを入力し,それに対して何らかの処理を行い,結果をファイルに出力する,Fortran 90/95 言語を使ったプログラムを作成する問題を自分で作り,その回答(プログラムリスト)を記述せよ。 ただし,以下の内容を満足すること。 ・入出力には書式を用いる ・配列を使用する ・DO文を使用する ・IF文を使用する ・関数またはサブルーチンを使用する ・レポートには,問題の説明と処理の方法の説明を書き,プログラムリストと結果の評価を添えること。 並みのプログラムではダメらしく,(アイデア的にも)素晴らしいプログラムを作らなければならないのですが,まったく良い案が思いつきません。 良かったら,何か,教授をあっと言わせるような,プログラムの案, もし良ければ,プログラムリストの内容(PROGRAM ○○  IMPLICIT NONE ~~~)を添えて回答いただけないでしょうか? どうか,よろしくお願いします。

  • Fortran "実引数の型が仮引数の型と異なります。"

    Fortran "実引数の型が仮引数の型と異なります。" Intel Visual Fortranの最新版をMS Visual Studio 2008で使用(お試し)しています。 既存のFortranプログラムでエラーが出て、使えなくなりました。 問題点を要約すると以下のようなシンプルなコードに集約されました。 ---------------------- 00 program main 01 call sub1(10.d0) 02 call sub1(10.0) 03 end ! ---------------------- 04 subroutine sub1(rr) 05 real*8 rr 06 write(*,*) 'rr = ', rr 07 end subroutine ! --------------------- 昔のFortranでは、Subをcallする時に、仮引数の型と厳密に一致していなくても、うまく処理してくれたと思います。(倍精度でも整数でも、同じ数値とみなして) オプションのルーチンインターフェースのチェック(/warn:interfaces)をオフにすると、コンパイルは出来るようになるのですが、上記プログラムの計算結果は、01行と02行で結果が異なってきます。 (02行はおかしな値が入る) 本来、ランタイムエラー防止の観点からは、このような厳密性を要求するのは良いことだと思いますが、既存のプログラムが実行できなくなるのは痛手なので、何かオプションの変更で対応出来ないものでしょうか? よろしくお願いいたします。

  • Fortranのためのグラフィクスツールについて

    基本的にfortranはコンピュータグラフィックスが含まれていないので私は外部のライブラリを読み込んでポストスクリプトファイルを作成してそこに書きこむことをやってきました。PSPLOTというものです。そのPSPLOTはF77を前提としているのでF95のコンパイラをどんどん更新していくと使えない機能が出てきました。そのライブラリはソースがあるから自分で更新してもいいかもですが、気力がないのでgnuplotを使うかなと思っています。 PSPLOTライブラリは作図のソースから呼び出して使いますが、大雑把な動作としてはポストスクリプトファイルを開き、ペンアップで始点に移動しペンダウンして終点まで線を引く、ということを繰り返すものです(筆の動きと同じ)。それをコマゴマとやっているだけでそのあと終了宣言をしてポストスクリプトファイルを閉じます。そしてポストスクリプトのビュアーで結果を見るという流れになります。 CALL PLOT(X,Y,2)というようなコマンド群で懐かしいと思われる向きもあるかもと思いますが。カルコンプ社とかのものがメインフレームに入っていたことがありましたが。 今回、改ページ処理ができないようになり、ページをめくって何枚も絵を描くことができなくなりました。gnuplotでは改ページはできるのでしょうか。 あるいはgnuplotでなくてもいいのですが、Fortranのグラフィックスを割と簡単な設定で使い始めることができるツールがあれば教えて頂きたいのですが。 よろしくお願いします。

専門家に質問してみよう