プログラミングの基本となる3つの処理【順次・分岐・反復】とフローチャート
プログラミングって難(むずか)しそう
と思(おも)っていませんか?
たしかに、最近(さいきん)のゲームなどを見(み)ているとそう思(おも)われるのも仕方(しかた)ないかもしれません。
でも、難(むずか)しそうに見(み)えるものでも、基本(きほん)となる部分(ぶぶん)は意外(いがい)と単純(たんじゅん)だったりしますよね。 それはプログラミングにおいても例外(れいがい)ではありません。
この記事(きじ)では、プログラミングの基本(きほん)となる3つの処理(しょり)について説明(せつめい)します。
目次- プログラミングの基本となる3つの処理【順次・分岐・反復】
- プログラミングの基本①「順次処理」
- プログラミングの基本②「分岐処理」
- プログラミングの基本③「反復処理」
- 【順次・分岐・反復】のフローチャートを用いた表現方法
- 「順次処理」のフローチャートを用いた表現方法
- 「分岐処理」のフローチャートを用いた表現方法
- 「反復処理」のフローチャートを用いた表現方法
- 【順次・分岐・反復】を楽しく学ぶ方法
プログラミングの基本となる3つの処理【順次・分岐・反復】
まず最初(さいしょ)に、スマートフォンをイメージしてみてください。
スマートフォンといえば、たくさんのアプリケーションがインストールされているのはご存知(ぞんじ)のことと思(おも)います。 別(べつ)の言(い)い方(かた)をすれば、スマートフォンはたくさんのアプリケーションが集(あつ)まってできていると言(い)えます。
実(じつ)はそのアプリケーションもまた、小(ちい)さなプログラムが集(あつ)まってできています。 さらにもっと細(こま)かく見(み)ていくと、その小(ちい)さなプログラムは「基本(きほん)となる処理(しょり)」が集(あつ)まってできています。
つまり、「基本(きほん)となる処理(しょり)」を学(まな)ぶことが、プログラミングのはじめの一歩(いっぽ)なのです。
プログラミングの基本(きほん)となる処理(しょり)は3つです。 “3つしかない”と思(おも)っていただければ、“プログラミングは難(むずか)しい”というイメージは払拭(ふっしょく)されるのではないかと思(おも)います。
その3つの基本(きほん)となる処理(しょり)とは、
- 「順次処理(じゅんじしょり)」
- 「分岐処理(ぶんきしょり)」
- 「反復処理(はんぷくしょり)」
です。
1つずつ順番(じゅんばん)に説明(せつめい)しますね。
プログラミングの基本①「順次処理」“この処理(しょり)の次(つぎ)はこの処理(しょり)”、というように順々(じゅんじゅん)に処理(しょり)を実行(じっこう)していくことを「順次処理(じゅんじしょり)」といいます。
プログラミングとは、コンピュータにやってほしい内容(ないよう)を並(なら)べていく作業(さぎょう)なので、 「順次処理(じゅんじしょり)」はプログラミングの中(なか)でも一番基本的(いちばんきほんてき)な処理(しょり)であると言(い)えます。
プログラムは基本的(きほんてき)に上(うえ)から下(した)に書(か)いていくので、先(さき)に実行(じっこう)したい処理(しょり)を上(うえ)に書(か)きます。
時間割表(じかんわりひょう)をイメージしてみてください。
“1時間目(じかんめ)⇒2時間目(じかんめ)⇒3時間目(じかんめ)”というように、上(うえ)から順々(じゅんじゅん)に進(すす)んでいきますよね。 これが「順次処理(じゅんじしょり)」です。イメージは掴(つか)めましたでしょうか?
プログラミングの基本②「分岐処理」ある条件(じょうけん)によって実行(じっこう)する内容(ないよう)を変(か)えることを「分岐処理(ぶんきしょり)」といいます。
もう一度(いちど)、時間割表(じかんわりひょう)をイメージしてみてください。
曜日(ようび)によって、各時間(かくじかん)の科目(かもく)が違(ちが)っていますよね。
例(たと)えば、 ・月曜日(げつようび)は、“国語(こくご)⇒生活(せいかつ)⇒算数(さんすう)” ・火曜日(かようび)は、“国語(こくご)⇒体育(たいいく)⇒算数(さんすう)” というようにです。
ある条件(じょうけん)、つまり“曜日(ようび)”によって、 実行(じっこう)する内容(ないよう)、つまり“各時間(かくじかん)の科目(かもく)”を変(か)えているわけですね。
これが「分岐処理(ぶんきしょり)」です。イメージは掴(つか)めましたでしょうか?
プログラミングの基本③「反復処理」ある処理(しょり)を繰(く)り返(かえ)し実行(じっこう)することを「反復処理(はんぷくしょり)」といいます。 “ループ”と呼(よ)んだりもします。
何回(なんかい)繰(く)り返(かえ)すかは条件(じょうけん)を設定(せってい)することができます。 よくあるのは“10回(かい)繰(く)り返(かえ)す”など、回数(かいすう)を指定(してい)する方法(ほうほう)です。
また、条件(じょうけん)を満(み)たすことができずに「反復処理(はんぷくしょり)」が永遠(えいえん)に終(お)わらないことを無限(むげん)ループといいます。 無限(むげん)ループ、聞(き)いたことありませんか?
もう一度(いちど)、時間割表(じかんわりひょう)をイメージしてみてください。 時間割表(じかんわりひょう)で繰(く)り返(かえ)すものといったら、何(なん)でしょうか?
そう、“月火水木金(げつかすいもくきん)”ですね。 金曜日(きんようび)が終(お)わったら、また月曜日(げつようび)に戻(もど)ります。
これが「反復処理(はんぷくしょり)」です。イメージは掴(つか)めましたでしょうか?
【順次・分岐・反復】のフローチャートを用いた表現方法
プログラムの処理内容(しょりないよう)を図形(ずけい)で表現(ひょうげん)する手段(しゅだん)の1つに「フローチャート」というものがあります。
なぜプログラムを図形(ずけい)で表現(ひょうげん)するのかというと、
- 図形(ずけい)で表現(ひょうげん)することで、プログラムの構造(こうぞう)を理解(りかい)しやすくなる
- プログラムの構造(こうぞう)を理解(りかい)しやすくなることで、間違(まちが)いを見(み)つけやすくなる
- プログラムを読(よ)めない人(ひと)にも、処理内容(しょりないよう)の共有(きょうゆう)がしやすい
といった理由(りゆう)が挙(あ)げられます。
「フローチャート」では様々(さまざま)なプログラムを表現(ひょうげん)することができますが、 まずは「順次処理(じゅんじしょり)」「分岐処理(ぶんきしょり)」「反復処理(はんぷくしょり)」について覚(おぼ)えましょう。
「順次処理」のフローチャートを用いた表現方法フローチャートでは、図形(ずけい)を矢印(やじるし)で繋(つな)いでプログラムを表現(ひょうげん)します。
基本的(きほんてき)に上(うえ)から下(した)へと書(か)いていく形(かたち)になります。
以下(いか)に「順次処理(じゅんじしょり)」の例(れい)を示(しめ)します。
処理(しょり)は四角(しかく)で表(あらわ)し、処理(しょり)の繋(つな)がりを矢印(やじるし)で表(あらわ)しています。
非常(ひじょう)にシンプルで理解(りかい)しやすいのではないでしょうか。
「分岐処理」のフローチャートを用いた表現方法続(つづ)いて、「分岐処理(ぶんきしょり)」の例(れい)を示(しめ)します。
「分岐処理(ぶんきしょり)」はひし形(がた)で表(あらわ)し、“条件(じょうけん)”を記載(きさい)します。 ひし形(がた)の下(した)と右(みぎ)に処理(しょり)が分岐(ぶんき)していることがわかるかと思(おも)います。 ひし形(がた)から出(で)ている矢印(やじるし)には、条件(じょうけん)を満(み)たしているかどうか(はい/いいえ、Yes/No(いえす/のー))も記載(きさい)します。
3つ以上(いじょう)に分岐(ぶんき)する場合(ばあい)(例(たと)えば、switch-case文(スイッチケースぶん))は、以下(いか)のような形(かたち)にすると綺麗(きれい)に書(か)けると思(おも)います。
「反復処理」のフローチャートを用いた表現方法続(つづ)いて、「反復処理(はんぷくしょり)」の例(れい)を示(しめ)します。
「反復処理(はんぷくしょり)」は、四角(しかく)と台形(だいけい)をくっつけたような特殊(とくしゅ)な図形(ずけい)を使用(しよう)します。 上(うえ)がへこんでいるところが始(はじ)まりで、下(した)がへこんでいるところが終(お)わりとなります。 始(はじ)まりの図形(ずけい)に“終了条件(しゅうりょうじょうけん)”を記載(きさい)します。
「反復処理(はんぷくしょり)」の中(なか)に「反復処理(はんぷくしょり)」を入(い)れることもできるので、 “ループ1”のような名前(なまえ)をつけておくと間違(まちが)いにくくなります。
【順次・分岐・反復】を楽しく学ぶ方法
ここまで「順次処理(じゅんじしょり)」「分岐処理(ぶんきしょり)」「反復処理(はんぷくしょり)」の説明(せつめい)をしてきましたが、 だいたいのイメージは掴(つか)めましたでしょうか?
この3つの基本(きほん)となる処理(しょり)を覚(おぼ)えることができれば、 あとは組(く)み合(あ)わせでプログラムを作成(さくせい)することができます。
では、実際(じっさい)に「順次処理(じゅんじしょり)」「分岐処理(ぶんきしょり)」「反復処理(はんぷくしょり)」を使(つか)ってプログラムを作成(さくせい)してみましょう。
Scratch(スクラッチ)を使(つか)えば、プログラミング初心者(しょしんしゃ)でも楽(たの)しく学(まな)ぶことができます。是非挑戦(ぜひちょうせん)してみてください。Scratch(すくらっち)の始(はじ)め方(かた)について知(し)りたいという方(かた)は下記(かき)の記事(きじ)をご覧(らん)ください。
Scratchの始め方。アカウントの作り方や基本操作など。「Scratch(スクラッチ)を始めてみたいけど、どうすればいいの?」という人向けの記事です。 チュートリアル動画をベースに基本操作の説明や、アカウントの作り方も説明。 専用ツール不要、Webブラウザから気軽に利用可能。プログラミングの始め方.com2020.02.11 プログラミングが上達する人・しない人 【現役エンジニアの実体験】この記事は、「どうやったらプログラムがうまく書けるようになるのかなぁ?」と思っている方へ向けての記事です。 「筆者がプログラムをうまく書けなかった時代」の体験談を載せていますので、同じような状態に陥っている方には効果があると思います。プログラミングの始め方.com2021.07.05 プログラミングの始め方「プログラミングの始め方(学習ロードマップ)からITエンジニアに必要な知識や仕事術」について、初心者や独学の方向けに何から始めたら良いのかわかりやすく説明することを目的としたブログです。Twitterや問い合わせフォームにて、質問・相談も受け付けています。プログラミングの始め方.com2019.06.17