合計を求める
複数個のデータの合計を計算するには反復構造(ループ)を利用する。たとえば、1から10までの整数の総和の式は通常次のように記す。
1+2+3+4+5+6+7+8+9+10
実際には次のように計算している。
総和+1→総和 総和+2→総和 総和+3→総和 総和+4→総和 総和+5→総和 総和+6→総和 総和+7→総和 総和+8→総和 総和+9→総和 総和+10→総和
これは1から10までの整数を数えるカウンタを使えば、次のようにまとめることができる。
総和+カウンタ→総和
この式をカウンタを1から10まで変化させるときに処理すれば総和を求められる。
- 総和を代入する領域の初期値は0にしておく。
- カウンタの初期値や増分を変えることで様々なパターンに対応できる。
フローチャートは次のようになる。
問題集
条件式は継続条件です。
20ページ
1からnまでの整数を2刻みで変化させ、それを加算していく。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt <= n | 2 | ans+cnt→ans |
21ページ
1からnまでの整数を1刻みで変化させ、その都度2n-1を加算していく。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt <= n | 1 | ans+2*cnt+1→ans |
22ページ 設問1
2からnまでの整数を2刻みで変化させ、1/nを加算していく。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 2 | cnt <= n | 2 | ans+1/cnt→ans |
22ページ 設問2
1からnまでの整数を1刻みで変化させ、1/2nを加算していく。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt <= n | 1 | ans+1/2*cnt→ans |
23ページ 問題4
nから1までの整数を1刻みで変化させ、それをかけていく。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| n | cnt >= 1 | -1 | ans*cnt→ans |
23ページ 問題5
aをn回かける。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt <= n | 1 | ans*a→ans |
24ページ
増分が可変なので増分の変化分zを1ずつ変化させ、それをカウンターに加算し、合計を求める。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt <= n | z | ans+cnt→ans |
25ページ
- 二重ループで処理する。
- 外側ループは項数1からnをカウントする
- 内側ループでは各項の値(1から項数の和)を求める
- 各項の値を求めたら合計に加算する
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt1 <= n | 1 | ans+s→ans |
sは内側ループで求める
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt2 <= cnt1 | 1 | s+cnt2→s |
26ページ 問題7
値aをb回かける。
| 初期値 | 条件式 | カウンタ増分 | 式 |
|---|---|---|---|
| 1 | cnt <= b | 1 | ans+a→ans |
26ページ 問題8
aからbが何回引けるかをカウントする。