プログラミングの基本となる3つの処理【順次・分岐・反復】とフローチャート

順次処理 プログラミングの始め方

プログラミングって(むずか)しそう

(おも)っていませんか?

たしかに、最近(さいきん)のゲームなどを()ているとそう(おも)われるのも仕方(しかた)ないかもしれません。

でも、(むずか)しそうに()えるものでも、基本(きほん)となる部分(ぶぶん)意外(いがい)単純(たんじゅん)だったりしますよね。 それはプログラミングにおいても例外(れいがい)ではありません。

この記事(きじ)では、プログラミングの基本(きほん)となる3つの処理(しょり)について説明(せつめい)します。

プログラミングの基本となる3つの処理【順次・分岐・反復】

まず最初(さいしょ)に、スマートフォンをイメージしてみてください。

スマートフォン

スマートフォンといえば、たくさんのアプリケーションがインストールされているのはご存知(ぞんじ)のことと(おも)います。 (べつ)()(かた)をすれば、スマートフォンはたくさんのアプリケーションが(あつ)まってできていると()えます。

(じつ)はそのアプリケーションもまた、(ちい)さなプログラムが(あつ)まってできています。 さらにもっと(こま)かく()ていくと、その(ちい)さなプログラムは「基本(きほん)となる処理(しょり)」が(あつ)まってできています。

つまり、「基本(きほん)となる処理(しょり)」を(まな)ぶことが、プログラミングのはじめの一歩(いっぽ)なのです。

プログラミングの基本(きほん)となる処理(しょり)は3つです。 “3つしかない”と(おも)っていただければ、“プログラミングは(むずか)しい”というイメージは払拭(ふっしょく)されるのではないかと(おも)います。

その3つの基本(きほん)となる処理(しょり)とは、

  • 順次処理(じゅんじしょり)
  • 分岐処理(ぶんきしょり)
  • 反復処理(はんぷくしょり)

です。

1つずつ順番(じゅんばん)説明(せつめい)しますね。

プログラミングの基本①「順次処理」

“この処理(しょり)(つぎ)はこの処理(しょり)”、というように順々(じゅんじゅん)処理(しょり)実行(じっこう)していくことを「順次処理(じゅんじしょり)」といいます。

プログラミングとは、コンピュータにやってほしい内容(ないよう)(なら)べていく作業(さぎょう)なので、 「順次処理(じゅんじしょり)」はプログラミングの(なか)でも一番基本的(いちばんきほんてき)処理(しょり)であると()えます。

プログラムは基本的(きほんてき)(うえ)から(した)()いていくので、(さき)実行(じっこう)したい処理(しょり)(うえ)()きます。

時間割表(じかんわりひょう)をイメージしてみてください。

じかんわりひょう

“1時間目(じかんめ)⇒2時間目(じかんめ)⇒3時間目(じかんめ)”というように、(うえ)から順々(じゅんじゅん)(すす)んでいきますよね。 これが「順次処理(じゅんじしょり)」です。イメージは(つか)めましたでしょうか?

プログラミングの基本②「分岐処理」

ある条件(じょうけん)によって実行(じっこう)する内容(ないよう)()えることを「分岐処理(ぶんきしょり)」といいます。

もう一度(いちど)時間割表(じかんわりひょう)をイメージしてみてください。

曜日(ようび)によって、各時間(かくじかん)科目(かもく)(ちが)っていますよね。

(たと)えば、
月曜日(げつようび)は、“国語(こくご)生活(せいかつ)算数(さんすう)
火曜日(かようび)は、“国語(こくご)体育(たいいく)算数(さんすう)
というようにです。

ある条件(じょうけん)、つまり“曜日(ようび)”によって、 実行(じっこう)する内容(ないよう)、つまり“各時間(かくじかん)科目(かもく)”を()えているわけですね。

これが「分岐処理(ぶんきしょり)」です。イメージは(つか)めましたでしょうか?

プログラミングの基本③「反復処理」

ある処理(しょり)()(かえ)実行(じっこう)することを「反復処理(はんぷくしょり)」といいます。 “ループ”と()んだりもします。

何回(なんかい)()(かえ)すかは条件(じょうけん)設定(せってい)することができます。 よくあるのは“10(かい)()(かえ)す”など、回数(かいすう)指定(してい)する方法(ほうほう)です。

また、条件(じょうけん)()たすことができずに「反復処理(はんぷくしょり)」が永遠(えいえん)()わらないことを無限(むげん)ループといいます。 無限(むげん)ループ、()いたことありませんか?

もう一度(いちど)時間割表(じかんわりひょう)をイメージしてみてください。 時間割表(じかんわりひょう)()(かえ)すものといったら、(なん)でしょうか?

そう、“月火水木金(げつかすいもくきん)”ですね。 金曜日(きんようび)()わったら、また月曜日(げつようび)(もど)ります。

これが「反復処理(はんぷくしょり)」です。イメージは(つか)めましたでしょうか?

【順次・分岐・反復】のフローチャートを用いた表現方法

プログラムの処理内容(しょりないよう)図形(ずけい)表現(ひょうげん)する手段(しゅだん)の1つに「フローチャート」というものがあります。

なぜプログラムを図形(ずけい)表現(ひょうげん)するのかというと、

  • 図形(ずけい)表現(ひょうげん)することで、プログラムの構造(こうぞう)理解(りかい)しやすくなる
  • プログラムの構造(こうぞう)理解(りかい)しやすくなることで、間違(まちが)いを()つけやすくなる
  • プログラムを()めない(ひと)にも、処理内容(しょりないよう)共有(きょうゆう)がしやすい

といった理由(りゆう)()げられます。

「フローチャート」では様々(さまざま)なプログラムを表現(ひょうげん)することができますが、 まずは「順次処理(じゅんじしょり)」「分岐処理(ぶんきしょり)」「反復処理(はんぷくしょり)」について(おぼ)えましょう。

「順次処理」のフローチャートを用いた表現方法

フローチャートでは、図形(ずけい)矢印(やじるし)(つな)いでプログラムを表現(ひょうげん)します。

基本的(きほんてき)(うえ)から(した)へと()いていく(かたち)になります。

以下(いか)に「順次処理(じゅんじしょり)」の(れい)(しめ)します。

順次処理のフローチャート

処理(しょり)四角(しかく)(あらわ)し、処理(しょり)(つな)がりを矢印(やじるし)(あらわ)しています。

非常(ひじょう)にシンプルで理解(りかい)しやすいのではないでしょうか。

「分岐処理」のフローチャートを用いた表現方法

(つづ)いて、「分岐処理(ぶんきしょり)」の(れい)(しめ)します。

分岐処理のフローチャート

分岐処理(ぶんきしょり)」はひし(がた)(あらわ)し、“条件(じょうけん)”を記載(きさい)します。 ひし(がた)(した)(みぎ)処理(しょり)分岐(ぶんき)していることがわかるかと(おも)います。 ひし(がた)から()ている矢印(やじるし)には、条件(じょうけん)()たしているかどうか(はい/いいえ、Yes/No(いえす/のー))も記載(きさい)します。

3つ以上(いじょう)分岐(ぶんき)する場合(ばあい)((たと)えば、switch-case文(スイッチケースぶん))は、以下(いか)のような(かたち)にすると綺麗(きれい)()けると(おも)います。

「反復処理」のフローチャートを用いた表現方法

(つづ)いて、「反復処理(はんぷくしょり)」の(れい)(しめ)します。

反復処理のフローチャート

反復処理(はんぷくしょり)」は、四角(しかく)台形(だいけい)をくっつけたような特殊(とくしゅ)図形(ずけい)使用(しよう)します。 (うえ)がへこんでいるところが(はじ)まりで、(した)がへこんでいるところが()わりとなります。 (はじ)まりの図形(ずけい)に“終了条件(しゅうりょうじょうけん)”を記載(きさい)します。

反復処理(はんぷくしょり)」の(なか)に「反復処理(はんぷくしょり)」を()れることもできるので、 “ループ1”のような名前(なまえ)をつけておくと間違(まちが)いにくくなります。

【順次・分岐・反復】を楽しく学ぶ方法

ここまで「順次処理(じゅんじしょり)」「分岐処理(ぶんきしょり)」「反復処理(はんぷくしょり)」の説明(せつめい)をしてきましたが、 だいたいのイメージは(つか)めましたでしょうか?

この3つの基本(きほん)となる処理(しょり)(おぼ)えることができれば、 あとは()()わせでプログラムを作成(さくせい)することができます。

では、実際(じっさい)に「順次処理(じゅんじしょり)」「分岐処理(ぶんきしょり)」「反復処理(はんぷくしょり)」を使(つか)ってプログラムを作成(さくせい)してみましょう。

Scratch(スクラッチ)を使(つか)えば、プログラミング初心者(しょしんしゃ)でも(たの)しく(まな)ぶことができます。是非挑戦(ぜひちょうせん)してみてください。
Scratch(すくらっち)(はじ)(かた)について()りたいという(かた)下記(かき)記事(きじ)をご(らん)ください。

Scratchの始め方。アカウントの作り方や基本操作など。
この記事(きじ)は、「Scratch(スクラッチ)を始(はじ)めてみたいけど、どうすればいいの?」という人向(ひとむ)けの記事(きじ)です。Scratch(スクラッチ)とは?Scratch(スクラッチ)...

コメント

タイトルとURLをコピーしました