電子書籍の厳選無料作品が豊富!

1 To 3と書いた時、
・For i=1 To 3:1と2と3を意味する(小数点は含まない)
・Case 1 To 3:1から3を意味する(小数点も含む)
など、その時々で意味が違うので、混乱します。

皆さんは、どうやって覚えていますか?

質問者からの補足コメント

  • うれしい

    皆さん、ありがとうございます。
    おかげさまで、理解することが出来ました!

      補足日時:2025/02/11 08:41

A 回答 (5件)

○ 日本語でも英語でもプログラミング言語でも、同じ表現が文脈によって違うニュアンスを持ちます。


日本語でも「サイコロの目が1から3」と「塩を1から3g」とで整数のみか小数を含むか違いますよね?
そういうものです。

○ For 文でも正確には「1と2と3」を意味していません。
1≦i≦3 の意味です。(もっと正確には、 初期値i=1, i≦3が成立する間ループする)
省略されている「Step 1」に従って 1, 1+1=2,2+1=3 とループしているので「整数だけ」に見えるだけです。

For d = 0.2 to 2.3 Step 0.3
といった小数だけでのループも可能です。
※ 誤差が出やすいので推奨はしませんが
    • good
    • 2
この回答へのお礼

解決しました

お礼日時:2025/02/11 08:44

意味は同じです、貴方が勝手にそう思い込んでるだけ。


どちらも1≦変数≦3の意味です。

変数が整数なら、自動的に1,2,3になるだけです。
変数を小数にしてFor i=1 To 3 step 0.5でも構わないのです。
Caseも同じ。
    • good
    • 2
この回答へのお礼

解決しました

お礼日時:2025/02/11 08:45

No1です。


No2,No3の方の指摘が正しいです。
No1の回答は無視してください。失礼しました。

以下で、確認しました。
Sub 試験()
Dim i As Double
For i = 1.3 To 3.5 Step 0.3
Debug.Print "i=", i
Next
End Sub

実行結果
i= 1.3
i= 1.6
i= 1.9
i= 2.2
i= 2.5
i= 2.8
i= 3.1
i= 3.4
    • good
    • 2
この回答へのお礼

解決しました

ご丁寧にありがとうございます!

お礼日時:2025/02/11 08:45

こんばんは



「To」が単独で使われることはないと思います。
ご提示の例の他にも、配列の定義で
 Array(1 To 100, 1 To 10)
などのようにも使われています。

いずれの場合も値の範囲を示す「from ~ to ~ 」的な意味合いで、整数値かどうかは問わず、終端値を意味する予約語です。
(配列の場合は、添え字が正の整数(←0は可能)なので整数ですが・・)

>For i=1 To 3:1と2と3を意味する(小数点は含まない)
は、必ずしも正しくありません。
 For i = 1.2 To 3.2
とすれば、制御変数「 i 」は、1.2→2.2→3.2 と変化します。
(整数とは限らない)
増分を指定しない場合に、デフォルトの増分が1に設定されているだけです。
For文は繰り返し処理をする場合が多いので、制御変数をカウンタ等として利用するようなケースでは、整数利用が多いとは思いますが・・

また、上記の場合でも、
 Dim i As Integer
 For i = 1.2 To 3.2
となっていると、i は整数宣言されているので、値は 1→2→3 と変化します。
(こんな使い方はしないと思いますけれど・・)
    • good
    • 3
この回答へのお礼

なるほど「Step 1」が省略されているのですね。勉強になりました。

お礼日時:2025/02/11 08:43

for文は、処理を繰り返す場合に使用します。


繰り返すときに、1.2回繰り返すという概念はないので、必ず整数回繰り返すことになります。

case文は、範囲を表すので、1~3の場合、1.2も含まれることになります。
    • good
    • 2
この回答へのお礼

ありがとう

お礼日時:2025/02/11 08:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A