ari23の研究ノート

メーカ勤務エンジニアの技術ブログです

Julia超入門|if文

今回は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 \lt b+c かつ  b \lt c+a かつ  c \lt a+b を満たせばよい。

です。このままでもよいのですが、後述の説明を簡単にするため、逆に三角形が成立しない条件を考えます。つまり、

3辺の長さがa, b, cである三角形が成立しない条件は、 a \geqq b+c または  b \geqq c+a または  c \geqq a+b を満たせばよい。

となります。これをJulia言語のif文で書いてみましょう。

if文

Juliaでのif文の書き方は、基本的に他のプログラミング言語と同じような形です。

if 条件式1
        ~条件式1が真だったら通る~
elseif 条件式2
        ~条件式1が偽かつ、条件式2が真だったら通る~
else
        ~条件式1が偽かつ、条件式2が偽だったら通る~
end

上記がif文の書き方です。 elseifelseは省略できますが、最後のendは必須です。また、elseifはいくつでも続けることが可能です。 詳細は公式ドキュメントを参照してください。

これを踏まえてistriangle.jlを見てみます。

各辺ごとに成立しない条件を見ていき、1辺でも成立しない条件を満たしたら直ちにfalseを戻し(三角形が成立しない)、3辺全てにおいて成立しない条件を満たさなかったらtrueを戻す(三角形が成立する)、というアルゴリズムであることがわかります。

問題|三角形の面積

3辺の長さから面積を求めるプログラムをJulia言語で作ってください。なお、三角形が成立しない場合はfalseを出すようにしてください。

これまでの例題や問題を踏まえて考えてみましょう。

回答はこちら

おわりに

Juliaのif文を簡単にまとめました。

例題がちょっとややこしいですが、ぜひご自分でじっくりスクリプトを順に追ってみてください。

以上、参考になれば幸いです(^^)

次はこちら

参考文献

参考文献は以下の通りです。

  • Julia Documentation
    Julia公式のドキュメントです。英語ですが、とても丁寧に書かれていて、疑問はだいたい解消されるのではと思います。読み応えも十分。

  • 1から始めるJuliaプログラミング
    公式ドキュメントの分量があまりに多くて、もう少しまとまったものが欲しいと思って購入しました。基本から応用まで幅広くカバーされつつ、量も丁度良いです。