ここから質問投稿すると、最大4000ポイント当たる!!!! >>

Sublime Text 3(以降,ST3と記述)を使用してFortranのプラグラムを作成しています.
これまで,注釈文を挿入するにあたっては,文頭に『c』を入力し,行の途中から注釈文を入力する場合には『!』を入力していました.これを,すべて『!』に統一しようとプログラムを書き換えているところなのですが,『c』の場合は,シンタックスハイライトで文字色が変わるのですが,『!』の場合には文頭でも途中からでも文字色がプログラム本文と変わりません.

そこで,見やすくするために,『!』を用いた注釈文の文字色を変更したいのですが,どのプラグインを使用すればよいのか,コードのどの部分をどのように書き換えればよいのかが調べてもわかりませんでした(探し方が下手なのかもしれません,『sublime text 3 fortran 注釈文』など色々な検索ワードを使用しましたがわからず,,,).

もしご存知の方がおりましたら,ご教授願います.
説明が足りなかったり,意味が理解できない場合には教えてください,頑張って説明します.

以上,よろしくお願いいたします.

このQ&Aに関連する最新のQ&A

A 回答 (1件)

fortranを全く知らずにお答えしますが、


このプラグインをいれれば「!」でコメントとして認識されるようです。
https://packagecontrol.io/packages/Fortran

package controlは入ってますよね?
ないならここの説明に従ってインストール
https://packagecontrol.io/installation

そのあと package controlで「Fortran」というパッケージをインストールすればいいです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QFORTRAN で出力した文字の 左寄せについて

C Pad for Salford FTN77というコンパイラを使っております。
下記の様にOPENで開いてCLOSEでとじたTEXT文についてですが…

WRITE(*,*) '入力した数に1プラスされます。'
READ (*,*) A
B=A+1
OPEN(UNIT=10,FILE='C:\001.txt')
WRITE(10,100) '入力したのは',A
WRITE(10,100) '1たすと',B
100 FORMAT(A)
CLOSE(10)
STOP

…計算もされず、左寄せにもなりません。
仮に「100 FORMAT(A)」を消して(10,100)を(10,*)にすると左寄せにはなりませんが 計算して結果は表示されます。

計算して結果を左寄せにするにはどうすればよいでしょうか。
ご存知の方、アドバイスをお願いします。

Aベストアンサー

私が知っているfortranは77なのでもしかすると違っているかもしれませんが、

先ず変数Aは型宣言がないので実数扱いになります。

B=A+1(正確に記述するなら1ではなく1.)
が計算されることからもそういえます。

つぎに、FORMAT(A)の中のAは文字型を出力する際にし要するものですので、変数の型が一致していません。だから出力されないのだと思います。またAの後に桁数を示す数字が必要です。

実数に対してはFORMAT(F8.1)とかFORMAT(E8.3)とかのFやEを使用する必要があります。

また数値型の場合プラスマイナスの記号が入ることから、正値の場合+記号が省略されて、代わりにブランクが出力されたと思います。すなわち1つ目はブランクになります。
FORMAT(F1.0)等とすると桁オーバーを意味する*が出力されます。

整数型にしておけば1桁の場合FORMAT(I1)としておけば、左の1桁目に数字が出ますが、2桁以上やマイナス値のある数字の場合この方法は使用できません。

ブランクを取りたい場合、文字型で出力しなければなりませんが、たしかfortranには数値型データを文字型データに変換するコマンドがありません。

他の方法もあるかもしれませんが、そこで、一度数値データとしてファイルに出力して、そのファイルから文字型データとして1文字ずつ読み取るという方法で私自身は対処していました。

たしかこんな感じでした。
CHARACTER*1 H(8) 文字型と配列宣言
WRITE (10,601) A
601 FORMAT(F8.2)
BACKSPACE(10)
READ(10,602) (H(I),I=1,8)
602 FORMAT(8A1)

この後H(I)がブランクなら出力しない、ブランクでなければ出力するという判定作業を行って、ブランク以外の値が入っているI番目から後ろの値全部を文字型出力をします。

記憶が薄いので、上のとおりしてもうまくいきませんかもしれませんが、数値データを文字型データにうまく変換してやればできると思います。

私が知っているfortranは77なのでもしかすると違っているかもしれませんが、

先ず変数Aは型宣言がないので実数扱いになります。

B=A+1(正確に記述するなら1ではなく1.)
が計算されることからもそういえます。

つぎに、FORMAT(A)の中のAは文字型を出力する際にし要するものですので、変数の型が一致していません。だから出力されないのだと思います。またAの後に桁数を示す数字が必要です。

実数に対してはFORMAT(F8.1)とかFORMAT(E8.3)とかのFやEを使用する必要があります。

ま...続きを読む

QfortranでのNaNについて

お忙しい所、NaNについて回答お願い致します。

fortranでプログラムを使用して数値計算を行っていますが、計算途中で結果がNaNとなり困っています。
NaNは、0で除算を行なったり、負の数の指数を求めようとした時に出る無限大や定義できない値のようなのですが、式を見ても0で除算を行なったり、負の数の指数を求めようとしている所はありません。

もし同じような経験をされて見事解決された方、居られましたらその時の対処法をお聞かせ願えないでしょうか。
何卒よろしくお願い致します。

Aベストアンサー

環境(OSとコンパイラ)がわからないのでできるとは断言できないのですが、
浮動小数点レジスタの制御フラグをいじって、NaNが生成されたときに
例外が起きるようにしておけば、どこでNaNになるのかが絞れるのではないでしょうか?

いずれにしろ、注意深く値の変化を追っていくよりないと思います。

参考URL:http://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/pg/pg22.htm

Qintel fortranのエラーで困ってます.

character chrc*49・・・
real Tmom,Mw,H0・・・
・・・
・・
write(chrc,'(a7,e12.3,a5,f7.2,a12,f6.1)') 'Mo[Nm]=',Tmom*1.e18,' Mw=', Mw,' Depth[km]=', H0
・・・
・・

をコンパイルすると,以下のようなエラーが出ます.

Main/graphics.f(93): error #5082: 構文エラー、END-OF-STATEMENT が見つかりました、 ( <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <INTEGER_CONSTANT> ... の 1 つを指定してください。
write(chrc,'(a7,e12.3,a5,f7.2,a12,f6.1)') 'Mo[Nm]=',Tmom*1.e18,' Mw=', Mw,' Depth[km]=', H0
----------------------------------------------------------------------------------^
コンパイルは Main/graphics.f で異常終了しました (コード 1)。
(矢印の位置はH0の一文字後)

原因がイマイチよく分かりません...
考えられる原因・解決法を教えて頂けると幸いです.
よろしくお願いします.

character chrc*49・・・
real Tmom,Mw,H0・・・
・・・
・・
write(chrc,'(a7,e12.3,a5,f7.2,a12,f6.1)') 'Mo[Nm]=',Tmom*1.e18,' Mw=', Mw,' Depth[km]=', H0
・・・
・・

をコンパイルすると,以下のようなエラーが出ます.

Main/graphics.f(93): error #5082: 構文エラー、END-OF-STATEMENT が見つかりました、 ( <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <INTEGER_CONSTANT> ... の 1 つを指定してください。
write(chrc,'(a7,e12.3,a5,f7.2,a12,f6.1)'...続きを読む

Aベストアンサー

ファイルの拡張子が.fであるからfixed-formatだと判断されて,1行あたりの最大文字数が72になっている。
継続行を使って2行に分割するのが吉。

Q拡張子 epsの開き方、どなたか教えて下さい!

拡張子EPSの開き方をどなたか教えていただけませんか? 開こうとすると、WEBサービスを使用して適切なプログラムを探す、もしくは一覧からプログラムを選択する、という項目がでますが、どうすればよいかわかりません。

全くの初心者なので、わかりやすく記載して頂ければすごく助かります。
宜しくお願い致します。

Aベストアンサー

少し本道から外れた回答を。私は会社でIllustratorでロゴ等のデザインをして(epsで保存)、それをWordやExcelに貼ったりして使うことが良くあります。

ファイルがロゴ等の小さいものであればWord,Excelで中身を見ることは可能です。
(やり方)
1.Word,Excelのツールバー「挿入」→「図」→「ファイルから」・・・と進み、ファイルを指定、「OK」

これでIllustratorで作ったロゴがWord,Excelに取り込むことが出来ます。もともとWord、ExcelはEPSを読める仕様になっていますのでとても便利です。

(注意)
気をつけて欲しいのがフォントが入っているファイルはどうも読めないようです。(今までの経験から)

フォントをIllustrator上でアウトライン化してフォントの属性を無くしてしまえば読み込み可能なんですが、フォントそのままが入っているとエラーが表示されます。

そのEPSファイルって何が書いてあるんでしょうか?文章がたくさん入っている内容でしたら本件のやり方では不可です。ロゴやデザインなどだったらきっとOKのはずです。

だめもとでやってみてはいかがでしょうか?

少し本道から外れた回答を。私は会社でIllustratorでロゴ等のデザインをして(epsで保存)、それをWordやExcelに貼ったりして使うことが良くあります。

ファイルがロゴ等の小さいものであればWord,Excelで中身を見ることは可能です。
(やり方)
1.Word,Excelのツールバー「挿入」→「図」→「ファイルから」・・・と進み、ファイルを指定、「OK」

これでIllustratorで作ったロゴがWord,Excelに取り込むことが出来ます。もともとWord、ExcelはEPSを読める仕様になっていますのでとても便利です。

(注...続きを読む

Q【10の13乗】って英語でどう読むのですか?

【10の13乗】って英語ではどう読めばいいのでしょうか。

これにかかわらず指数の英語での読み方を教えてください。宜しくお願いします!

Aベストアンサー

こういうのは乗数とか累乗というのでは?
xのn乗は、x to the nth powerといいます。
2乗はsquared(5の2乗はfive squared),3乗はcubed(7の3乗はseven cubed)ともいいます。

『これを英語で言えますか?』講談社 は、他にも数式の読み方なども載っていますよ。

QFortranのOPEN文

OPEN(2,FILE='../data/'//FNAME//'c.dat')
というOPEN文についての質問です.このOPEN文のファイル名の指定FILE=' 'のところがわからないので,教えていただきたいのです.
ドット二つ(..)とスラッシュ1本(/),二本(//)の意味など,わかる方よろしくお願いします.

Aベストアンサー

スラッシュ二本(//)は文字列の結合演算子です。

FNAMEはCHARACTER宣言された文字列変数のはずです(FORTRANの仕様だとそれ以外に考えようがない)。
で、FNAMEに'hogehoge'と入っていれば、

FILE='../data/'//FNAME//'c.dat'='../data/'//'hogehoge'//'c.dat'='../data/hogehogec.dat'

ということで、オープンするファイルは../data/hogehogec.datとなるわけです(よけいな話だけど、'c.dat'は'/c.dat'じゃないですか)。

ドット二つ(..)は一階層上(親ディレクトリといいます)を意味します、ルートでは(ルートは一番もと)ではありません。

あと、FORTRANでは、一桁のファイル番号には、5はSYSIN(昔だったらパンチカード)、6はSYSOUT(昔ならラインプリンタ、今だったらコンソール)など、特別な役割を持たせてきた歴史があります。できれば、一桁の番号は避けた方が賢明でしょう。

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む

QPSファイルを見る方法

ダウンロードしたファイルがpsファイルだったのですが、
見ることが出来なく、困っています。
過去の質問も検索してみたのですが、いまいちよく分からなくて・・・

質問なのですが、
(1)psファイルはどのようにして見ればいいのでしょうか?
(2)やはり何らかのソフトを入れないと見れないものなのでしょうか?
(3)できればPDFなどに変換できる方法はないでしょうか?
どれか1つでもいいので、ご存知の方、よろしくお願いします!

Aベストアンサー

1.Acrobat Distillerに喰わせれば、pdfになります。
2.PostScriptプリンタに流し込めば、印刷物になります。
3.MacOSXのプレビューで開いても、pdfになります。
4.GhostScriptを導入してGSViewでモニタ上で見ることも出来ます。

Windowsでは4番くらいかな。

QMacターミナルで実行中のプログラムを中止するには?

Macのターミナルでプログラムを走らせているとき、
実行中のプログラムを一時停止したり中断・終了させるには
どうしたらいいでしょう?

Unixだと、Control+s とか Control +c とかでできますよね。
Macだと、それではできないみたいなんです。

基本的な質問ですみませんが、どなたか教えていただけないでしょうか。

Aベストアンサー

ごく普通にControl + Cで中断できますよ。

もしかしてControlキーをcommandやcapslockと押し間違えているとかいうことはありませんか?

QFortran90/95の出力方法について

Fortran90/95の出力方法について
Fortran95において,変数の値をwrite文で出力した後に改行しない方法を教えてください.
具体的には次のProgram reiを用いて質問します.
program rei
implicit none
integer i, n
read(*,*) n
do i = 1, n
write(*,*) i
end do
end
このプログラムを実行させnに3を代入すると次のように表示されます.
1
2
3
しかし,私としては次のように改行せずに表示させたいのです.
1 2 3
また,諸事情により配列は使用しません.
プログラムをどのように改良すればよいのでしょうか.教えてください.

Aベストアンサー

先程のURLに「18.3 数値と文字の変換を行う方法」という章がありますが。
数値を文字列に変換しても出力されませんでしょうか?


人気Q&Aランキング