プログラミングの「繰り返し」とは?九九で学ぶfor文・while文の違い
プログラミングにおける「繰り返し」とは、同じ処理を何度も自動で実行する仕組みのことです。例えば九九の「2の段」なら、「2にかける数を計算して、答えを表示する」という一連の処理を、かける数を1ずつ変えながら9回実行します。
この記事では、まず視覚的にわかりやすいScratchを使って2の段を作ったあと、テキスト言語であるPythonの「for文」と「while文」で同じ計算を再現してみます。「どの命令を繰り返すのか」「途中でどの値が変わるのか」「どうなったら終わるのか」を整理しながら、コードを読んだだけで実行回数や結果を正しく予想できるようになりましょう。
※掲載している九九のプログラムや練習問題は、学習用に作成したサンプルです。PythonやScratchの仕様は公式資料に基づいて解説しています。また、学習の進め方や保護者の方からの声かけのヒントもあわせて紹介します。
プログラミングにおける繰り返しの基本

同じ命令やひとまとまりの処理を続けて実行することを「反復処理」といい、この繰り返しの構造は「ループ」とも呼ばれます。例えば、10問のクイズを順番に出題する処理や、ゲーム内でキャラクターの位置を少しずつ更新し続ける処理などに欠かせない仕組みです。
プログラムを組み立てる基本構造には、命令を上から順に実行する「順次」、条件によって処理を振り分ける「条件分岐」、そして同じ処理を繰り返す「反復」の3つがあります。これらは高校の「情報Ⅰ」の教員研修用教材でも基礎として扱われている重要な概念です。文部科学省の教材・第3章
繰り返しの処理を読み解く際は、まず「どの範囲の命令を繰り返しているか」を確認します。計算だけを繰り返しているのか、計算と画面表示の両方を繰り返しているのかによって、画面に出てくる結果が大きく変わるためです。そのうえで、「何回繰り返すか」「どんな条件で終わるか」「繰り返しの途中でどの値が変化するか」を丁寧に追っていくことが大切です。
プログラミング全体の仕組みから復習したい方は、「プログラミングとは」の解説記事を先に読むと、反復処理が基本構造のどこに位置づけられているかをスムーズに理解できます。
九九で考える反復処理と変数

同じ計算と表示を9回並べる方法
まずは、2×1から2×9までの答えを順番に表示することを考えてみましょう。繰り返しを使わずに計算と表示の命令を1行ずつ並べると、次のようになります(ここでは処理の流れを日本語で表現しています)。
2×1を計算して表示する
2×2を計算して表示する
2×3を計算して表示する
2×4を計算して表示する
2×5を計算して表示する
2×6を計算して表示する
2×7を計算して表示する
2×8を計算して表示する
2×9を計算して表示する
この書き方でも、2、4、6、8、10、12、14、16、18と順番に表示できます。しかし、これを「3の段」に変更しようとすると、9か所すべてにある「2」を「3」へと書き直さなければなりません。途中の1行をうっかり書き忘れると、答えが1つ抜け落ちてしまう原因にもなります。
変わらない処理と毎回変わる数
この9つの命令をよく見比べると、「2をかけて、その答えを表示する」という手順自体はすべて共通しています。毎回変わっているのは、1、2、3……と1ずつ増えていく「かける数」だけです。この変化する数値を「かける数」という名前の変数として管理すれば、バラバラだった命令を1つのまとまりにまとめられます。
変数とは、値(データ)に名前を付けて一時的に保存し、あとから計算や条件の判定に使い回すための仕組みです。今回は、現在の計算で2にかける数値をこの変数に記録します。最初に「1」を入れておき、計算と表示が1回終わるたびに値を1ずつ増やすことで、次は2×2、その次は2×3……と自動的に処理を進められます。
かける数を1から2へ変えたとき、画面には何が表示されるでしょうか。答えは「4」です。プログラム上はまったく同じ計算命令を使っていても、その時点で変数に入っている値が変われば、得られる結果も変わります。「実行している命令が同じであること」と「結果として出る答えが同じであること」は別物として捉えるのがポイントです。
値の保存方法や変更の手順を詳しく復習したい場合は、「変数」の解説記事も併せて確認してみてください。
Scratchによる2の段の作成

Scratch(スクラッチ)では、命令が書かれたブロックをジグソーパズルのように組み合わせてプログラムを作ります。今回は、画面上にいるネコなどのキャラクターに、九九の答えを1秒ずつ言わせてみましょう。なお、Scratchでは画面上のキャラクターのことを「スプライト」と呼びます。
変数の作成とブロックの配置
まずはScratchの作成画面を開き、画面上部の地球儀マーク(設定→言語)から表示言語を「日本語」に設定します(ひらがなの「にほんご」を選ぶとブロックの表記が変わるため、今回は漢字混じりの「日本語」を基準に進めます)。
- ネコのスプライトを選択し、「コード」タブを開きます。
- 「変数」カテゴリーにある「変数を作る」をクリックし、変数名を「かける数」にします。「すべてのスプライト用」にチェックを入れたまま作成してください。
- 「イベント」から、緑の旗のアイコンが付いた「⚑ が押されたとき」をワークスペースに置きます。
- その真下に、「変数」の「かける数を1にする」を繋げます。これがスタート時の初期設定になります。
- 続けて「制御」から「9回繰り返す」を繋げます。
- この繰り返しの枠の内側に、「見た目」の「( )と1秒言う」を入れます。
- 「( )と1秒言う」の丸い入力欄に、「演算」の「○ * ○」ブロックをはめ込み、左側に半角数字の「2」、右側に変数ブロックの「かける数」を入れます。
- 「言う」ブロックのすぐ下に、「変数」の「かける数を1ずつ変える」を繋げます。このブロックも必ず繰り返しの内側に配置してください。
完成したブロックの組み合わせは次のようになります(インデントされている2つの命令が「9回繰り返す」の内側に入ります)。ブロックの名称はScratch公式の日本語翻訳に準拠しています。
⚑ が押されたとき
かける数を(1)にする
(9)回繰り返す
((2)*(かける数))と(1)秒言う
かける数を(1)ずつ変える
「かける数を1にする」ブロックは、必ず繰り返しの外側(手前)に置いてください。もし枠の内側に入れてしまうと、繰り返すたびに値が1へリセットされてしまい、「2」とだけ延々と言い続けるプログラムになってしまいます。
実行結果と変数の確認
画面上部の緑の旗をクリックすると、ネコの吹き出しに「2」「4」「6」……「18」と順番に答えが表示されます。「1秒言う」ブロックを使っているため、表示された答えを落ち着いて目で追うことができます。また、変数パレットで「かける数」の左側にあるチェックボックスを入れると、ステージ上に現在の変数の値がリアルタイムで表示されます。
9回目の処理では、「かける数」が9の状態で「18」と言ったあと、値を1増やして「10」になります。そして10になった瞬間、指定された9回の繰り返しを終えてプログラムが停止します。このプログラムでは、「9回繰り返す」というブロックが終了のタイミングを制御し、「かける数」という変数が計算に使う数値を管理していることがわかります。
お子さんと一緒に取り組む際は、最初の数値を2に変える前に「最初の答えと最後の答えはどう変わると思う?」と問いかけてみるのがおすすめです。繰り返す回数を9回のままにしておけば、答えは4から20まで変化します。「スタートの値」と「繰り返す回数」がそれぞれ別の設定項目であることを実感できる良い実験になります。
Pythonのfor文による繰り返し

ここからは、実務でも広く使われているテキストプログラミング言語「Python(パイソン)」を使って同じ処理を書いてみましょう。Pythonを実行できる環境(Google Colaboratoryや各種エディタなど)にコードを入力して実行してみてください。なお、コード内の記号や英数字はすべて半角で入力します。
Pythonのfor文は、リストや範囲などの「まとまったデータ」から要素を1つずつ取り出しながら、同じ処理を繰り返すための構文です。今回は、連続した整数の並びを生成するrange関数と組み合わせて、9回の計算を実行します。Python公式チュートリアルのfor文とrange
for n in range(1, 10):
print(2 * n)
実行すると、次のように出力されます。
2
4
6
8
10
12
14
16
18
ここで使っているnは変数名で、Scratchで作成した「かける数」と同じ役割を果たします。for文によって取り出された値が、このnに順番に入っていきます。print()は括弧の中身を画面に表示する命令で、*は掛け算を表す記号なので、2 * nで「2×n」を計算しています。
注意したいのがrange(1, 10)の指定方法です。range(開始値, 終了値)は、開始値の1は含みますが、終了値の10は含みません。つまり「1から9まで」の整数が順番に取り出されます。最初はnが1なので「2」、次はnが2なので「4」が表示され、最後にnが9になって「18」を表示したあと、取り出すデータがなくなってループが終了します。
また、forの行の末尾にある:(コロン)は、「ここから下に繰り返したい処理が続きます」という合図です。次の行の先頭に空白を入れて一段下げる書き方を「インデント(字下げ)」と呼び、Pythonではこの字下げによって「どこまでがfor文の内側の処理か」を判断します。通常は半角スペース4つで揃えるのが基本です。
このコードには、Scratchにあった「かける数を1ずつ変える」のような命令が見当たりません。これは、for文が自動的にrangeから次の数値を順番に取り出してnに代入してくれるためです。同じ計算結果を得るプログラムでも、言語や書き方によって内部の仕組みが異なります。
Pythonのwhile文と終了条件

もう1つの繰り返しの書き方がwhile(ホワイル)文です。while文は、「指定した条件が成り立っている間(真である間)」、内側の処理を繰り返します。プログラミングでは、条件が成立している状態を「真(True)」、成立していない状態を「偽(False)」と呼びます。条件が合っているかどうかは、ループ内の処理を実行する前に毎回チェックされます。Python公式言語リファレンスのwhile文
n = 1
while n <= 9:
print(2 * n)
n = n + 1
このコードを実行しても、先ほどとまったく同じ9つの答えが表示されます。
2
4
6
8
10
12
14
16
18
1行目のn = 1は、変数nに最初の値として1を入れる(代入する)命令です。Pythonにおける=は「左右が等しい」という意味ではなく、「右側の値を左側の変数に代入する」という意味を持ちます。Python公式の代入の説明
whileの隣にある<=は、「〜以下」を表す比較演算子です。n <= 9は「nが9以下である」という条件を表し、この条件が正しい(真である)間だけ処理が続きます。もし<(より小さい / 未満)を使ってしまうと9が含まれなくなってしまうため、記号の意味と数値をセットで確認することが重要です。
そして、ループの中にあるn = n + 1が重要な役割を果たします。これは「現在のnの値に1を足して、再びnに代入し直す」という処理で、Scratchの「かける数を1ずつ変える」とまったく同じ働きをします。この行によって、nは1、2、3……と1つずつ増えていきます。
条件判定から終了までの追跡表
上記のwhile文がどのように動いているのか、1回ずつの処理を整理したのが次の追跡表(トレース表)です。「更新後のn」が、次回の条件判定で使われる値になります。
| 繰り返しの回数 | 条件判定時のn | n <= 9の判定 | 表示する計算結果 | 更新後のn |
|---|---|---|---|---|
| 1回目 | 1 | 真 | 2×1=2 | 2 |
| 2回目 | 2 | 真 | 2×2=4 | 3 |
| 3回目 | 3 | 真 | 2×3=6 | 4 |
| 4回目 | 4 | 真 | 2×4=8 | 5 |
| 5回目 | 5 | 真 | 2×5=10 | 6 |
| 6回目 | 6 | 真 | 2×6=12 | 7 |
| 7回目 | 7 | 真 | 2×7=14 | 8 |
| 8回目 | 8 | 真 | 2×8=16 | 9 |
| 9回目 | 9 | 真 | 2×9=18 | 10 |
| 終了の判定(処理は実行されない) | 10 | 偽 | 表示なし | 更新なし(10のまま) |
実際に画面へ答えを表示したのは9回ですが、条件のチェック自体は「終わるかどうかを確認する最後の1回」を含めて合計10回行われています。10回目のチェックで「10は9以下ではない(偽)」と判定されたため、計算も表示も行わずにループを抜けて終了したわけです。
もし最初の設定をn = 10からスタートさせた場合、1回目の判定でいきなり「偽」になるため、ループの中身は1度も実行されずに終了します。「繰り返しを書いたら最低でも1回は動く」と思い込まず、最初の条件チェックから順を追って考える癖をつけましょう。
for文とwhile文の違いと使い分け

Pythonで繰り返しを書く際は、「あらかじめ順番に取り出せるデータがあるか」それとも「特定の条件を満たしている間だけ続けたいか」によって使い分けます。今回の九九のように回数が決まっている処理は、どちらの構文を使っても作成可能です。
| 比較項目 | for文 | while文 |
|---|---|---|
| 基本的な働き | 用意されたデータから要素を順に取り出して繰り返す | 指定した条件が「真」の間、処理を繰り返す |
| 今回の九九での使い方 | range(1, 10)から1〜9の数字を取り出す | nを1からスタートし、n <= 9の間続ける |
| 変数の更新 | 取り出した要素が自動的に変数nに入る | ループ内でn = n + 1を書いて自分で更新する |
| 終了の仕組み | 取り出すデータがすべてなくなったら終了する | 条件式(n <= 9)が「偽」になったら終了する |
「1から9までの数字を使って順番に計算する」という明確な決まりがある場合は、for文とrangeを組み合わせたほうがコードをすっきりと短く書けます。
一方で、「ゲームでプレイヤーのHPが0になるまで続ける」「ユーザーが正しいパスワードを入力するまで再入力を求める」といったように、何回繰り返すかは決まっておらず、状況や条件次第で終了タイミングを決めたい場面ではwhile文が適しています。
for文を単に「回数が決まっているときに使う構文」とだけ覚えると、将来リストや文字列などのデータを扱う際に理解が狭まってしまいます。「用意されたデータの並びから要素を順に取り出して処理するのが基本であり、今回はrange関数を使って回数を指定する形にしている」と整理しておくと、応用が効きやすくなります。Python公式のfor文の定義
なお、処理が終わったあとの変数nの値を比べると、for文では「9」、while文では「10」になっています。画面に出力された答えはまったく同じでも、変数を更新していく仕組みが異なるため、終了後に残る変数の値まで同じになるとは限らない点も知っておくと役立ちます。
Scratchの「まで繰り返す」とwhile文の条件の違い
Scratchには「9回繰り返す」のほかに、「〈 〉まで繰り返す」というブロックもあります。これを使って「〈かける数 > 9〉まで繰り返す」と組み立てても、初期値を1にして同じように更新を行えば2の段を作ることができます。Scratch公式の反復処理の実装
ここで注意したいのが条件の向きです。Scratchのブロックは「10になったら終了する」という終了条件を指定するのに対し、Pythonのwhile n <= 9は「9以下である間は続ける」という継続条件を指定します。どちらも同じタイミングで止まりますが、条件の考え方が正反対です。Scratchの感覚のままwhile文に条件を当てはめてしまうと、最初から動かなかったり、思わぬ誤動作につながったりすることがあります。
また、Scratchは吹き出しを使って「1秒ずつ間隔を空けて」表示しますが、今回のPythonのコードは実行結果のエリアに一瞬で改行しながら出力されます。アルゴリズム(計算の手順)は同じでも、画面への見せ方や待機時間の扱いなどは実行環境によって異なる点も意識しておきましょう。
繰り返しでよくある間違いと対策

プログラムが思い通りに動かないときは、「開始時の値」「終了の条件」「値の更新処理」「命令を並べる順序」の4つを1つずつ見直します。想定と違う結果になったら、「何回目の処理から狂い始めたか」を特定するのがトラブル解決の近道です。
1. rangeの終了値の間違い
for n in range(1, 9):
print(2 * n)
このコードを実行すると、1〜8までしか処理されず、画面には「2〜16」までの8個しか表示されません。
原因は、range(1, 9)の終了値である「9」が含まれないためです。
2×9までしっかり計算したい場合は、終了値を1つ増やしてrange(1, 10)と書く必要があります。
2. 不等号の記号(< と <=)による回数のズレ
while文の条件をうっかりn < 9と書いてしまうと、nが1〜8の間しか処理が実行されません。
nが9になった瞬間に条件が成り立たなくなり、8回で終了してしまいます。
9回きっちり動かしたい場合は、イコールを含めたn <= 9にするか、あるいはn < 10と書く必要があります。
記号の形を丸暗記するのではなく、「最後に使いたい数字のときに、この条件は本当に成り立つか?」を具体的に当てはめて確認しましょう。
3. 変数の更新忘れによる「無限ループ」
プログラムが止まらなくなり、同じ処理を延々と実行し続けてしまう状態を「無限ループ」と呼びます。
もし試す場合は、事前に強制停止の方法を確認しておきましょう(通常のコマンドラインならCtrl + C、学習用エディタなら画面上の「停止ボタン」などで止められます。止め方がわからない場合は無理に実行せず、先生や保護者の方と一緒に確認してください)。
以下は、変数の更新を忘れてしまった典型的なミスです。
n = 1
while n <= 9:
print(2 * n)
このコードでは、ループの中でnの値を増やす処理が入っていません。そのためnはずっと1のままであり、n <= 9という条件が永遠に成り立ち続けてしまいます。「2」を画面に出力する命令自体は、nの値を何も変化させないからです。ループの中にn = n + 1を追加することで、初めて9回で安全に終了できるようになります。
また、更新の足し算・引き算を間違えてn = n – 1と書いてしまった場合も、1、0、-1、-2……と数字が減り続けるため、やはり9以下から抜け出せなくなって無限ループになります。「値が更新されているか」だけでなく、「終了条件に向かって正しく値が変化しているか」も必ず確認しましょう。
4. 表示と更新の順番間違い
n = 1
while n <= 9:
n = n + 1
print(2 * n)
このコードを実行すると、画面には「4、6、8……20」と出力され、最初の「2×1」が表示されません。
最初の判定を通過した時点ではnは1ですが、画面に表示する前にn = n + 1で2に書き換えられてしまうためです。さらに最後の9回目も、nが9の状態でループに入ったあと、10に増やされてから計算されるため「20」が表示されてしまいます。
2×1から順に始めたい場合は、print(2 * n)の行をn = n + 1よりも上に配置しなければなりません。
命令を並べる順番が1行入れ替わるだけでも、プログラムの結果はガラリと変わってしまいます。
5. インデント(字下げ)のズレ
for n in range(1, 10):
result = 2 * n
print(result)
このコードを実行すると、途中の計算結果は一切表示されず、最後に「18」とだけ1回表示されます。result = 2 * nの計算自体は9回行われていますが、print(result)の先頭に空白がなく、for文の外側に出てしまっているためです。
その結果、すべてのループが終わったあとに、最後に残っていた18だけが出力されてしまいます。計算と表示をセットで9回繰り返したい場合は、printの行もしっかり字下げしてループの内側に含める必要があります。
Pythonでは、この字下げの深さによってプログラムの実行範囲が決まります。
もしwhile文の更新処理(n = n + 1)を誤って外側に置いてしまうと、中身が更新されないまま無限ループに陥ることもあります。
コロンの次の行で字下げを忘れると構文エラーにもなるため、インデントのズレには常に気を配りましょう。Python公式のインデントの説明
情報Ⅰの反復処理とプログラムの読み取り

高校の「情報Ⅰ」で扱われるプログラミング問題でも、変数の変化や処理の順序を1行ずつ丁寧に追っていく力が求められます(文部科学省の教員研修用教材・第3章でも、制御構造やフローチャート、反復プログラムの読み取りが解説されています)。
テストや共通テストなどのプログラム問題を読み解く際は、頭の中だけで考えようとせず、次のような手順で余白に書き出してみるのがおすすめです。
- 変数の初期値をメモする。
- その値で、繰り返しの条件が「真」になるかチェックする。
- 真なら、ループ内の命令を上から順に実行し、変数の変化や出力をメモする。
- 更新された新しい値を使って、再び条件をチェックする。
- 条件が「偽」になり、ループを抜ける瞬間まで丁寧に記録する。
先ほどのwhile文の追跡表でも確認したように、「条件をチェックした回数」と「ループの中身を実行した回数」にはズレが生じます。この差を意識しながら書き出す習慣をつけるだけで、最後の1回分の処理を見落とすようなケアレスミスを大幅に減らせます。
なお、試験問題によっては独自の擬似言語や日本語の箇条書きでルールが書かれていることもあります。「終了の数値を含むのか含まないのか」「変数の更新はどのタイミングで行われるのか」など、問題文の定義をしっかりと確認してから読み解くようにしましょう。
条件の判定方法について基礎から見直したい場合は、自動販売機で学ぶ「条件分岐」の記事も参考になります。
条件分岐は「どの処理を選ぶか」を決め、今回のwhile文は「次の処理へ進むかどうか」を判定します。
理解を確かめる練習問題

ここまでの内容をもとに、4つの練習問題に挑戦してみましょう。
すぐにコードを実行するのではなく、まずは頭の中で答えを予想してから実行結果と答え合わせをしてみてください。もし間違えた場合は、「何回目の処理で予想とズレてしまったのか」を確かめてみましょう。
問題1:3の段への変更
for文を使って作った2の段のコードを改造し、3×1から3×9までを表示する「3の段」のプログラムを作りたいと思います。コードのどの部分を修正すればよいでしょうか。
答え: 計算式の「2」を「3」に変更します。
for n in range(1, 10):
print(3 * n)
実行すると「3、6、9、12、15、18、21、24、27」と表示されます。
かける数が1〜9であることには変わりがないため、range(1, 10)の部分を変更する必要はありません。
Scratchで作る場合も、掛け算ブロックの「2」を「3」に変えるだけで同様に3の段が完成します。
問題2:指定した回数だけ文字を表示する
「こんにちは」という挨拶を画面に5回続けて表示するプログラムを、for文とrangeを使って書いてみましょう。
答え: 例えば以下のように書くことができます。
for count in range(5):
print("こんにちは")
countはループの回数を数えるための変数です。range(5)と書くと「0、1、2、3、4」の計5個の数値が順番に取り出されるため、中の処理がちょうど5回実行されます。このように、取り出した数値を計算に使わず、単に「決まった回数だけ処理を繰り返したい」という目的でもfor文はよく使われます。
問題3:終了条件と実行回数の予想
次のコードを実行したとき、画面には何行の文字が表示され、最後に表示される数値はいくつになるでしょうか。
n = 1
while n < 5:
print(2 * n)
n = n + 1
答え: 4行表示され、最後に表示される数値は「8」です。
条件がn < 5(5未満)になっているため、処理が実行されるのはnが1、2、3、4のときだけです。画面には「2、4、6、8」が順番に出力されます。そのあとnが5に増えた段階で条件が「偽」となり、表示処理は行われずにループが終了します。
問題4:開始値と増え方による変化の予想
次のコードを実行したとき、画面にはどんな数値が表示され、すべての処理が終わったあとのnの値はいくつになっているでしょうか。
n = 3
while n <= 9:
print(n)
n = n + 2
答え: 画面には「3、5、7、9」の4つが表示され、終了時のnの値は「11」になります。
初期値が3で、1回ごとに2ずつ増えていくため、奇数だけが順番に表示されます。
画面に「9」と表示されたあと、n = n + 2によってnは11になります。そして次の条件チェックで「11は9以下ではない」と判定されて終了します。
このように、変数が1ずつ増えるとは限らない場合でも、追跡表を書き出すことで正確に動きを予測できます。
二重ループによる九九表の作成

1つの段の仕組みが理解できたら、最後に応用として「1の段から9の段まで」をすべて一気に表示する九九表を作ってみましょう。繰り返しの処理の中に、さらに別の繰り返しを入れる構造を「二重ループ(ネスト)」と呼びます。
for dan in range(1, 10):
for n in range(1, 10):
print(dan * n, end=" ")
print()
ここでは、段の数値を表すdanと、各段でかける数値を表すnという2つの変数を使っています。外側のループでdanが1にセットされると、内側のループが動き出し、nを1から9まで変化させながら「1の段」の計算と表示を一気に終わらせます。内側の処理がすべて終わると、外側のループが次の数値を取り出し、今度はdanが2になって「2の段」が始まります。
print()の中にあるend=” “は、「数値を表示したあとに改行せず、半角スペースを空けて右に並べる」という特別な指定です。そして、内側のループを抜けた直後にあるprint()によって段ごとに改行を入れることで、綺麗な表の形に整えています。
このコードを実行すると、次のような美しい九九表が出力されます。
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
外側のループが9回回り、その1回ごとに内側のループが9回回るため、掛け算が行われた回数は全部で「9×9=81回」になります。2の段に進んだとき、内側のnが再び1からリセットされてスタートする点にも注目してみてください。
最初は難しく感じるかもしれませんが、まずは「何を繰り返し、どの値が変わり、どこで終わるのか」を基本の1つのループで言葉にして説明できるようになることが何より大切です。
それができるようになったら、初期値や条件式を少しだけ書き換えて「どう動くか」を予想してみましょう。
予想と実行結果を照らし合わせる経験を積み重ねていくことで、どんなに複雑で長いプログラムでも、自信を持って読み解けるようになっていきます。
テックチャンスでのプログラミング体験

九九の計算を通して学んだ「繰り返し」の仕組みは、ゲームの中でキャラクターを滑らかに歩かせたり、敵キャラクターを次々と出現させたりする処理にもそのまま応用されています。
「基礎がわかったから、次は実際に動く本格的なゲームを作ってみたい!」と思ったら、ぜひ専門の教室で本格的な作品づくりにチャレンジしてみませんか?
小学生・中学生・高校生向けのプログラミング教室「テックチャンス」では、Scratchやマインクラフトを使った入門コースから、本格的なテキスト言語を学ぶコースまで、お子さんの興味や理解度に応じた多彩な学習環境を用意しています。
Scratchコースでは、カラフルなブロックを直感的に組み合わせながら、ゲーム作りを通じてプログラミングの土台となる論理的思考力を無理なく育むことができます。
まずは無料体験授業で、プログラミングの楽しさや教室の雰囲気を気軽に体感してみてください。