変数の更新パターン(合計・カウンタ・最大値・値の交換)
更新日:
用語解説
変数の更新パターンは、繰返しの中で変数をどう書き換えるかの決まった形です。合計、個数の数え上げ、最大値の更新、値の交換は、擬似言語の問題で繰り返し使われます。
■ 試験で押さえるポイント
合計は、繰返しの前に total ← 0 としてから、繰返しの中で total ← total + x とします。右辺の total は「これまでの合計」です。
個数を数えるカウンタは、count ← 0 から始め、条件に合うたびに count ← count + 1 とします。
最大値は、最初の要素で max を決め、if(x が max より大きい)のときだけ max ← x とします。
二つの変数の値を入れ替えるときは、作業用の変数を使って3回代入します。
初期値を忘れたり、繰返しの中で毎回初期化したりすると、正しい結果になりません。積を求めるときの初期値は 1 です。
目的 | 繰返しの前 | 繰返しの中 |
|---|---|---|
合計 | total ← 0 | total ← total + x |
個数 | count ← 0 | 条件に合えば count ← count + 1 |
積(階乗など) | p ← 1 | p ← p × x |
最大値 | max ← 最初の値 | x が max より大きければ max ← x |
文字列をつなぐ | s ← ""(空文字列) | s の末尾に文字を追加 |
■ 選択肢での判断ポイント
空欄に入る代入を選ぶ問題では、「何をため込む変数か」を考え、右辺に自分自身(calcX + n など)が入っているかを確認します。calcX ← n だと前の値が消えて、最後の n しか残りません。
例: 1 から max までの総和を求める関数では、繰返しの中は calcX ← calcX + n です。calcX ← calcX + 1 だと回数(max)になります。
この用語に関連する過去問
令和4年度 基本情報技術者試験 科目B サンプル問題 問6
ビットの並びを逆にする処理
令和4年度 基本情報技術者試験 科目B サンプル問題 問3
配列要素の順次追加
令和4年度 基本情報技術者試験 科目B サンプル問題 問1
プログラムの出力結果
令和5年度 公開問題 基本情報技術者試験 科目B 問5
コサイン類似度の計算アルゴリズム
令和6年度 公開問題 基本情報技術者試験 科目B 問2
2進数文字列の10進数変換
令和7年度 基本情報技術者試験 科目B 問2
硬貨の組合せ計算アルゴリズム
令和7年度 基本情報技術者試験 科目B 問1
プログラムの最適化とループ条件
令和4年度 ITパスポート試験 公開問題 問96
for文の繰返しで変数numの変化を追い、aとbを特定する問題
令和4年度 ITパスポート試験 公開問題 問78
チェックデジット計算で、2桁の合計値を各桁の和にする式
令和5年度 ITパスポート試験 公開問題 問64
1からmaxまでの総和を求めるループ内処理(calcXの更新)
令和6年度 ITパスポート試験 公開問題 問85
2進数変換プログラム
令和6年度 ITパスポート試験 公開問題 問62
配列から文字列への変換