Juliaで学ぶプログラミング入門  ループ処理

# ループ処理
　ループ処理とはそのブロックを繰り返す処理のことです。
for文とwhile文の２つがそれにあたります。

for 文と while 文は、それぞれ異なる目的で使用される構文です。

- for 文は、繰り返し処理を行うときに使用されます。特定の回数だけ、あるいは配列やコレクションの各要素に対して処理を行うことができます。
- while 文は、特定の条件が true の間、処理を繰り返すときに使用されます。指定された条件が一定の間、無限に処理を繰り返すことも可能です。



## for文
予め要素の量がブロック処理前に決まっている場合に使用することが多いのがfor文です。

例えば、次のようなプログラムでは、for 文を使用して、配列の各要素を出力します。

```julia
# 配列を定義する
array = [1, 2, 3, 4, 5]

# 配列の各要素を出力する
for x in array
    println(x)
end
```

## while文
予め要素の量がブロック処理前に決まっていない場合で、処理中に継続条件（あるいは終了条件）を評価したいときに使用されることが多いのがwhile文です。

次のようなプログラムでは、while 文を使用して、特定の条件が満たされる限り、処理を繰り返します。
```julia
# 条件変数を定義する
cond = true

# 条件変数が true の間、処理を繰り返す
while cond
    println("Hello, world!")

    # 条件変数を false に更新する
    cond = false
end
```

## 処理の中断、処理の終了
for文とwhile文は、それぞれ、繰り返し処理を行うためのものです。

for文では、指定した配列やイテレーターなどの値を順に取り出し、繰り返し処理を行います。処理中断や終了には、break文とcontinue文を使うことができます。

break文は、for文やwhile文の繰り返し処理を強制的に終了するためのものです。continue文は、繰り返し処理中に指定した条件を満たした場合に、その繰り返し処理を中断し、次の繰り返し処理を実行するものです。

例えば、次のようなコードでは、配列 a の値を順に取り出し、繰り返し処理を行っています。
```julia
a = [1, 2, 3, 4, 5]

for i in a
    if i == 3
        break
    end
    println(i)
end

```

このコードでは、配列 a の値を順に取り出し、繰り返し処理を行っています。繰り返し処理中に、値が3である場合は、break文により、for文の繰り返し処理を強制的に終了しています。

実行すると、次のような出力が得られます。
```julia
1
2
```
while文では、指定した条件が満たされる限り、繰り返し処理を行います。処理中断や終了には、break文とcontinue文を使うことができます。

例えば、次のようなコードでは、while文を用いて、繰り返し処理を行っています。
```julia
i = 1
while i <= 5
    if i == 3
        i += 1
        continue
    end
    println(i)
    i += 1
end
```
このコードでは、変数 i が５以下で繰り返されますが、iが３になった時にbreak文により、While文の繰り返し処理を強制的に中断し4の処理に移ります。

実行すると、次のような出力が得られます。
```julia
1
2
4
5
```
3の値のときprintlnが実行されないため表示されません。


## 参考図書
[１から始めるプログラミング](https://amzn.to/3HHR7Yv)
<a href="https://www.amazon.co.jp/1%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%82%8B-Julia%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E9%80%B2%E8%97%A4-%E8%A3%95%E4%B9%8B/dp/433902905X?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-1&linkCode=li3&tag=buzz06-22&linkId=8f7deba521f52f812d35ecdbe756cc10&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=433902905X&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=433902905X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

[Juliaプログラミングクックブック](https://amzn.to/3PFfb0a)
<a href="https://www.amazon.co.jp/Julia%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%AF%E3%83%83%E3%82%AF%E3%83%96%E3%83%83%E3%82%AF-%E2%80%95%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%80%81%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%80%81%E6%95%B0%E5%80%A4%E8%A8%88%E7%AE%97%E3%81%BE%E3%81%A7-Bogumi%C5%82-Kami%C5%84ski/dp/4873118891?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-2&linkCode=li3&tag=buzz06-22&linkId=4e34b4b620932164412ec18acff914a8&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4873118891&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=4873118891" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

[天才プログラマー タンメイが教える Julia超入門](https://amzn.to/3FJRpeW)
<a href="https://www.amazon.co.jp/%E5%A4%A9%E6%89%8D%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-%E3%82%BF%E3%83%B3%E3%83%A1%E3%82%A4%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B-Julia%E8%B6%85%E5%85%A5%E9%96%80-Tanmay-Bakshi/dp/4807920219?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-10&linkCode=li3&tag=buzz06-22&linkId=bf79aa67b5c5956c8fd26f9436401dc6&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4807920219&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=4807920219" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />