演習1

for文を使って,1から100までの合計を求めなさい。

ヒント:変数に合計値を保存し、for文で各数値をその変数に足して追加すること。

s <- 0
for (i in 1:100) {
  s <- s + i
}
print(s)
## [1] 5050
#sum()関数を使えば1行求められる。
print(sum(1:100))
## [1] 5050

演習2

for文で1から20までの整数のうち、偶数だけを出力するプログラムを書きなさい。

ヒント:2で割り切れるかどうかを判定するために、%%(剰余演算子)を使用する。

#演習2
for (i in 1:20) {
  if (i %% 2 == 0) {
    print(i)
  }
}
## [1] 2
## [1] 4
## [1] 6
## [1] 8
## [1] 10
## [1] 12
## [1] 14
## [1] 16
## [1] 18
## [1] 20

演習3

while文を用いて、10から1までのカウントダウンを出力するプログラムを書きなさい。最後に「発射!」と出力する。

ヒント:while文の条件を、変数が1以上である間とする。

#演習3
n <- 10
while (n > 0) {
  print(n)
  n <- n - 1
}
## [1] 10
## [1] 9
## [1] 8
## [1] 7
## [1] 6
## [1] 5
## [1] 4
## [1] 3
## [1] 2
## [1] 1
print("発射!")
## [1] "発射!"

演習4

1から100までの数のうち,3の倍数と5の倍数をそれぞれカウントし,結果を出力するプログラムを書きなさい。

ヒント:剰余演算 %% を使って、 3や5で割り切れる数を調べ、カウンタを増やしていく。

#演習4
#3の倍数と5の倍数をカウントする変数を初期化
count_3 <- 0
count_5 <- 0
# 1から100までの数をループ処理
for (i in 1:100) {
  if (i %% 3 == 0) {
    count_3 <- count_3 + 1  # 3の倍数ならカウント
  }
  if (i %% 5 == 0) {
    count_5 <- count_5 + 1  # 5の倍数ならカウント
  }
}
# 結果を表示
cat("3の倍数の個数:", count_3,"\n")
## 3の倍数の個数: 33
cat("5の倍数の個数:", count_5,"\n")
## 5の倍数の個数: 20

演習5

ベクトル x = c(23, 45, 12, 67, 34, 89, 10) の中で最大の値を見つけるプログラムを書きなさい。

ヒント:最初にベクトルの1つ目の要素を最大値maxとし、for ループで各要素を比較して,maxより大きい場合,入れ替える。

#演習5
# ベクトルを定義
x <- c(23, 45, 12, 67, 34, 89, 10)
# 仮の最大値をベクトルの最初の要素に設定
max_value <- x[1]
# 2番目の要素からループして最大値を探す
for (i in 2:length(x)) { #length(x)はxの長さを求める
  if (x[i] > max_value) {
    max_value <- x[i]  # 現在の値が最大値より大きければ更新
  }
}
# 最大値を出力
print(paste("最大の値は:", max_value))
## [1] "最大の値は: 89"
#max()関数を使えば,1行で求められる
cat("最大値は", max(c(23, 45, 12, 67, 34, 89, 10)),"\n")
## 最大値は 89

–end–