1 名前:デフォルトの名無しさん [2006/11/22(水) 00:00:36 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 FORTRAN使いが優しくコメントを返しますが、 お礼はFORTRANの布教と初心者の救済と次期Fortran2008規格でのCOMEFROM文採用をお願いします。 ●注意事項 ・質問する前にGoogle等の検索サイトで検索しましょう。 ・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。 ・エラーの場合は起きた状況、環境(OS・コンパイラ)、エラーメッセージも詳しく書きましょう。 ●前スレ くだすれFORTRAN(超初心者用) pc8.2ch.net/test/read.cgi/tech/1138063703/ ●関連スレ FORTRAN W pc8.2ch.net/test/read.cgi/tech/1163319215/
768 名前:762 mailto:sage [2007/07/28(土) 13:09:51 ] >>766 初期化したら大丈夫でした。 何から何までありがとうございました。
769 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 17:13:16 ] gfortran, ifort で NaN を検出したいのですが、 どうすればよいでしょうか。 program test real(8) :: x,y x=1. y=0. write(*,*) x/y,isnan(x/y) end $ gfortran test.f90 /tmp/ccABo1qT.o: In function `MAIN__': test.f90:(.text+0xa3): undefined reference to `isnan_' collect2: ld はステータス 1 で終了しました $ i$ ifort test.f90 $ ./a.out Infinity F 鳥は Linux 2.6.20-gentoo-r8 SMP x86_64 Intel(R) Xeon(TM) CPU 3.80GHz GenuineIntel GNU/Linux $ gfortran --version GNU Fortran 95 (GCC) 4.1.2 (Gentoo 4.1.2) $ ifort --version ifort (IFORT) 9.1 20070215 です。
770 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 20:48:12 ] >>769 Intel Fortran, g95 なら program test real(8) :: x,y x=0. y=0. write(*,*) x/y,isnan(x/y) end gfortranの場合は知らん。
771 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:18:08 ] >>770 thanks. infinity は NaN ではなかった。小手先の工夫で program test real(8) :: x,y x=0. y=0. x=x/y if(x-x.ne.0.) then write(*,*) x else write(*,*) x-x endif end を考えたのですが gfortran は NaN を返し、ifort は 0.000000000000000E+000 を, ifort -O0 は NaN を返しました。例外をトラップしようと思うと、 c のプログラムをリンクせざるとえないのかな。
772 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:20:20 ] >>771 マニュアル味噌。 Module: USE IFPORT Syntax result = IEEE_FLAGS (action, mode, in, out) gfortranの方は知らんが、F2003対応のIEEEモジュールを誰かが作ったとか書いてあったような。 記憶違いだったら、ごめんw
773 名前:デフォルトの名無しさん [2007/08/02(木) 03:31:02 ] わざわざNanを検出する理由は何か?
774 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 09:17:03 ] >>773 なんもない
775 名前:726 mailto:sage [2007/08/09(木) 12:58:16 ] >>729 ずいぶん遅くなってしまいました。 私のやりたいことはデータを並び替えるだけなのですが、もともとの出力データは役所が絡んでいるので、 出力形式がオリジナルのものと違うと何かと説明が面倒なのです。 ありがとうございました。
776 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 10:45:29 ] 標準入力でファイル名入れるときに、普通のシェルみたいに、タブによるインクリメントサーチ使えたらなぁ やっぱり無理だよね?
777 名前:デフォルトの名無しさん [2007/08/10(金) 14:36:40 ] だれかこのプログラムの使い方教えてください cera-www.dkrz.de/IPCC_DDC/info/Readme.gzip ASCIIデータをなにかに変換するプログラムなのですが 自分無知でよくわかりません。 おねがいしますm(__)m
778 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 16:19:46 ] ノットあナンバーはコンピューータサイエンスやるなら覚えとけボケ
779 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:15:35 ] >>777 只のデータフォーマットの説明とサンプルプログラムのようだが。 よくわからないなら使うなよ。
780 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 00:51:39 ] >>778 Fortran利用者はコンピュータ・サイエンスなんか知らない。 計算機自体をサイエンスだなんて何言ってんの?あんた馬鹿?って認識だろw IEEEフォーマットが普及したのはありがたい。 IBMとクレイのフォーマットが最後までがんばっていたようだが、 各社の糞数値フォーマットもようやく死滅したようで、まずはめでたい。 Infのおかげで、ゼロ割エラーで止まらなくなったのはうれしい。 IF文で避けているはずなのに、投機的実行して0割エラーでアボンとか、ウンコ漏れそうになるw 正直NaNはあんまり助けにならん。 >>777 その質問じゃ答えようが無い。 もう少し具体的に質問すれば誰か答えてくれるだろう。 書いてあることは、>>779 の言うとおりだ。 1.gzipで圧縮してあるからばらすが良い。解凍するとASCIIファイルが出る。 2.そのASCIIファイルのデータの書式。および読み込みサンプル。 の2点だ。
781 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 07:47:23 ] 中二病?
782 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 18:38:47 ] 夏休みで暇だから、宿題を持ってきたまえ。
783 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:27:55 ] >>777 中身もちゃんと見ていないが、たぶん、IPCC(国際的な専門家でつくる気候変動に関する政府間パネル) が、シミュレーションした結果をGRIB形式とかいうので保存してあるというやつの 中身の説明と、サンプルプログラムじゃないかな。
784 名前:デフォルトの名無しさん [2007/08/21(火) 11:56:55 ] OPEN(5,FILE='C:\\test-data.txt') DO 20 K=1,200 READ(5,25)X(K),Y(K) 25 FORMAT(2F20.0) 20 CONTINUE のとき、test-data.txtはどんなデータを与えればいいのだ? 2F20.0がよくわからん。
785 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 23:10:05 ] >>784 勝手に装置番号 5番を使うなよ。とか、 不用意に入力に書式仕様を使うなよ。というのは置いといて。 2F20.0 「20文字読み込んでその値を実数と見なす。小数点も指数も含まない場合は小数部のない実数と見なす。」 を 2回繰り返す。
786 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 00:32:58 ] >>785 まぁ F20.0 を使ったのは筋のいいほうでないかいw
787 名前:デフォルトの名無しさん [2007/09/01(土) 03:44:42 ] >>785 unit 番号は置いといて 読みこむ場合は、カラムの20,21カラムがしっかりしてたら 123.456 とかを入れても、123.456できちんと格納されてるよ。
788 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 10:11:05 ] データの桁位置が絶対にズレないということなら大丈夫なんだけどね…
789 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 16:07:04 ] Fortranで整数型 i = 1を文字型に変換するにはどうしたらよいでしょうか? i = 1 hoge = char(i) だとhogeに『のような文字が入りうまくいきません.
790 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 20:54:09 ] >>789 二バイト文字を入れたいという質問か?
791 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 21:02:48 ] >>789 >>587-590
792 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 21:39:58 ] このスレは内部ファイルの質問の無限ループだなw
793 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 08:01:37 ] 超初心者用だからな。 それだけ初心者にとって理解しにくい部分ってことだろ。
794 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 00:22:38 ] 次からテンプレに内部ファイルの使い方を書いといてくれ。
795 名前:デフォルトの名無しさん [2007/09/09(日) 19:45:39 ] visual fortranだと動くのに、FTN95だとめちゃくちゃエラーがでて コンパイルできません。金が無いんでフリーのFTNで動かしたいのですが 主な原因わかるかたいるでしょうか?
796 名前:デフォルトの名無しさん [2007/09/09(日) 21:04:57 ] >>789 Fortran まだあるのかよ Format変換かけて内部にWriteすればよいと思う SFTNとかUFTNとかあるのだろうか... $Branchi $do とか...
797 名前:エスパー mailto:sage [2007/09/09(日) 21:51:03 ] >>795 Visual Fortran独自の機能を使っているからだよ。
798 名前:デフォルトの名無しさん [2007/09/10(月) 13:12:28 ] FORTRAN使いが許容できるのはFORTRAN77迄だべ。 もはやFORTRANは死んでいる。C言語のプリプロセッサに成り下がった。
799 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 13:46:42 ] >>798 終わってるのはCのほうだろw
800 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 18:49:41 ] すいません。 整数を格納する1次元配列と整数のデータがあります. 整数データを重複を許さないで(重複データを飛ばして)配列に格納するにはどうすればよろしいでしょうか?
801 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 19:49:54 ] >>800 sort uniq
802 名前:デフォルトの名無しさん [2007/09/11(火) 05:00:09 ] 超初心者です。 format文の練習のために 学籍番号122番のアキラ君は 英語50点,国語80点、数学30点。この3科目の合計点は160点です。」 という文字を表示するプログラムを character*20 a integer b real c,d,e,f read(*,10)a,b,c,d,e,f 10 format(a6,i3,3i2,i3) f=c+d+e write(*,20)b,a,c,d,e,f 20+format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語',i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。') stop end というように作ったんですけど 0007) write(*,20)b,a,c,d,e,f 0008) 20+format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語',i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。') *** Non-blank label field in continuation line 0008) 20+format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語',i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。') WARNING - Characters found after column 72 (use -NO_WARN73 to suppress) *** Unterminated or empty character constant 2 ERRORS,1 WARNINGS [<MAIN@>FTN77 Ver 4.03] *** Compilation failed とでてコンパイルできません。どこがいけないのでしょうか?
803 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 10:05:09 ] >>802 20+format プラス記号が紛れ込んで、継続行扱いになっている。それで矛盾。 あと72カラムはみ出している。 一応エラーメッセージを読めば書いてある。 初心者はエラーメッセージを読んでも分からないといって読まないのが普通だが、教養人なら読めw
804 名前:デフォルトの名無しさん [2007/09/12(水) 02:28:32 ] >>803 返信ありがとうございます。 すいません。お聞きしたいのですが72欄をこえて書くにはどうしたらよいのでしょうか? ネットで調べたら 6欄は72欄を超えてしまった場合、ここに何か文字を書けば(たいていは「+」を書く)、72欄を越す文であっても続けて書き続けることができるようになります。 と書いてあったのですけど自分の書き方ではいけないのでしょうか? 初心者名質問ですいません。ぜひ教えてください。
805 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 11:37:24 ] >>804 72カラムを超えては書けないので、次の行に継続することになる。 20 format('学籍番号',i3,'番の',a6,'君は',4x,'英語',i2,'点、国語', + i2,'点、数学',i2,'点。この3科目の合計点は',i3,'点です。') こんなかんじか。よく確かめていないが。
806 名前:デフォルトの名無しさん [2007/09/12(水) 14:59:44 ] >>804 ありがとうございます。コンパイルできました。 しかしまたあらたな問題が。 ネットでは>>802 のプログラムをコンパイルして実行したら 「学籍番号122番のアキラ君は 英語50点,国語80点、数学30点。この3科目の合計点は160点です。」という文が表示されます。 とかいてあったのですが実際に実行したらコマンドプロンプトの画面に C:\fortaran>format とでてきて何かを入力するみたいなんですがどのように入力すればいいのでしょうか? アキラ,122,50,80,30,160 と入力すればいいのでしょうか?でもコマンドプロンプト上では日本語入力できなくてこまってるんですけど。 すいません。また初歩的と思われる質問になってしまって。 お手数ですがよろしくお願いします。
807 名前:デフォルトの名無しさん [2007/09/12(水) 15:01:26 ] >>804 ありがとうございます。コンパイルできました。 しかしまたあらたな問題が。 ネットでは>>802 のプログラムをコンパイルして実行したら 「学籍番号122番のアキラ君は 英語50点,国語80点、数学30点。この3科目の合計点は160点です。」という文が表示されます。 とかいてあったのですが実際に実行したらコマンドプロンプトの画面に C:\fortaran>format とでてきて何かを入力するみたいなんですがどのように入力すればいいのでしょうか? アキラ,122,50,80,30,160 と入力すればいいのでしょうか?でもコマンドプロンプト上では日本語入力できなくてこまってるんですけど。 すいません。また初歩的と思われる質問になってしまって。 お手数ですがよろしくお願いします。
808 名前:デフォルトの名無しさん [2007/09/12(水) 15:02:19 ] すいません連続投稿となってしまいました。
809 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 20:16:55 ] >>806 >何かを入力するみたいなんですが つ READ文 使い方は(ry >どのように入力すればいいのでしょうか? アキラ122508030160 >コマンドプロンプト上では日本語入力できなくて [Alt] + [半角/全角 漢字] あと >>802 のプログラムは「変数の型」と「FORMAT文」について要復習だ。
810 名前:デフォルトの名無しさん [2007/09/14(金) 23:52:05 ] >>809 ありがとうございます。 もっとしっかり勉強します!
811 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:10:26 ] www12.plala.or.jp/ksp/formula/mathFormula/html/node8.html これらの式の右辺部を計算しようとした時に 式の通りに考えて wa=(1/2)*(n*(n+1)) wa=(1/6)*(n*(n+1)*(2n+1)) のようにしたらうまく計算出来ずにnに何を入れても0が出てしまいます。 wa=(n*(n+1))/2 wa=(n*(n+1)*(2n+1))/6 みたいにしたら出来たのですが。。。 上と下の違いがよくわかりません。括弧などの付け方は間違ってないと思うのですが・・・ 変数は integer n double precision wa で設定しました。
812 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:40:42 ] >>811 質問する時は一部だけ示すのではなく、コンパイル出来るソースを 最初から最後まで示すべき。 括弧の中の演算は先に実行されるから、先に(1/2)が計算される。 整数型同士の除算1/2は0となり、0と何が掛けられても0になる。 (1/2)でなく、(1./2.)と書いたら計算結果が変わるでしょ?
813 名前:811 mailto:sage [2007/09/15(土) 23:58:14 ] 質問の仕方が悪かったようで、申し訳ありませんでした。 今後はそのように質問させて頂きます。 問題は無事解決いたしました。どうも有り難うございました。
814 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:00:33 ] 素因数分解をするプログラムを組みました。 出力を99=1*3*3*11 みたいに1行に書きたいのですが 99=1 *3 *3 *11 のように複数行にわたってしまいます。これを改行せずに書きたいのですがどのようにしたらいいのでしょう。 文字列であれば write(*,'(a\)')'hoge' のように出来るのですが文字列と整数がごっちゃになった場合だとどうしてもうまくいかなくて・・・ アドバイスお願いします。 また、もしwrite文以外でもおかしな所があれば教えてください。 ソース(f90)は次の書き込みで書きます。
815 名前:814 mailto:sage [2007/09/16(日) 23:01:56 ] implicit none integer n,i,m,k write(*,'(a\)')'input n:' read(*,*)n write(*,*)n,'=1' k=n i=2 do while (i<=k) m=mod(k,i) if(m==0)then write(*,*)'*',i k=k/i cycle else if(k==i)then exit else i=i+1 cycle endif enddo end
816 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:21:51 ] write(*,'(A,I4,\)') '*', i
817 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:45:50 ] >>814 program unko implicit none integer n,i,m,k write(*,'(a)', ADVANCE='NO')'input n:' read(*,*)n write(*,'(i4, a)', ADVANCE='NO')n,'= 1' k=n i=2 do while (i<=k) m=mod(k,i) if(m==0)then write(*, '(a, i3)', ADVANCE='NO') ' *', i k=k/i cycle else if(k==i)then exit else i=i+1 cycle endif enddo WRITE(*, *) end program unko FORTRAN90の標準内でやろうとすると、ADVANCE='NO'を使うことになると思う。
818 名前:814 mailto:sage [2007/09/17(月) 03:24:10 ] >>816 >>817 レス有り難うございます! 解決しました!なるほどそのように書けばよいのですか。 同じ改行しないようにするのでも 標準仕様とか拡張?仕様などによって変わるのですね。
819 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 00:18:17 ] Visual Studio 2005 + Intel Fortran v10 で、ソース行のトレースバックってどうやって表示させるの? CVFの時代は、簡単に出来たんだけど。 ソース行が分からないと、実行時エラーが出ても対処がめんどい。
820 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 12:46:28 ] >>819 Version 9系ならソース行付きトレースバックでる。10と共存できるのでとりあえずそれで見たら?
821 名前:デフォルトの名無しさん [2007/09/20(木) 14:13:16 ] 横に並んでいるデータをエクセルで1つのセルに表示させたいので、列ごとにファイルを出そうと思っているのですが 上手く読み込んでくれません。 わかるかたいたら教えていただきたいと思います。 program example implicit real*8(a-h,o-z) dimension x1(1000000),x2(1000000),x3(1000000),t(1000000) open(200,file='iwayaguchi1023k.dat') open(100,file='x1.dat') open(110,file='x2.dat') open(120,file='x3.dat') m=16.d0 n=2.0**m read(200,*) read(200,*) read(200,*) read(200,600) (t(i),x1(i),x2(i),x3(i),i=1,n) 600 format(4f10.3) do 10 k=1,n read(300,*) x1(k) read(300,*) x2(k) read(300,*) x3(k) write(100,*) x1(k) write(110,*) x2(k) write(120,*) x3(k) 10 continue pause stop end
822 名前:デフォルトの名無しさん [2007/09/20(木) 14:14:33 ] ちなみにもとのデータは以下のようになっています 2004/10/23 17:56:00 37.2900 138.8000 13.0 6.8 NIG001 38.2584 138.4337 2004/10/23 17:56:21 172960.010 N-S E-W U-D 0.000 -0.023 -0.025 -0.001 0.010 -0.006 0.003 0.009 0.020 0.001 -0.023 0.016 0.030 -0.020 -0.044 0.002 0.040 -0.012 -0.021 -0.001 0.050 -0.005 0.002 0.006 0.060 0.021 -0.004 -0.006 0.070 0.012 -0.004 0.004 0.080 -0.022 -0.020 -0.007 0.090 -0.038 0.018 -0.031 (このようなのがずっと続く) お願い致します。
823 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 20:36:59 ] >>821 program hoge implicit none character*8 dmy real*8 t, x1, x2, x3 integer i open(200, file='iwayaguchi1023k.dat', status='OLD') open(110, file='x1.txt', status='REPLACE') open(120, file='x2.txt', status='REPLACE') open(130, file='x3.txt', status='REPLACE') do 10 i = 1, 3 read(200, *) dmy 10 continue 20 continue read(200, fmt=*, end=99) t, x1, x2, x3 write(110, *) x1 write(120, *) x2 write(130, *) x3 goto 20 99 continue close(200) close(110) close(120) close(130) stop end >横に並んでいるデータをエクセルで1つのセルに表示させたいので、 データファイルを開くときにテキストファイルウィザードで 「元のデータ形式」に「スペースによって右または…」を選択して[次へ] フィールド区切りの矢印をダブルクリックですべて消して[完了]
824 名前:デフォルトの名無しさん [2007/09/21(金) 12:41:54 ] >>823 ありがとうございます。 おかげさまで問題解決いたしました。
825 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 13:03:30 ] 解決した、しなかっただけでなく、「どのようにして」のところを書いてほしい。
826 名前:デフォルトの名無しさん [2007/09/24(月) 15:01:57 ] 多重積分で2次元から3次元に拡張しただけなのにunpaired right bracketsが あることと、truncated lineがあるとエラーが出ました。こうしたエラーの 原因はなんでしょうか?
827 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:36:38 ] >>826 超能力者になれるかな。 1行72文字オーバー
828 名前:デフォルトの名無しさん [2007/09/25(火) 13:34:14 ] 825> 言われたとおりやったら解決いたしました
829 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 01:52:57 ] 質問させてください. あるFortranの計算コード群をソースからビルドしライブラリを作成した後, Cのコードから呼び出そうと考えています. ここで (1) Fortranコンパイラでビルド (2) f2cされたコードをCコンパイラでビルド の2つには有意な性能の差が生じるのでしょうか. 定説があれば教えて頂けると幸いです.
830 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 03:29:22 ] 定説はないので計ってみるしかない 自分の僅かな経験では (1)Intel Fortran Compilerと(2) f2c + gccについて 自分の書いたソースで比べたところ(1)の方が速かった
831 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 16:42:57 ] すいません。 計算終了時に何かしら音が出るようにしたいのですが、 何かBEEP音のようなものを出す命令はないのでしょうか。
832 名前:829 mailto:sage [2007/09/28(金) 02:06:46 ] >>830 経験談ありがとうございます 時間のとれるときにじっくり計測してみたいと思います
833 名前:デフォルトの名無しさん [2007/09/30(日) 01:30:11 ] メモ帳でプログラムを組んでるんですが、インデントの感じが気に入りません。 Emacsみたいなフリーで手に入ってWindows XPで動くようなエディタはありませんか?
834 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:45:58 ] >>833 気に入らないも何もメモ帳はインデントしてくれないだろ? Emacsみたいなのが欲しいのなら、windowsで動くemacsクローンはMeadowとかいろいろある。
835 名前:833 [2007/09/30(日) 09:48:23 ] notepadのインデントはtabをおしたら何行も進むという意味です。 meadowとxyzzyならどっちがいいでしょうか?
836 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:49:56 ] >>835 手動インデントのことだったのか。てっきり自動インデントのことかと思った。 でも、タブで何行も進む?本当にそれはメモ帳? 835の「いい」の基準が分からないから実際にmeadowとxyzzyの両方を使ってみて気に入った方にすればいい。 慣れとかの点でemacs系を選択しようとしているんだと思うが、 emacsに拘らないのならメモ帳でソース書くよりは全然マシなフリーなエディタはwindowsにいくらでもあるぞ。 FORTRANに特化したものは無くてもFORTRANモード的なものを持ったものは何もemacsだけではない。
837 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 18:37:01 ] メモ帳はTABキーを押しても「タブ文字」が挿入されるだけ。
838 名前:833 [2007/09/30(日) 21:19:56 ] とりあえず、サクラエディタを入れてみました。 質問に答えていただいてありがとうございました。
839 名前:デフォルトの名無しさん [2007/10/02(火) 13:29:19 ] www.coastal-env.k.u-tokyo.ac.jp/koibuchi/fortran95/fortran77.htm Fortranを始めようと思ってこのページにある方法でやろうとしているのですが うまくいきません。 WRITE(*,*) 'TEST' END と入力してコンパイルしようとしても 「コンパイルに失敗しました ファイルC:\.....\fotran.exeは存在しません」 と言われて実行することが出来ません。 これはどうすれば良いのでしょうか? いますぐFortranを練習する必要があり、困っています。 どなたかお願い致します。
840 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 14:00:49 ] >>839 fortran.exeがどこにあるか検索してみては? そんなに急ぐなら、周りの友達に飯でも奢って助けてもらったら?
841 名前:デフォルトの名無しさん [2007/10/02(火) 14:12:49 ] >>840 fortran.exeの場所はちゃんと指定しています。 コンパイルして作成されるはずの実行ファイルがないと 言われているのですが。 それと 周りにfortranを扱える人はいません。
842 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 14:37:30 ] コンパイルして作成されるはずの実行ファイルがC:\.....\fotran.exeなの? それはコンパイラ自身じゃないの? FORTRAN処理系が何で、どういうインストールの仕方をして、 どこに何というソースファイルを作って、どういうふうにコンパイルをしたか、 詳しく書かないと原因がよくわからない。 単にWindowsのコマンドプロンプトの使い方が分かってないだけの問題ということはない?
843 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 14:44:14 ] WRITE(*,*) 'TEST'とENDの前に6つのスペース入れていないに1票
844 名前:デフォルトの名無しさん [2007/10/02(火) 15:01:19 ] >>843 ありがとうございます。 スペースを入れるとうまくいきました。 でも ace.phys.h.kyoto-u.ac.jp/~tomita/education/fortran90/examples/ex1_1.f90 このページにあるプログラムをそのままコピペして使おうとしても なぜか同じエラーが出てしまうのですが これはなぜなのでしょうか? スペースはちゃんと入っているはずなのですが
845 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 15:10:19 ] なんでそれで 「コンパイルに失敗しました ファイルC:\.....\fotran.exeは存在しません」 なんてエラーメッセージがでるんだよw
846 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 15:30:46 ] >>844 Fortran77のコンパイラでFortran90のコードをコンパイルするのは無理だと思いますよ。 FTN95でもインストールして見てはいかがですか? >>845 おまい、頭悪いな。>>839 がコードのファイル名をfotran.for'として 保存したからに決まってるだろw
847 名前:デフォルトの名無しさん [2007/10/02(火) 15:47:00 ] Fortran90とFTN95って どちらの方が新しいのでしょうか?
848 名前:844 [2007/10/02(火) 16:01:30 ] そんなに特殊な記述を使わない限り90の記述でも 77で使えると聞いたのですが違うのでしょうか? 一体どこの部分を治せばコンパイル可能になりますか? !----- Ex1_1: 3種類の平均値 ----- PROGRAM Example_1_1 REAL :: a, b, av1, av2, av3 READ *, a, b av1 = (a + b)/2.0 av2 = (a*b)**0.5 av3 = 2.0/(1.0/a + 1.0/b) PRINT*, av1, av2, av3 END
849 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 16:19:57 ] >>848 REALから始まる行を削除すればいい。
850 名前:デフォルトの名無しさん [2007/10/02(火) 16:24:48 ] >>849 やってみました。 でもうまくいかないようなんですが・・・
851 名前:デフォルトの名無しさん [2007/10/02(火) 16:45:54 ] www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.asp を使ってみましたが それでもうまくいきません。 なんなんでしょうか?これは?
852 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 16:51:26 ] >>846 「コンパイルに失敗しました」はコンパイラの吐くエラーだし 作られたはずの実行ファイルが無いというメッセージはコンパイラが吐くとは思えないんだが
853 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 17:52:13 ] >>851 普通にそのコンパイラで>>844 のコードも>>848 のコードも動きました。 付属のPlato3起動して左上のマウスを乗せるとNewを表示される白いアイコンをクリック 出てきたウィンドウでFree format Fortran source fileが選択されてる事を確認してOKを押す >>844 をコピペしたら、左上のマウスを乗せるとStartと表示される青い三角アイコンをクリック 適当なファイル名で保存(拡張子は弄らない) 保存後にウィンドウが出るが気にせずOKをクリック で動かなければ後は白根山 >>852 実行ファイルが無いというメッセージはCpadが吐いてる。
854 名前:デフォルトの名無しさん [2007/10/02(火) 19:24:31 ] >>853 丁寧な解説ありがとうございます。 しかし それと同じことはすでに行っているのですが sakuratan.ddo.jp/imgboard/img-box/img20071002191043.jpg のようなコマンドプロンプト画面が出てくるだけでプログラムが始まりません。 OSはXPsp2なのですが、それと何か関係があるのでしょうか?
855 名前:854 [2007/10/02(火) 19:31:26 ] すいません、解決しました。 数値を入力すれば良かったんですね。 ありがとうございます。 でも >>848-849 のように>>839 のコンパイラでうまくいかないのはなぜなのでしょうか? 実際に使用するのはFortran77なので 77に準拠したコンパイラを使いたいのですが。
856 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 21:53:39 ] >>855 何をやったのか どんな結果になってうまくいかなかったのか エラーメッセージが出たらその内容 くらい書かないと「しらねーよ」としか答えられない。
857 名前:デフォルトの名無しさん [2007/10/02(火) 22:06:47 ] >何をやったのか >どんな結果になってうまくいかなかったのか >エラーメッセージが出たらその内容 全部>>839 に書いてあるのですが・・・
858 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 23:04:32 ] >>857 「コンパイルに失敗しました」と表示されたときに CPadの下の方のメッセージウィンドウに何か表示されてない?
859 名前:デフォルトの名無しさん [2007/10/03(水) 11:42:56 ] >>858 ■C:\Documents and Settings\....\Fortran> ftn77 /link ttt.for [Salford FTN77/Win32 v4.03, Copyright (c) Salford Software Ltd. 1988-1998] Licensed to: FTN77 Personal Edition Department: Non-commercial use only 0001) !----- Ex1_1: 3種類の平均値 ----- 0002) PROGRAM Example_1_1 *** Unexpected continuation line (have you got more than 19?) 0007) PRINT*, av1, av2, av3 0008) END *** Non-blank label field in continuation line 0008) END 0009) *** Unexpected end of file (END statement assumed) 3 ERRORS [<MAIN@>FTN77 Ver 4.03] *** Compilation failed ^C というエラーが出ています。 どうすればいいんでしょうか?
860 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 11:51:10 ] >>859 1から6カラムまで開けろや!
861 名前:デフォルトの名無しさん [2007/10/03(水) 12:34:36 ] >>860 すいません、どういう意味ですか? 開けるというのは何を開けるのですか?
862 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 18:12:30 ] 言っちゃ何だが、FORTRANの文法をよく勉強したほうが いいんじゃないか? 自分のしたいことをコード化できないようじゃ理論ギャップ があるのかバグがあるのか判断できないじゃまいか。
863 名前:デフォルトの名無しさん [2007/10/03(水) 18:14:39 ] 勉強はするつもりです。 だからとりあえずコンパイラがちゃんと動くしたいのです。
864 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 18:42:19 ] じゃあ、エラーメッセージ読んで考えろよw
865 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 03:45:16 ] >>861 >>843 どんな入門書でも最初の数ページ以内に書いてあるような基本的なことだぞ。 ちゃんとしたプログラムが書けなきゃコンパイラがちゃんと動くかどうかも確認できないぞ。
866 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 11:29:36 ] >>865 Fortran90と混同しているから、教えるのはかなり大変だぞwwww 教育者としての真価が問われる。 神化しないと切れるだろうwwwwwwwwwww
867 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 03:23:05 ] もやすみちゃん
868 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 01:50:10 ] 関数をサブルーチンの引数とすることはできるのでしょうか? サブルーチンの引数として被積分関数や積分範囲等を設定できればと思っています。 どなたかわかる方がいらっしゃいましたら、ご教授いただければと思います。