HOME»基本情報技術者試験掲示板»1から10まで足して行くプログラムについて

基本情報技術者試験掲示板


[3332] 1から10まで足して行くプログラムについて

 ぱんさん(No.1) 
過去にも質問あったのを確認しているのですが、どうしても理解できなかったので教えて下さい。

  数    ←  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】で正しいです。
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にすると成立します。






2021.05.24 04:27
 ぱんさん(No.4) 
そらさん、猫さん

回答ありがとうございます!!
数9のターンで
・数+1
・合計+1
数10,合計55になるから<10でいいのですね!

トレースありがとうございます!
腑に落ちました!
2021.05.24 16:33

返信投稿用フォーム

スパム防止のために初投稿日から30日経過したスレッドへの書き込みは禁止しています。

© 2010-2022 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop