HOME»基本情報技術者試験掲示板»1から10まで足して行くプログラムについて
投稿する
1から10まで足して行くプログラムについて [3332]
ぱんさん(No.1)
過去にも質問あったのを確認しているのですが、どうしても理解できなかったので教えて下さい。
数 ← 0
合計 ← 0
■ (a) 10
数 ← 数 + 1
合計 ← 合計 + 数
■
「合計」を表示
1から10までの合計を求める問題で
(a)に入る回答が 【数 <】でした。
上だと数が10になったときにループを抜けてしまって合計が45で終了してしまうのでは??と思い、
【数 ≦】ではないのかと思ったのですが、どなたか解説お願いしたいです。
数 ← 0
合計 ← 0
■ (a) 10
数 ← 数 + 1
合計 ← 合計 + 数
■
「合計」を表示
1から10までの合計を求める問題で
(a)に入る回答が 【数 <】でした。
上だと数が10になったときにループを抜けてしまって合計が45で終了してしまうのでは??と思い、
【数 ≦】ではないのかと思ったのですが、どなたか解説お願いしたいです。
2021.05.24 00:07
そらさん(No.2)
数=9で
数 ← 数 + 1
合計 ← 合計 + 数
つまり、数=10、合計は55(1~9の合計45+10)になります。
数=10にしてしまうと、
数 ← 数 + 1
で数=11になってしまうため、1~11の合計になってしまいます。
(a)は【数<10】で正しいです。
数 ← 数 + 1
合計 ← 合計 + 数
つまり、数=10、合計は55(1~9の合計45+10)になります。
数=10にしてしまうと、
数 ← 数 + 1
で数=11になってしまうため、1~11の合計になってしまいます。
(a)は【数<10】で正しいです。
2021.05.24 00:29
猫さん(No.3)
分からなくなったらトレースをするといいですよ!
数 ← 0
合計 ← 0
■ 数 < 10
数 ← 数 + 1
合計 ← 合計 + 数
■
「合計」を表示
・数0の場合
0 < 10
1 ← 0+1
1 ← 0+1
・数1の場合
1 < 10
2 ← 1+1
3 ← 1+2
・数2の場合
2 < 10
3 ← 2+1
6 ← 3+3
・数3の場合
3 < 10
4 ← 3+1
10 ← 6+4
・数4の場合
4 < 10
5 ← 4+1
15 ← 10+5
・数5の場合
5 < 10
6 ← 5+1
21 ← 15+6
・数6の場合
6 < 10
7 ← 6+1
28 ← 21+7
・数7の場合
7 < 10
8 ← 7+1
36 ← 28+8
・数8の場合
8 < 10
9 ← 8+1
45 ← 36+9
・数9の場合
9 < 10
10 ← 9+1
55 ← 45+10
・数10の場合
10 < 10
ループを抜けます。
なのでaに入る解答は数<となります。
ぱんさんの言うように数<=にしたい場合は
初期値の 数←0を、 数←1にすると成立します。
数 ← 0
合計 ← 0
■ 数 < 10
数 ← 数 + 1
合計 ← 合計 + 数
■
「合計」を表示
・数0の場合
0 < 10
1 ← 0+1
1 ← 0+1
・数1の場合
1 < 10
2 ← 1+1
3 ← 1+2
・数2の場合
2 < 10
3 ← 2+1
6 ← 3+3
・数3の場合
3 < 10
4 ← 3+1
10 ← 6+4
・数4の場合
4 < 10
5 ← 4+1
15 ← 10+5
・数5の場合
5 < 10
6 ← 5+1
21 ← 15+6
・数6の場合
6 < 10
7 ← 6+1
28 ← 21+7
・数7の場合
7 < 10
8 ← 7+1
36 ← 28+8
・数8の場合
8 < 10
9 ← 8+1
45 ← 36+9
・数9の場合
9 < 10
10 ← 9+1
55 ← 45+10
・数10の場合
10 < 10
ループを抜けます。
なのでaに入る解答は数<となります。
ぱんさんの言うように数<=にしたい場合は
初期値の 数←0を、 数←1にすると成立します。
2021.05.24 04:27
ぱんさん(No.4)
そらさん、猫さん
回答ありがとうございます!!
数9のターンで
・数+1
・合計+1
数10,合計55になるから<10でいいのですね!
トレースありがとうございます!
腑に落ちました!
回答ありがとうございます!!
数9のターンで
・数+1
・合計+1
数10,合計55になるから<10でいいのですね!
トレースありがとうございます!
腑に落ちました!
2021.05.24 16:33