Menu
Coddy logo textTech

While ループ

CoddyのRジャーニー「基礎」セクションの一部。レッスン 39/78。

for loop はあらかじめ定義されたシーケンスを反復処理しますが、while loop は条件が TRUE である限り実行され続けます。これは、何回繰り返す必要があるかを事前に把握できない場合に便利です。

count <- 1
while (count <= 3) {
  print(count)
  count <- count + 1
}

出力:

[1] 1
[1] 2
[1] 3

loop は各反復の前に条件 count <= 3 を確認します。count が 4 になると、条件は FALSE になり、loop は停止します。

重要: loop内の変数を更新する必要があります。count <- count + 1がなければ、条件は常にTRUEとなり、決して終了しない無限ループが作られてしまいます。

total <- 0
num <- 1
while (num <= 5) {
  total <- total + num
  num <- num + 1
}
print(total)

出力:

[1] 15

この例では、1 から 5 までの数を加算し、結果は 15 になります。停止点が固定された順序ではなく条件に依存する場合、while ループが最適です。

challenge icon

チャレンジ

簡単

入力から数値 n を読み取ります。while ループを使用して、1 から n までのすべての数の合計を計算して出力します。

実行中の合計を追跡する変数と、カウンターとして使用する別の変数から始めます。カウンターが n 以下である間、各反復でカウンターを増加させながら合計に加算し続けます。

ループが完了したら、print() を使用して最終的な合計を出力します。

たとえば、入力が 5 の場合、出力は次のようになります。

[1] 15

これは、1 + 2 + 3 + 4 + 5 = 15 だからです。

自分で試してみよう

# 入力を読み込む
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))

# 変数を初期化する
total <- 0
counter <- 1

# TODO: 1からnまでの合計を計算するwhileループを以下に書いてください


# 結果を出力する
print(total)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rオンラインコンパイラ