トップページ⇒tech
1001コメント411KB

FORTRAN III

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
FORTRAN総合スレッドです。
FORTRAN77/90/95/2003, HPF等、FORTRAN全般に関する話題を書き込んで下さい。

・前スレ
FORTRAN II
http://pc5.2ch.net/test/read.cgi/tech/1068351911/
Fortran
http://pc2.2ch.net/test/read.cgi/tech/1003214738/
0002デフォルトの名無しさんNGNG
・FORTRAN関連情報
お約束だが、まずは自分で調べよう
http://www.google.co.jp/

x86で動作するFortranコンパイラ
http://www.nminoru.jp/~nminoru/programming/x86-fortran.html

The Fortran Company
http://www.fortran.com/
Polyhedron Software
http://www.polyhedron.co.uk/
Google Directory - Fortran
http://directory.google.com/Top/Computers/Programming/Languages/Fortran/
0003デフォルトの名無しさんNGNG
・フリー/無料評価版のコンパイラ
The G95 project (Fortran95)
http://www.g95.org/
GCC (g77) (今のところ FORTRAN77)
http://gcc.gnu.org/
Salford FTN77/95 Personal Edition (Fortran77/95, Windows, 要登録)
http://www.salfordsoftware.co.uk/software/downloads/compilers.html
FTN77/95のインストール方法
http://www.coastal-env.k.u-tokyo.ac.jp/koibuchi/fortran.htm
the F Programming Language (Fortran90のサブセット, Win/Linux/Solaris)
http://www.fortran.com/F/compilers.html
Open Watcom Fortran Compiler (FORTRAN77)
http://www.openwatcom.org/
Intel Fortran Compiler (Fortran95, 無料評価版(Win)/非商用バージョン(Linux), 要登録)
http://www.xlsoft.com/jp/products/download/download.html
Lahey/Fujitsu Fortran (期限付きトライアル版, Win/Linux, 要登録)
http://www.lahey.com/downloads.htm
0004デフォルトの名無しさんNGNG
・ドキュメント
Compaq Visual Fortran オンライン・ドキュメント
http://www.xlsoft.com/jp/products/intel/cvf/docs/index.html
Intel Fortran Compiler 日本語版マニュアルのダウンロード (要登録)
http://www.xlsoft.com/jp/products/intel/download.html
富士通Fortranオンラインマニュアル
http://www.cc.nao.ac.jp/fsunman/japanese/Fortran/index.html

FORTRAN77 standard
http://www.swcp.com/~walt/F77_std/f77_std.html
http://www.fortran.com/fortran/F77_std/rjcnf0001.html

JISデータベース
http://www.jisc.go.jp/
0005デフォルトの名無しさんNGNG
・チュートリアル等
Fortran90プログラミング
http://www.ip.media.kyoto-u.ac.jp/htomita/
Fortran 90 言語マニュアル
http://www.rs.kagu.tus.ac.jp/yama/
やさしいフォートラン講座
http://www.g.dendai.ac.jp/kouza/top.htm
Fortran ResQ - Fortran初心者に捧ぐ
http://homepage.mac.com/galois21/fortran/index.html
FORTRANプログラミング初級編
http://svr01.damp.tottori-u.ac.jp/~akimoto/Fortran/
FORTRAN 77 入門
http://www-aos.eps.s.u-tokyo.ac.jp/~takagi/f77-enshu/index.html
0006デフォルトの名無しさんNGNG
・その他
Fortran Source Check (オンライン文法チェック)
http://www.lahey.com/check.htm
ftnchek
http://www.dsm.fordham.edu/~ftnchek/
c2f
http://www.unics.uni-hannover.de/rrzn/gehrke/c2f.html
F2C
http://www.vector.co.jp/soft/win95/prog/se056813.html

Fortranの歴史
http://members.at.infoseek.co.jp/kitaurawa/fortran.html

The Real Programmer Stories (日本語訳)
http://www.genpaku.org/realprogrammerj.html
00071NGNG
前スレが落ちたようなので、立ててみました。

というわけで、後は任せた。
オレはもう寝る。
0008デフォルトの名無しさんNGNG
とりあえず乙>>1
0009デフォルトの名無しさんNGNG
>>1

print *,"乙"
0010デフォルトの名無しさんNGNG
配列変数の宣言なんですが、引数の範囲を実数で指定すればうまくいく。
引数の範囲を同じ値の変数で指定すれば範囲が大きいときにstackoverflowがでる。
という現象が起こっています。
なぜでしょうか?
0011デフォルトの名無しさんNGNG
>>10
>配列変数の宣言なんですが、引数の範囲を実数で指定すればうまくいく。
>引数の範囲を同じ値の変数で指定すれば範囲が大きいときにstackoverflowがでる。

いまいちよく解らないんだが。

SUBROUTINE FOO(A, N)
REAL A(N)
・・・

とかやってるってこと?
001277NGNG
どうも失礼します・・・ fortran77使ってます。
temp = v(im,jm,km)*(x(number)-r(1))*(z(number)-r(2))*(y(number)-r(3))
& +v(im,jm,kp)*(x(number)-r(1))*(z(number)-r(2))*(r(3)-y(number-1))
& +v(ip,jm,km)*(r(1)-x(number-1))*(z(number)-r(2))*(y(number)-r(3))
& +v(ip,jm,kp)*(r(1)-x(number-1))*(z(number)-r(2))*(r(3)-y(number-1))
& +v(ip,jp,km)*(r(1)-x(number-1))*(r(2)-z(number-1))*(y(number)-r(3))
& +v(ip,jp,kp)*(r(1)-x(number-1))*(r(2)-z(number-1))*(r(3)-y(number-1))
& +v(im,jp,km)*(x(number)-r(1))*(r(2)-z(number-1))*(y(number)-r(3))
& +v(im,jp,kp)*(x(number)-r(1))*(r(2)-z(number-1))*(r(3)-y(number-1))
この括弧の数はあってると思うんですが、最後の行で、
Syntax error, found END-OF-STATEMENT when expecting one of: , )
& +v(im,jp,kp)*(x(number)-r(1))*(r(2)-z(number-1))*(r(3)-y(number-1))
-----------------------------------------------------------------------------------^
というエラーが。。。括弧以外に原因があるのでしょうか??
0013デフォルトの名無しさんNGNG
>>12
72桁超えてる。
001410NGNG
>>11
全くそのとおりです。説明が不足でした。
サブルーチン呼び出し時に値を渡し、
サブルーチン内でその変数を使って配列を宣言しているのです。
0015デフォルトの名無しさんNGNG
>>10
>引数の範囲を実数で指定すればうまくいく。

整数だよね

>引数の範囲を同じ値の変数で指定すれば範囲が大きいときにstackoverflowがでる。

日本語がよく分からんが、配列の次元を馬鹿でかくするという意味なら、関数またぐ時だし、仕様かな。
ただ、ソースも具体的な数字もないので、何とも言えんが。
http://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/pg/pg04_02_43.htm


0016デフォルトの名無しさんNGNG
想像するに 10 は

「配列変数の宣言なんですが、添え字の範囲を定数で指定すればうまくいく。
添え字の範囲を、引数で渡される変数で指定すれば範囲が大きいときにstackoverflowがでる。
という現象が起こっています。
なぜでしょうか? 」
といいたいのでは?

であれば、
・前半は、配列は、ふつーの配列であり、ヒープからメモリが割り当てられる
・後半は、配列は、自動割付配列となり、スタックからメモリが割り当てられる


対処法は
・>>15にあるように、スタックサイズをあげる
・F90で書き、配列をALLOCATEによって確保する
あたりか?

0017勉強になります05/01/19 16:57:20
ここの過去ログはどこかに置いていませんか?
0018デフォルトの名無しさん05/01/20 06:07:45
>>17
Fortran
http://pc5.2ch.net/tech/kako/1003/10032/1003214738.html

「FORTRAN II」(2スレ目)の方はもうしばらくしてhtml化されるのを待つか、●を買え。
00191705/01/21 14:13:37
>>18
どうもありがとうございます。
0020デフォルトの名無しさん05/01/27 08:36:09
3次関数の最小自乗法による係数決定のやり方はどこかにありませんか?
0021デフォルトの名無しさん05/01/27 10:08:32
http://pc5.2ch.net/test/read.cgi/tech/1103561159/
0022デフォルトの名無しさん05/01/28 00:38:31
>>20
>>2の一番上にあります。
0023デフォルトの名無しさん05/01/28 03:34:05
unformattedなファイル読み込みルーチン作製中です。
unformattedで書き込んだファイルのreadは全く問題ないのですが、
openの際に、うっかりそうでないファイルを指定した時の振舞で悩んでます。

やりたいことは「ファイル先頭をチラっと見る。意図してないファイル形式なら
その旨のエラー出して終了」です。ですが、ウチの環境で不適切なファイルを
unformattedでopenすると、readの段で強制的にプログラムが停止してしまいます。
これではエラー出すヒマが無く、一方で(私の知識の範囲内では)ファイルの判断には
readをするしかないため、どうにもジレンマに陥ってしまいました。

何かイイ方法御存知の方いらっしゃいますでしょうか?
当方 RHEL3(amd64) + Intel Fortran 8.1 であります。
0024デフォルトの名無しさん05/01/28 21:29:21
>>23
iostatでチェック
0025デフォルトの名無しさん05/01/29 20:10:08
データファイルから読み込むのに、一行に一つのデータでファイルを作ると
読み込むのに、一行に "," 区切りで複数のデータを与えたら一つ目のデータ
しか正しく読めず、あとのデータが????に成ります。
どうしたらいいのでしょうか。
Salford FTN77です。
0026デフォルトの名無しさん05/01/29 22:03:34
Fortranで
 ・Cの仕様書工房
 ・Cppunit
みたいなツールってないでしょうか?
0027デフォルトの名無しさん05/02/07 13:19:58
変数 / 関数の型を表示したり、変数の共有のされ具合が分かる
emacs lisp を探しています。
fortran はハンパじゃないので etags だけではちょっと無理です。。。
0028デフォルトの名無しさん05/02/07 21:02:21
>>25
データの数かFORMATの指定が間違ってない?
うちの環境では","で区切っても正しく読み込めたけど。
0029デフォルトの名無しさん05/02/14 17:13:31
基礎的なことなんですがx^nを求める関数は何でしょうか?
0030デフォルトの名無しさん05/02/14 17:28:22
x**n
0031デフォルトの名無しさん05/02/15 20:35:27
Fortranの規格名称のことでちょっと教えてください。
『Fortran 95』というふうに95の前にスペースを入れるのと,
『Fortran95』というふうにスペースを入れないのと,
どちらが正しいのでしょうか?
0032デフォルトの名無しさん05/02/15 21:32:04
どちらも正しくない。それは通称だ。
0033デフォルトの名無しさん05/02/15 21:33:18
特に決まりは無いと思うよ。ぐぐる君の意見だと『Fortran 95』の勝ちだね。

"Fortran 95" の検索結果 約 107,000 件
"Fortran95" の検索結果 約 12,800 件
00343105/02/15 21:44:34
>>32-33
THANX!
0035デフォルトの名無しさん05/02/15 21:55:33
>>31
ちなみに Fortran 95 の規格は
 ANSI X3J3/96-007
 JIS X 3001:1998
 ISO/IEC 1539-1:1997
内容は全部同じ。
00363105/02/15 22:56:25
>>35
わ,そうだったんですか!
詳しいフォロー,ありがとうございました。
0037デフォルトの名無しさん05/02/19 02:09:05
WinXP のパソコンで Fortran 90 のコーディングをしたいのですが,
Salford FTN95 を使うか,それとも,うちの職場にあった唯一の
PC用Fortranコンパイラである Fortran PowerStation 4.0 を使うか,
迷っています。
(他の商品版を買うのは高くて,今のところは躊躇しています)

Win95の頃に発売された Fortran PowerStation 4.0 は Win XP に
インストールしてもコンパイルなどは正常に行われるのでしょうか?
0038デフォルトの名無しさん05/02/19 09:22:14
>>37
WindowsXP上で、FORTRAN77のソースをコンパイル、正常実行できた記憶があるよ

0039デフォルトの名無しさん05/02/20 09:27:24
> 37
cygwin上でgcc-4.0(CVS版ですが)をmakeしてみる. gfortranができるが
これがf90. 簡単なやつでテストしてみましたが, よっぽどf90の機能を
使ってない限り, 大丈夫そうでした.
0040デフォルトの名無しさん05/02/20 13:45:59
g95 の linux バイナリがあるということは,
cygwin か coLinux を入れればフォートランランランってことなんじゃないかな.
0041デフォルトの名無しさん05/02/20 18:31:41
g95なら >>3 にWindows用のバイナリも置いてあるわけだが。
00423705/02/21 20:45:14
>>38-41
レスありがとうございました m(_ _)m"
0043デフォルトの名無しさん05/02/22 19:47:40
Windows XP をサポートしている商用版の Fortran 90 或いは Fortran 95 コンパイラで
お薦めのものがあったら教えてください。
00444305/02/22 19:49:48
↑
できれば日本語マニュアルがあって,便利なライブラリも付属しているものが良いですが‥‥。
ご存じのかた,よろしくお願いします m(_ _)m"
0045デフォルトの名無しさん05/02/22 20:58:15
>>43
Intel の Visual Fortran

何をするのに「便利な」ライブラリが欲しいのか知らないが
Windows上でグラフィックが使える QuickWin や
Pro版にはIMSLも付いている。

また付属ではないが、Windows上の事実上の標準なので
MKL や Lapack(95) 、 f90gl 等、有名どころのライブラリは
大抵使える。
00464305/02/22 22:16:45
>>45さん,ありがとうございました。
ライブラリの件ですが,目指しているのは地球のダイナモの成因となる
外核のMHDシミュレーションなので,その数値計算に便利なライブラリが
あればと考えています(地球流体電脳ライブラリが既に存在してはいますが)。
0047デフォルトの名無しさん05/02/22 23:28:18
g95って,ホームページには There are still bugs buried here and there. (あちらこちらに
バグがまだ埋まっている)と書いてありますが,どういうバグなのでしょうか?
コンパイルや計算が正しく行われなかったりするのでしょうか?
0048デフォルトの名無しさん05/02/23 09:47:51
>> 43
ttp://www.polyhedron.co.uk
にベンチマークも含めてのっていますよ
00494305/02/23 19:04:02
>>48
情報ありがとうございました。
早速見てみます。
0050デフォルトの名無しさん05/02/25 08:41:43
あるsubroutineの中からその属するsubroutineと同じsubroutineを呼び出したのですが
どうすればいいでしょう?

下記のようなプログラムを書きたいのですが
コンパイルできません。

program main
call hoge
end
subroutine hoge
write(6,*) "hello world"
call hoge
return
end
0051デフォルトの名無しさん05/02/25 12:27:16
>>50
f90の場合だと再帰的呼び出しにすれば大丈夫でしょう。サブルーチン宣言の頭に recursive をつけるだけでいいんじゃないでしょうか?

recursive subroutine hoge
0052デフォルトの名無しさん05/02/27 15:50:53
>>50
ちゃんと再帰から抜けるようにしとけよ。
無限ループやるなよ。
0053デフォルトの名無しさん05/03/02 20:44:06
ちょっとお聞きしたいのですが,write文でcsv形式を書くにはどうしたらいいでしょう?

write (10,'(50d15.7)') TT,(U(j)/K(j), j=1,NMax)

上のようなwrite文を書くとします.その際,csv形式で出力したいのですが,'(50d15.7)'というような書き方をするときに「カンマ」をどうやって紛れこませるか?--ということをお聞きしたいのです.

write(10,1000) TT,(U(j)/K(j), j=1,NMax)
1000 format(d15.7,',',d15.7,','d15.7)
というような形式で書くのならわかるのですが...何十回も繰りかえすのはメンドイもので.御存じの方よろしくお願いします.
0054デフォルトの名無しさん05/03/02 21:22:25
>>53
自己レスです.

write (10,"(49(d15.7,','),d15.7)") TT,(U(j)/K(j),j=1,NMax)

と書けばうまく逝きました.
失礼しました.
0055名無しさん05/03/03 14:57:29
すみませんご教授下さい。
Fortranで作られたプログラムWindowsで(DOSで)動かしたいんですが、一応データファールとかも揃えて走らせると、
最初の1行だけ読んで「cannot open file "F90.EER" #__」みたいなメッセージが出て計算されません。
これはいったいどういうことなのでしょうか?

ちなみにファイルはここの「TWINSPAN」です。
↓
http://cc.oulu.fi/~jarioksa/softhelp/softalist.html
0056デフォルトの名無しさん05/03/03 15:20:57
>>55
もっと詳しく
0057名無しさん05/03/03 15:26:46
>>56
すんません。

昔、同じプログラムをNEC98(5インチ時代)に使ったことあってそん時は問題なかったんですよね。
DOSプロンプトのあとにexeファイル名(TWINSPAN)を入れて実行させると、inputデータファイルを尋ねてくるのでそのファイル名を入れてリターンすると
「Cannot Open Error file "F90.EER", error #151」
てのが出て終わってしまいます。

中身はそのまま触ってないので、これ以上のことはわからないのですが・・・
0058デフォルトの名無しさん05/03/03 17:51:40
>>57
> 「Cannot Open Error file "F90.EER", error #151」
"F90.EER" ではなく "LF90.EER" では?

Run time error messages from LF90
ttp://agbu.une.edu.au/~kmeyer/errmsg.html
> 151 File specified STATUS= "OLD" doesn't exist (see "Input/Output" in the Essential Lahey Fortran 90 Reference).

ようするに、入力ファイルが無い or 名前が違う。
0059名無しさん05/03/03 18:10:54
>>58
ありがとうございます。

そうです「LF90.EER」でした。済みません。
入力ファイルがないとは、inputデータファイルが読めていないということでしょうか。
データ行の1文目は読んでいるんですが。
それか、もはや元のファイルがないのかな。
済みませんあまりに素人で。
0060デフォルトの名無しさん05/03/13 09:11:58
gfortran(GCC4.0)でnamelist読みこませた人います?
&abc
de=5
fg=3.1
&end
だと読み込まず
&abc de=5 fg=3.1/
でもだめでした。
方言があるんですかね。
0061デフォルトの名無しさん05/03/15 11:12:48
↑です。
使っているプログラムでうまくいかなかったのでテストプログラムを作ってみました。
その結果、結果が異なりましたので訂正します。
以下のプログラムコンパイルして実行するとエラーになります。
FC3 gcc4-gfortran-4.0.0.29.x86_64.rpm


programe main
integer i,j,k
dimension j(10)
character*20 c
namelist /n1/i,j,k,c
read(5,nml=n1)
write(6,n1)
end


./hoge
&n1
i=20
k=3
j=1,2,3,4,5,6,7,8,9,0
c='test'
&end
cannot match a namelist variable

g77だとコンパイルして実行すると、正常に動きます。
いろいろ探したらg95に行き当たりました。これだと正常にコンパイル,実行できました。
g95(gcc 4.0.0 20050124 (g95) Mar 12 2005)

gcc4.1コレクションも試しましたが、このバグは、直っていませんでした。
0062デフォルトの名無しさん05/03/20 05:03:23
ずいぶん前のことですみませんが,ご存じのかた教えて下さい。

MS-FORTRAN Ver.5.1 は Fortran 90 に似て非なる物だったという記憶があるのですが,
ふと思い立って,8年くらい前に買った森北出版の 「FORTRAN 77 と Fortran 90」 の
「2部:Fortran 90編 Fortran 90とMS・FORTRAN」を見て
自分で確かめようとしたら,本棚から行方不明になってて
確かめることができませんでした。

MS-FORTRAN Ver.5.1 は Fortran 90 と同一のものだったのか,
あるいは Fortran 90 に独自拡張を加えただったのか,
それとも,似ているけど違うものだったのか
ご存じのかた,教えて下さい。
0063デフォルトの名無しさん05/03/20 08:30:04
>>62
実際にMS-FORTRANを使ったことはないですのが
手元に「FORTRAN 77 と Fortran 90」があったので
確認してみたところ、MS-FORTRANは
"Fortran 90 の一部機能を含む独自拡張仕様"
のようです。

F90との主な違いは
・継続行の指示記号は "&" ではなく "-"
・構造体の宣言は TYPE ではなく SURUCTURE
・ポインタ、WHERE文、モジュール等がない
などだそうです。
00646205/03/20 10:12:45
>>63
解説情報をアップして下さって,本当にありがとうございました。助かりました。
日曜の朝早くから妙な話題につきあわせてしまい,すみませんでした。
00656205/03/20 10:48:26
再度すみません。
もうひとつ教えていただきたいことがあるのですが,「FORTRAN 77 と Fortran 90」 の本で
扱われている MS-FORTRAN について,本の中でバージョン番号は書かれていますでしょうか?
0066デフォルトの名無しさん05/03/20 11:15:39
>>65
書籍では「Microsoft FORTRAN V5.1」を用いたということで、巻末の参考図書に
 マイクロソフトの「Microsoft FORTRAN - Reference -」(1991)
が挙げられています。
ちなみに Fortran 90 の方は「NAGWare f90 Compiler」でテストしたということです。
(2003年5月20日発行の第1版第7刷で確認)
00676205/03/20 11:47:08
>>66
詳細な情報をいただき,感謝申し上げます。
二度もお答え下さり,本当にありがとうございました。
0068デフォルトの名無しさん2005/03/27(日) 01:22:58
GUI WindowsアプリにFORTRANのソースを組み込みたいのだけれど、どうしたらいい?
0069デフォルトの名無しさん2005/03/27(日) 15:29:34
>>68
�@VFで、GUI WIN32アプリをFortranで組む。
�AC/C++でGUI組んで、C/C++からFortranの関数を呼ぶ。
0070デフォルトの名無しさん2005/03/27(日) 20:37:33
>>68
VFならDLLをつくるという手もある。
0071デフォルトの名無しさん2005/03/29(火) 00:06:04
>>68
CVFならCOM DLLをつくるという手もある。
0072デフォルトの名無しさん2005/03/29(火) 01:30:03
>>68
ほとんどのコンパイラが DLL を作れます.
あとはシンボルを調べれば好きな言語から呼べます.
0073デフォルトの名無しさん 2005/03/31(木) 23:09:58
Intel fortran compiler 8.0 for linuxを使っています。
プログラムの中でサイズの大きいファイルを開こうとすると、
forrtl: File too large
forrtl: severe (30); open failure , unit 10, file 〜
というエラーが出て止まってしまいます。
このような場合はどう対処すればいいのでしょうか。
どなたかご存知の方がおられましたら、どうかよろしくお願いします。
0074デフォルトの名無しさんNGNG
>>73
100Gのファイルでも開こうとしたのか?
0075732005/04/03(日) 01:07:16
約4Gです。
0076デフォルトの名無しさん2005/04/03(日) 10:41:19
2G以下のファイルに分ける
0077分かんにゃいからHELP。2005/04/03(日) 11:02:57
例えば、「Input No.:」と出力させた直後に改行せず入力したい場合には
どのようなコードにすればいいのでしょうか?
いろんなテキストを見たけど載ってない…。
0078分かんにゃいからHELP。2005/04/03(日) 11:06:24
あと、もう一つあります。
「write(*,*) 'へろー,わーるど?'」と
「print*, 'へろー,わーるど?'」とでは本質的にどう違うんですか?
0079デフォルトの名無しさん2005/04/03(日) 12:34:39
>>77
advanc='NO'を出力時に指定する。

>>78
77か90か
0080デフォルトの名無しさん2005/04/03(日) 13:34:12
write(*,*) 顔に見える
print*, 顔に見えない
0081分かんにゃいからHELP。2005/04/03(日) 19:03:17
>>79
ヒント、アリガトウございました。使っているのは 90 の方です。
「character NO」を宣言しなければならないんですね。
あと、「advance」ですよね。

「write(*,'(A)',advance='NO')」のように使っていますが、「'(A)'」は
文字列の指定を意味しているんですか?
例えば「'(I)'」の時なんかは整数かな、と推測できるのですが「'(A)'」に
ついては馴染みがないんで教えて欲しいです。
0082732005/04/03(日) 21:36:34
2GB以上のファイルを読むためのオプションみたいなものはないものでしょうか。
0083デフォルトの名無しさん2005/04/03(日) 23:31:52
>>82
一般的な32 ビットプラットフォームのLinuxでは,最大ファイルサイズが2Gバイトに制限されているので、

�@64 ビット環境でコンパイルする。
�A32 ビットアーキテクチャなら、LinuxのカーネルをLarge File Supportが有効な新しいものに変える。
0084732005/04/04(月) 17:54:48
アドバイスありがとうございます。
こちらでも調べてみましたが、Large File Supportはカーネル2.4から組み込まれているみたいです。
今私が使っているlinuxのカーネルは2.6なのですが、Large File Supportは有効にはなっていないのでしょうか。
それとも他に何か原因があるのでしょうか。
0085デフォルトの名無しさん2005/04/04(月) 17:58:18
http://vs6.f-t-s.com/~otonavip/src/vip0658.mp3

休憩しようよ
0086デフォルトの名無しさん2005/04/08(金) 18:26:56
FORTRAN やらないか?

http://members.at.infoseek.co.jp/kitaurawa/cgi-bin/wiki.cgi
0087デフォルトの名無しさん2005/04/12(火) 10:09:32
fortran用のeclipseプラグインだって

http://www.photran.org/
0088デフォルトの名無しさん2005/04/15(金) 00:08:45
>>87
ダウンロード画面にベトナム料理屋が表示されるね。
フォーのレストランてことか。
0089デフォルトの名無しさん2005/04/17(日) 00:48:05
スレ汚しですみませんが…… Fortranプログラミングに煮詰まったときの
現実逃避で『 諸君 私はFortranが好きだ 』というネタ演説を作ってみました。
先月,私がガイドライン@2ch板に投稿したものに少々手直し。
( >>63 & >>66 さん,先月は失礼いたしました。実はあの朝はこれを打っていました。)

ttp://www.geocities.co.jp/Technopolis/4404/i_love_fortran.html

スレ汚し,大変失礼いたしました m(_ _)m"
0090892005/04/20(水) 01:07:42
↑をギコナビじゃなく IE で見て,いま初めて気がついた‥‥
何故 h が抜けてたんだか‥‥ orz

演説 『 諸君 私はFortranが好きだ 』
http://www.geocities.co.jp/Technopolis/4404/i_love_fortran.html

再度のスレ汚し,本当に! 本当に失礼いたしました m(_ _;)m"
0091ega2005/04/20(水) 03:43:26
課題で、適当な数字をキーボードから入力して、
文字列に変換して出力するサブルーチンを作れ
といわれたんですが、だれか教えてくらさい。
0092デフォルトの名無しさん2005/04/20(水) 08:02:09
Fortress

http://www.sun.com/presents/minds/2005-0302/
0093デフォルトの名無しさん2005/04/20(水) 12:29:53
>>91
ヘンな課題ですね。
0094892005/04/20(水) 18:45:03
>>91
VAX FORTRAN という Fortranコンパイラの文法を解説した Webページの
http://www3.jpn.hp.com/upassist/ktree/cr/vms/v030/v030-04-08.html
で,「メモリ内部入出力」という方法で行う 数値型 ⇔ 文字型 の型変換が
紹介されていました。

要するに,WRITE文を使って「メモリ内部入出力」というのを行うことで
数値型から文字型へ変換しています。すなわち,

WRITE(文字型変数名,FORMAT文番号) 数値型変数名

というようにコーディングすると,数値型変数の値が文字型に変換できるというものです。
以下にプログラム例を示します。
(WindowsXP上の Cygwin の g77 で動作確認しました。
ただし,他のどんな Fortranコンパイラでも動く普遍的な Fortran文法なのか
どうかは知りません。ご存知の方,フォローして下さると助かります。)
0095892005/04/20(水) 18:46:23
● 整数の場合
例えばマイナス符号を含めて5文字以内の整数なら
      WRITE(moji,100) seisuu
  100 FORMAT(I5)
とコーディングして型変換します。

【プログラム例1】

      PROGRAM main
      INTEGER seisuu
      CHARACTER*5 moji
      CALL int2char(seisuu,moji)
      STOP
      END

      SUBROUTINE int2char(seisuu,moji)
      INTEGER seisuu
      CHARACTER*5 moji
      WRITE(*,*) 'マイナス符号を含めて5文字以内の整数をキー入力せよ'
      READ(*,*) seisuu
      WRITE(moji,100) seisuu
  100 FORMAT(I5)
      WRITE(*,*) 'あなたが入力した整数は',moji,'です'
      RETURN
      END
0096892005/04/20(水) 18:47:26
● 実数の場合
例えばマイナス記号を含めて整数部が4文字以内,小数部が3桁以内の実数なら
      WRITE(moji,100) jissuu
  100 FORMAT(F8.3)
とコーディングして型変換します。

【プログラム例2】

      PROGRAM main
      REAL jissuu
      CHARACTER*8 moji
      CALL real2char(jisuu,moji)
      STOP
      END

      SUBROUTINE real2char(jisuu,moji)
      REAL jissuu
      CHARACTER*8 moji
      WRITE(*,*) 'マイナス記号を含めて整数部が4文字以内で'
      WRITE(*,*) '小数部が3桁以内の実数をキー入力せよ'
      READ(*,*) jissuu
      WRITE(moji,100) jissuu
  100 FORMAT(F8.3)
      WRITE(*,*) 'あなたが入力した実数は',moji,'です'
      RETURN
      END
0097デフォルトの名無しさん2005/04/20(水) 19:28:17
文字に変換してなんか意味あるのかな?
0098892005/04/20(水) 19:31:48
訂正というか補足というか蛇足というか。
>>94 での

WRITE(文字型変数名,FORMAT文番号) 数値型変数名

の「FORMAT文番号」の部分は正しくは,

WRITE(文字型変数名,FMT=書式識別子) 数値型変数名

ですね。FMT= を省略してコンマのあとにすぐ書式識別子を置いても可。
なので,>>95 のプログラム例1での

      WRITE(moji,100) seisuu
  100 FORMAT(I5)

の二行は

      WRITE(moji,'(I5)') seisuu

また,>>96 のプログラム例2での

      WRITE(moji,100) jissuu
  100 FORMAT(F8.3)

の二行は

      WRITE(moji,'(F8.3)') jissuu

というように一行にまとめてもOKです。
むしろ 文番号を使わないで済むので,特に Fortran 90 以降なら
こちらのほうがすっきりして良いかもしれません。
0099892005/04/20(水) 19:41:47
>>97
僕も最初そう思ったんですが,ついさっき,
「commonで定義した変数を文字型に変換してファイル名に使いたい」という例を見つけました。
http://okweb.jp/kotaeru.php3?q=797367

>>91さんには,その課題の出された背景を教えてほしいです。
どんな使われ方をするのか興味があります (^ ^)
0100892005/04/20(水) 20:11:57
>>94
> ただし,他のどんな Fortranコンパイラでも動く普遍的な Fortran文法なのか
> どうかは知りません。ご存知の方,フォローして下さると助かります。

‥‥に対する自己レス (うざくてすみません)。

WRITE文とREAD文の装置番号のところに文字変数を置くやり方は,
培風館から出版されている「Fortran90プログラミング」の
著者・冨田博之先生の同名サイトの中の
http://www.ip.media.kyoto-u.ac.jp/htomita/sec7.html#7.2.
で,「内部ファイルの方法」として紹介されていました。
↓
(装置番号が)文字変数:プログラム中で使われている文字変数に読み書きできる。
                「内部ファイルの方法」といい,必ず書式を指定すること。
0101ega2005/04/20(水) 20:32:26
>>89さん
サンクスです。助かりました。課題は、fortranを覚えるために出された数問のなかにありました。
何に使うかはわからないのですが、私がc言語を知っているという背景を配慮して、
cとfortranを関連付けるためなのかとも思いました。私自身もまだよくプログラムに関しては
よく理解してないのでわかりませんが、研究とかにはまず使わないと思います。

本当になんでこんな変な問題がでたんでしょうね。
とにかくありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています