今回はJuliaのif文を扱います🐜
開発環境
開発環境は以下の通りです。
項目 | 内容 |
---|---|
OS | Windows 10 Home 64bit |
Julia | 1.6.3 |
Cmder | 1.3.14 |
※Cmderは必須ではありません
解説
ここでは、関数の書き方についてスクリプトを見ながら解説します。 以下をコピペしてistriangle.jlとし、動かしながら確認してください。
<スクリプト例>
function istriangle(a, b, c) if a >= (b + c) ret = false elseif b >= (c + a) ret = false elseif c >= (a + b) ret = false else # 三角形成立の条件を満たすときはtrueを戻す ret = true end return ret end function main() # 3辺の長さ a, b, c = 5, 3, 4 flg = istriangle(a, b, c) println(flg) end if abspath(PROGRAM_FILE) == @__FILE__ main() end
<出力結果>
C:\ari23\dev\julia λ julia istriangle.jl true
三角形成立条件
前回の流れから、今回は三角形の成立条件を扱います。と言ってもとても簡単で、三角形の成立条件は、
3辺の長さがa, b, cである三角形が成立する条件は、a<b+c かつ b<c+a かつ c<a+bを満たせばよい。
です。このままでもよいのですが、後述の説明を簡単にするため、逆に三角形が成立しない条件を考えます。つまり、
3辺の長さがa, b, cである三角形が成立しない条件は、a≧b+c または b≧c+a または c≧a+bを満たせばよい。
となります。これをJulia言語のif文で書いてみましょう。
if文
Juliaでのif文の書き方は、基本的に他のプログラミング言語と同じような形です。
if 条件式1
~条件式1が真だったら通る~
elseif 条件式2
~条件式1が偽かつ、条件式2が真だったら通る~
else
~条件式1が偽かつ、条件式2が偽だったら通る~
end
上記がif文の書き方です。 elseif
とelse
は省略できますが、最後のend
は必須です。また、elseif
はいくつでも続けることが可能です。
詳細は公式ドキュメントを参照してください。
これを踏まえてistriangle.jlを見てみます。
各辺ごとに成立しない条件を見ていき、1辺でも成立しない条件を満たしたら直ちにfalse
を戻し(三角形が成立しない)、3辺全てにおいて成立しない条件を満たさなかったらtrue
を戻す(三角形が成立する)、というアルゴリズムであることがわかります。
問題|三角形の面積
3辺の長さから面積を求めるプログラムをJulia言語で作ってください。なお、三角形が成立しない場合はfalseを出すようにしてください。
これまでの例題や問題を踏まえて考えてみましょう。
回答はこちら。
おわりに
Juliaのif文を簡単にまとめました。
例題がちょっとややこしいですが、ぜひご自分でじっくりスクリプトを順に追ってみてください。
以上、参考になれば幸いです(^^)
次はこちら。
参考文献
参考文献は以下の通りです。
Julia Documentation
Julia公式のドキュメントです。英語ですが、とても丁寧に書かれていて、疑問はだいたい解消されるのではと思います。読み応えも十分。1から始めるJuliaプログラミング
公式ドキュメントの分量があまりに多くて、もう少しまとまったものが欲しいと思って購入しました。基本から応用まで幅広くカバーされつつ、量も丁度良いです。