• ベストアンサー

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

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

noname#5277
noname#5277

質問者が選んだベストアンサー

  • ベストアンサー
  • zuri1000
  • ベストアンサー率45% (14/31)
回答No.1

 どのようなプログラムなのかは知らないので自信持てませんが、その二つのプログラムは同じWorkspaceでコンパイルしている(つまりコンパイルしてもEXEファイルが1つしか作られない)状態じゃありません?  本来、一つのプログラムに対してEXEファイル1個ですよね?  あと、パラメータはRealで定義してますか?integerで定義してますか?  同じ計算結果になるというのなら、バグ探しのコツは、一方のプログラム中の計算式を大幅にいじってみるといいんじゃないかな?   

noname#5277
質問者

お礼

回答ありがとうございます。 Workspaceに問題がありそうです。 毎回コンパイルするごとにWorkspaceを削除しながらコンパイルしていたのですが、 フォルダ自体は同じフォルダだったので、 今回はフォルダごと削除し、新たなフォルダでコンパイルしたらうまく行ったようです。 ちなみにパラメータは、commonで変数定義して後で数値代入しています。

関連するQ&A

  • Compaq Visual Fortran 6 がインストールできません…

    Compaq Visual Fortran 6をWindowsXPにインストールしようと格闘してます。 でもあと2週間以内には使える様な状態にせねばならず私の1人の力ではムリなので、どうか皆さん助けてください!m(_ _)m エラーの概要についてですが、 まず、Typicalを選択して"Compaq Visual Fortran 6"というフォルダーにインストールするように選択すると 96%完了したら以下のメッセージが出てきます 《Setup was unable to create the program folder named "Compaq Visual Fortran 6". Please create a folder named "Compaq Visual Fortran 6" in the Start menu Programs folder and retry the installation. If the problem persist, contact Compaq Company. Corp.》 とでます。 そこでスタートメニューに"Compaq Visual Fortran 6"と言う名のフォルダを作って再インストールしても結果は同じです・・・。 一体どうしたらいいのでしょうか? ちなみにパソコンはFujitsuのFMV-BIBL NB18CでOSは XPのHome Edition Version 2002でService Pack 2というものです。 どうかよろしくお願いします。

  • Compaq Visual Fortranを使っていて困っています。

    Compaq Visual Fortranを使っているのですが、バッチファイルを使って実行を何度も行いたいのですが、毎回実行が終わるたびに「QuickWinを終了しますか?」というウィンドウが出てきてyes を押さないと次の実行に移りません。この操作をせずに何度も実行を行う方法をご存知の方、よろしければ教えてください。よろしくお願いいたします。

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

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

  • FORTRANとC++の連動について

    私は,Fortranを用いて解析の業務をしている,プログラム初心者です。 購入したのは,Intel Visual Fortran8.0(VF)ですが,Windows環境でコンパイルリンクするには,Microsoft Visual C++ .NET 2003(VC++)が必要ということで,こちらも購入しました。 普段は,Fortranのコンソールで ifort **.f といったコマンドでコンパイルリンクし,実行しているだけです。 これからは,VC++の方に移行していきたいと考えていますが,しばらくはFortranで作成したサブルーチンを有効活用したと考えています。 そこで,VC++ベースのメインプログラムからFortranのサブルーチンを呼び出すプログラムの作成方法,コンパイルリンク方法をご教授ください。よろしくお願いします。 (1)ソースにどう記述するか? void CMyDlg::OnBnClickedOk() { ここで,FORTRANのサブルーチンを呼び出したい。     Fortranなら call subroutine( a, b ) } (2)コンパイルするときは, Visual Studio開発環境で,コンパイル→実行で良いのか? それとも,あらかじめVC++とVFで.objファイルを作成する必要があるのか?

  • Compaq Visual Fortran を使っているのですが、エラーが解消出来ず困っています。

    Compaq Visual Fortran を使っているのですが、エラーを解消できません。 --------------------Configuration: park - Win32 Release-------------------- Compiling Fortran... df: severe: Can't open indirect file C:\DOCUME~1\DELL Error executing df.exe. park.exe - 1 error(s), 0 warning(s) とでてしまいます。人から頂いたものを解凍して実行しただけで、送り主のPCでは実行できているので、私のPCか解凍の仕方などにに原因があるのかもしれません。詳しい方いらっしゃいましたら何か可能性のあることを教えて頂けると幸いです。よろしくお願い致します。

  • FORTRANについて

    今、大学の研究室でFORTRANの勉強をしています。そこで、院生から問題を出されました。それは、 テキストファイルから数字を読み込み、それらをFORTRANの中で計算し、その答えをまたテキストファイルに出力する、というプログラムです。 計算するところまではできたのですが、どうしてもテキストファイルに出力するプログラムがわかりません。 出力の仕方だけでも教えてください。教科書にもなく、図書館でも古い時代のものばかりで。しかも、僕は学校の関係でFORTRANを全く知りません。

  • Fortran90/Fortran95→Fortran77

    大学の授業でFortranを使ったプログラミングを勉強しています。 以下の文が大学のPCに入っているコンパイラでは問題なくコンパイルでき実行できるのですが、家のPCだとコンパイルすることが出来ません(以下の文でエラーが出ます) 大学のPCの開発環境はFujitsu-FORTRANだと思います(^ ^; 家のPCはSalford FTN77 Personal Edition CompilerとCPad for Salford FTN77を組み合わせて使用しています なぜエラーがでるのか自分なりに考えた結果、Fortran90/Fortran95のプログラムをFortran77のコンパイラでコンパイルしているからだと思います(全くの勘違いだったら指摘して下さい) Fortran90/Fortran95の開発環境がフリーで整えばいいのですが、見つからないのでプログラムを修正したいと思います そこで、力を貸していただきたいのです 前置きが長くなりましたが、エラーが出る文は以下のところです open(8,file='freq_ex13.dat',action='write',status='replace') ここを、Fortran77のコンパイラでコンパイルできるようにアドバイスを下さい よろしくお願いします

  • FortranからCの関数を呼ぶ方法

    お世話になります。 標記件、以下の通り行っていますがうまくいきません。どなたかご存知の方おりましたらご教示下さい。よろしくお願いします。 (1)環境 ・Windows XP SP2 ・Compaq Visual Fortran Professional Edition 6.5.0 ・Visual C++ 6.0 Enterprise Edition (2)作業方法 ・Visual C++ を立ち上げ、その中でCプログラムとFortranプログラムのファイルを作成し、作業。 (3)現象 ・ビルドしようとすると以下のエラーが発生し、EXEが作成されない。 ------------------------------- Linking... LINK : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library test01.obj : error LNK2001: unresolved external symbol _TEST@0 Debug/system.exe : fatal error LNK1120: 1 unresolved externals -------------------------------  ・個々のファイルのコンパイルは問題なし。 (4)ソース内容  --- Fortranプログラム"test01.f90" --- PROGRAM FileRW call test END  --- Cプログラム"system.cpp" --- #include <stdio.h> void test_(void) { printf("TEST PROGRAM!!"); } 以上

  • Fortranについて,fatal error LNK1181

    Fortranをインストールしてプログラムをコンパイルしようとすると,以下のエラーが出ます. LINK : fatal error LNK1181: cannot open input file "C:\DOCUME~1\dfor.lib" 正常に作動させるにはどうしたらいいでしょうか.何か足らないものがあるのでしょうか.以下のフォルダに, インストールCDに入っているLIBファイルをすべてコピペしてみたのですが,変わりなしです. C:\Program Files\Microsoft Visual Studio\DF98\LIB OSはXP,今回インストールをしたFortran及びプログラム作成をしたFortranは,共にVisual Fortran 6.0です.何か打開策があれば助言お願いします.

  • Fortranのサブルーチン引数について

    他人が作ったFortran(恐らくFortran77)のプログラムで計算をしようとしています。 コンパイルはできるのですが,実行するとエラーが出てしまい困っています。 エラーメッセージは 「forrtl:severe(157):Program Exception - access violation」 となっていて,実行時エラー番号で調べると 「プログラムが適切な参照権を持っていない仮想アドレスに書き込み,または読み取り を行おうとした」と出ていました。 Fortran初心者の自分にはイマイチ意味が判らないのですが,エラーが出た後に サブルーチンのある決まった場所に黄色い矢印が示されます。 そこで今,その部分のサブルーチンを確認しているところです。 前置きが長くなってしまいましたが サブルーチンの中を確認している途中で疑問に思った所が一つあります。 問題のサブルーチンは --------------------------------------- call dbesl(EN,0,BX0,BY0,BI0,BK0)     subroutine dbesl(X,NOR,BX,BY,BI,BK) FN = NOR  ・  ・  ・ 11 NOR = FN               <---この行に黄色い矢印が出る return end --------------------------------------- となっているのですが,サブルーチンを呼び出すcall文の所で 2つ目の引数が『0』となっているのは正しい使い方なのでしょうか? どうもサブルーチン内の計算をしてメインプログラムに引数を返す所が おかしいような気がしています。 因みにメインプログラムに戻る際の"FN"の値は『0』となっていました。 コンパイラはCompaq Visual Fortranを使用しています。 足りない情報は出来るだけ追記していきますので,ご教示宜しくお願いします。

専門家に質問してみよう