HOME»基本情報技術者試験掲示板»whileの条件式について
投稿する

whileの条件式について [5429]

 ぽんたさん(No.1) 
while文について

出るとこだけ!の参考書にwhile文の問題で、「100から0になるまで繰り返す」という条件のとき、0の場合は実行されず、1以上の場合継続と記述されていました。

「100から0まで繰り返す」のときは、0の時も実行されると思うのですが、「まで」と「になるまで」には違いがあるのでしょうか?
2024.05.05 18:13
y4 kさん(No.2) 
FE ブロンズマイスター
その本を見ていないので、断言はできません。
実際にプログラミング言語で記述されていれば悩む所ではない筈ですが、日本語の文章のみで表現されているのですか?

[処理A]
i = 100
while i > 0:
 (処理)
 i = i - 1

[処理B]
i = 100
while i >= 0:
 (処理)
 i = i - 1

処理A(条件式に等号が無い)であれば、0の時は実行されない。
処理B(条件式に等号が有る)であれば、0の時も実行される。
2024.05.05 18:36
 ぽんたさん(No.3) 
返信ありがとうございます!

疑似言語として、日本語のみで記述されています。

while (空欄)  //変数valが100から0になるまでを繰り返す。
  val←val-1
end while

上記の空欄に当てはまる回答がvalが1以上であり、なぜ0以上ではないのか、日本語の問題になってしまうのですが、わかる方、ご教授いただければ幸いです。
2024.05.05 21:57
boyonboyonさん(No.4) 
FE シルバーマイスター
val←100
While(val>=1)
val ←val-1
end while

ということであれば、
valは、初期値100、最後は0になります。

While(val>=0)
にすると、valの最後の値は、-1になります。
2024.05.05 22:58
y4 kさん(No.5) 
FE ブロンズマイスター
IPAの疑似言語の学習に注力していないので、「共通テスト手順記述標準言語(DNCL)の説明」を見てみました。(令和6年の高3から受験する大学入試共通テスト「情報Ⅰ」で用いられる言語です)

繰り返しについては
条件繰り返し文:<条件>が成り立つ間、<処理>を繰り返し実行します。
順次繰返し文:<変数>の値を増やし(減らし)ながら、<処理>を繰り返し実行します。

条件繰り返し文がwhile文。順次繰り返し文がfor文の説明でよいでしょう。
そして、条件繰り返し文(while)の条件を日本語の文章で表現する場合の基準は明記されていないようです。日本語表現による違いは、結局の所、著者の匙加減になるかもしれません。

ただ、今回の例では『変数valが100から0になるまでを繰り返す』と表現されています。
ここから、"変数valの値が0になったら繰り返しから抜ける"と読み取る必要がありそうです。
2024.05.06 09:39
 ぽんたさん(No.6) 
丁寧にご返信ありがとうございます。

日本語表現は、明確な基準がないとのことなので、あまり気にせず、科目Bの対策を進めようと思います。
本当にありがとうございました!
2024.05.06 11:36
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop