繰返しを表で確かめる
- 累積和と反復回数を区別して追う
- 剰余による条件に合う値だけ加算する
- 更新する変数と終了直前の状態を確かめる
- 文字列の末尾への追加を順に追う
点線のことばを押すと、意味と使い方を調べられます。
表示・保存
このページの目次 4節・復習と4問
- 1説明を読む
- 2復習する
- 3問題を解く
- 4次へ進む
1合計は前の値へ足し込む
トレースは、手順を実行したときに変数の値がどう変わるか、一つずつ追うことです。まず合計sを0にします。このように最初に使う値を決めることを初期化と呼びます。
nを1、2、3の順に変え、各回でs←s+nを実行します。n=1では0+1=1、n=2では前の合計1に2を足して3、n=3では3に3を足して6です。前の合計へ足し込むので、これを累積和と呼びます。
s←nなら最後の3だけが残り、s←s+1なら回数3を数えます。s←s×nでは初期値0からずっと0です。見た目が似た式でも働きは違います。表には、その回のnと、更新前・更新後のsを別々に記録します。
2余りで条件を選び合計する
剰余は割り算の余りです。7を3で割ると商2、余り1。nを3で割った余りが0なら3の倍数です。
s←0としてn=1~7で3の倍数だけsへ足すと、n=3でs=3、n=6でs=9、それ以外は変わりません。該当する回数は2回ですが、返す合計は9。上限7や一つの値3を答えにしません。
ハルとビットで、使い方を確かめよう
何回足したかと合計は違うの?
3と6なら2回足して、合計は9だよ。
3終了する直前まで追う
正の整数x、yが等しくなるまで、大きい方から小さい方を引く処理を考えます。x=98、y=42で開始すると、(98,42)→(56,42)→(14,42)→(14,28)→(14,14)です。毎回、どちらが大きいかを確かめてから、その変数だけを更新します。
二つの値が等しくなったらそこで終了し、結果は14です。途中の28や56で止めたり、等しくなった後も引いて0にしたりしません。この手順は、両方を割り切る正の整数のうち最大のもの、最大公約数を求める方法の一つです。
ハルとビットで、使い方を確かめよう
条件が同じになったらもう一回?
「等しくなるまで」ならそこで終わりだよ。停止条件を毎回見よう。
4文字列も一つずつ追加する
文字列は文字の並びです。空文字列は、まだ一文字も入っていない状態です。配列の値を順に調べ、条件に応じた文字を追加すると、文字列も少しずつ変わります。
配列[1,2,4]を先頭から調べ、偶数ならA、奇数ならBを末尾へ追加するとします。最初は空文字列で、1を読むとB、2を読むとBA、4を読むとBAAです。各回の値、条件、追加する文字、追加後の結果を分けて追います。
同じ文字でも、先頭へ追加するならB→AB→AABとなり、末尾へ追加したBAAとは順序が違います。また「偶数ならA」を「値が1ならA」に変えれば、追加する文字も変わります。問題ごとに条件と追加位置を読み直し、最後は文字数と処理回数を確かめます。
復習
このレッスンを振り返ろう
s←s+nとs←s+1では何が違う?
答え方と、確認するポイント
その回の値を合計するか、回数を数えるかが違います。
余り0の値だけ加算するとき、条件が偽の回は?
答え方と、確認するポイント
累計を変えず次の値へ進みます。
大きい方から引く処理で、等しくなった後も引く?
答え方と、確認するポイント
等しいと繰返し条件が偽なので、その場で終了します。
条件が同じでも追加場所が違うと結果は変わる?
答え方と、確認するポイント
先頭と末尾では文字の順序が変わり得ます。指定された場所へ追加します。
問題で確かめる
学んだことを問題で確かめよう
ここではオリジナル問題3問で、学んだ考え方を使います。答えを選んだら、正解の理由とほかの選択肢の違いも確認しましょう。
ヒントを見る
更新前のsに、その回のnを足し、更新後のsを次の回へ引き継ぎましょう。
オリジナル入門問題 · シラバス 6.5
4問中0問の答えと解説を確認しました。選んだ答えの理由も確かめてから、次へ進みましょう。
出典・参考資料を確認する
学習範囲:IPA シラバス Ver.6.5 ↗ 項目37。身近な例・会話・図解・確認問題は当サイトのオリジナルです。
学習範囲と参考資料
- Python公式チュートリアル 制御構造 ↗
- IPA ITパスポート試験シラバス6.5(範囲) ↗
- IPA 2022年度公開問題 ↗
- IPA 2023年度公開問題 ↗
- IPA 2024年度公開問題 ↗
- IPA 2025年度公開問題 ↗
シラバスは学習範囲の根拠です。説明・図の数値・身近な事例は学習用に作成しています。2026年9月14日確認。