【初級・プログラミング】 第四章 実行の順番と条件分岐 Part-2

では、もう一歩進めていきましょう。

【条件分岐】

プログラミングの基礎技術として重要なものに、「条件分岐」があります。どんなにプログラムが高度になっても、「条件分岐」は欠かせない技術となっています。初級の段階で理解しておくことは非常にメリットがあります。

基本構成は2つのパーツで考えます。1つは「条件分岐方法」、もう一つは「条件の書き方」になります。

「条件分岐方法」

条件分岐方法には、2種類あります。

(1)If文
If (条件文:〇〇〇だったら) then
※実行すること
ElseIf (条件文:△△△だったら) then
※実行すること
Else
※上の条件以外はすべてここで実行
End if

【解説】
If(いふ)文は、条件文が自由に書けるということで非常に使用頻度が多いです。まずこれを覚えましょう。〇〇〇と△△△の条件は、かぶらないようにしましょう。

(2)Select文
Select (A)
Case 〇〇 ※(Aが〇〇の時)
※実行すること
Case △△ ※(Aが△△の時)
※実行すること
Case else
※上の条件以外はすべてここで実行
End Select

【解説】
SELECT(せれくと)文は、CASEの後に「Aが何々の時」が条件文となります。条件を羅列できるので条件設定が和解りやすく、条件数が多くなっても見やすいですね。このSELECT文も使用頻度が多いです。条件は、上のほうが優先されますので条件の設定は上から順にお願いします。

では、具体的に考えていきましょう。今回のプログラムは、①数字を入力する、②計算する、③結果を表示する、という流れなので、ここでは②の計算をします。If文で条件分岐を行いましょう。

では、条件を設定しましょう。ここで、思い出してみましょう。「はじめの一歩」で、”プログラミング的思考方法”の養成こそが大事であると言いました。つまりこれは「全体を把握していること、自分で検証できるように構築する練習」です。

「条件の設定」

今回は、条件①入力された数字が偶数だったら、条件②それ以外(入力された数字が奇数)に設定してみましょう。

では、どうすれば数字が偶数であることを判断できますか。考えてみましょう。(考え中・・・)

算数では、偶数とは2で割り切れることと定められています。エクセルではこのように表現します。

MOD 2 => 2で割った余りを計算する関数です。If文では以下のように表現します。

If MOD 2 =  0 then  <=  意味:2で割ると余り0:偶数

Else <=  意味:それ以外:2で割ると余り1:奇数

End if

作成中・・・

【初級・プログラミング】 第四章 実行の順番と条件分岐 Part-1

ここから具体的プログラミングの技術に入っていきます。「 第二章 プログラミングを始める」の【パターン1】を思い出しましょう。前回で、プログラミングを完成させましたが、これを元に拡張していきます。

前回の復讐
Sub てすと()
‘①数字を一つ入力する。
‘②数字をいろんな計算する。
‘③数字を表示する。
MsgBox “100”
End Sub

【実行の順番】

プログラムは、基本的に開始された位置から下に向かって順番に実行されていきます。つまり、で、ある数字を入力してもらい、②で、数字を計算で別の数字にして、③で表示します。この順で実行できるということですね。

(重要:プログラム内の命令によって、別の位置に飛んだり、何回も繰り返したりすることがあります。)

①数字を入力します。以下のように書きます。
InputBox(“ここにメッセージをいれます”)

①で入力された数字を、②を経由して、③で表示するわけですが、その間数字を容れ物に入れて保持すると、自由に表示したり呼び出したりすることができます。とても便利なので使いましょう。これを「変数(へんすう)」といいます。

変数には必ず名前が必要です。今回は「SUUJI」としてみましょう。この変数(SUUJI)に数字を入れるためのは、以下のように書きます。

SUUJI = InputBox(“ここに数字をいれてください”)

【解説】
プログラム内で使われる「=(イコール)」には、2つの意味があります。
1つは、①算数で使われる意味と同じで、右辺と左辺が同じと言う意味。
もう一つは、②右辺を左辺に入れる(置き換える)という意味。
今回は②のパターンです。「SUUJI」に「inputの結果を入れる」ということになります。

 

③で、表示するのは❝100❞のかわりに、❝SUUJI❞を表示することになるので、③を書き換えましょう。

以下のようになりました。

Sub てすと()
‘①数字を一つ入力する。
SUUJI =  InputBox(“ここに数字をいれてください”)
‘②数字をいろんな計算する。
‘③数字を表示する。
MsgBox SUUJI
End Sub

①で入れ物(変数)に入れて、③で入れ物から呼び出す、という感じがつかめたでしょうか。

実行してみましょう。

「第三章 最初の組み立て Part-2」の時のように、図形をクリックします。

図8のように、数字を入れる窓が開きました。❝200❞と入れました。

『OK』をクリックします。

図9のように、❝200❞と表示されました。正しくプログラミングできています。

次に続きます。

 

【初級・プログラミング】 第三章 最初の組み立て Part-2

さて、ここでもう一つの問題を考えてみましょう。

作ったプログラムを「いつ」動かしたいですか、「どうしたら」動いてほしいですかという問題です。つまり、自分の作ったプログラムを「いつ」「どうしたら」動くかを決めないといけません。

今までにいろんなプログラムを見たり触ったりした時、「いつ」動きだしたり、「どうしたら」動いてましたか。すぐに思いつきそうなのは、メニューの文字をクリックしたらとか、ボタンのような図形をクリックしたら、のような経験ですよね。今回も「図形をクリックしたら動く」にしてみましょう。

図3
メニューの『挿入』から『図形』を選びます。

図4のように、なりました。

この図4の上でマウスを「右クリック」します。

図5 の「マクロの登録」を選択します。

登録画面は、図6になります。

「OK」すると、登録されます。図形の外をクリックして選択を解除します。

では、クリックしてみましょう。

図7メッセージボックスが現れ「100」と表示されました。

これでプログラムが実行されました。

つまり、
1)図形をクリックした
2)100と表示された
という流れができました。プログラミングの完成です。

規模が大きくなったり、複雑になったりしますが、これがプログラムの最小単位となります。

次に続く

 

【初級・プログラミング】 第三章 最初の組み立て Part-1

さあ、プログラムを作っていきましょう。

エクセルのプログラムには、2種類の書き方があります。『Sub(サブ)』と『Function(ファンクション)』です。それぞれは、ほぼ同じことができますが、書き方に若干の違いがあります。この一つの塊のことを『プロシージャ』と言います。ややむずかしい言葉が出てきましたが、少しですので覚えておくと便利です。

今回は『Sub』を使いましょう。『プロシージャ』には必ず名前が必要です。今回は「てすと」としてみましょう。

【解説】
プログラム作成ツールは、ほぼ外国製(アメリカが多い)ので、半角アルファベットを使うことが多いです。変換が必要でないので楽ですが、今回は初心者向けですので、使えるところは日本語を使います。使えないところもありますので、混在します。

 

まず、図2を表示しましょう。

「sub てすと」と書いて、『Enter』キーを押します。すると、自動的に下記のようになります。

Sub てすと()

End Sub

これが、Sub型のプロシージャとなります。

この中に、「第二章 プログラミングを始める」の中の①②③を書いていきます。『’』を付けるとメモとして使えます。以下のようになります。

Sub てすと()
‘①

‘②

‘③

End Sub

【解説】
Sub てすと()
‘①←これはメモです
[ここに①の命令を書きます]
‘②←これはメモです
[ここに②の命令を書きます]
‘③←これはメモです
[ここに③の命令を書きます]
End Sub

 

今回のテーマは、「はじめの組み立て」ですので、プログラム自体は、簡単な命令だけにしておきましょう。

③の「数字を表示する」だけ、やってみましょう。
ここで「数字を」と「表示する」を分けます。「数字」は何でもいいので「100」とします。「表示する」はエクセルの命令では、「msgbox」です。❝message-box(メッセージボックス)❞のようなイメージに受け取れますね。プログラムで使う命令は同じようなイメージの英語の綴りに似ていることが多いので、一つ一つ覚えるというより、英語のイメージで何となく覚えちゃうということができます。

実際の命令文は、

MsgBox “100”

となります。いろいろな書き方がありますが、一番シンプルにしました。「”100″」の「”」は、文字を囲むとき使います。今回の「100」は計算するというより、表示する文字として使うのでこのように囲みます。

完成すると、以下のようになります。

Sub てすと()
‘①

‘②

‘③
MsgBox “100”
End Sub

これは既に立派なプログラムです。

次に続く

 

【初級・プログラミング】 第二章 プログラミングを始める

準備はできました。さあ、始めましょう。

ここでは初めての人や、初級の人が対象ですので、まず基本からですね。プログラムでできることはたくさんありますし、あらゆることができますが、ここでは一つの形を考えてみましょう。

【パターン1】
①数字を一つ入力する。②数字をいろんな計算する。③数字を表示する。

プログラムは、実行した結果として「何かが起こる」わけで、これが目的になります。このパターンで最も大事なのは③ですね。この③を達成するために、「何が必要か」が①、「どうすればいいか」が②になります。③で起きることは「表示」なので、結果が目に見えますので分かりやすいですね。

次に続きます。

【初級・プログラミング】 第一章 プログラミングを始める前に

まず初めに、プログラムって何でしょうか。考えてみましょう。
イメージしやすのは、ワードやエクセルとかでしょう。ゲームなんかもそうですね。コンピューターでモニター画面に見えるものはすべてそうでしょうね。後、テレビもエアコンも炊飯器、電子レンジなんかもそうです。今じゃ、車もそうですね。赤青黄色の信号も。そうやってみると、何でもかんでもプログラムなんですね。

だから、作るとなると、いろんなものがつくれるます。でも、どうやって作るかがわからないので、今これを読んでるわけです。大抵は、プログラムを作るにはそれぞれのプログラム専用のツール(これもまたプログラムですが)があります。マイクロソフトや日立やトヨタもそれぞれの専用のツールで、それぞれのプログラムを作っています。

はじめて、プログラムの勉強しようと思ってる方は、エクセルのプログラム機能を使うのも手軽ですね。これもプログラムを作るツール(プログラム)です。エクセルを自動的に動かしたり、いろんなことができます。「はじめの一歩」で言った”プログラミング的思考方法”を学ぶには、エクセルには十分な機能があり、誰にでも始めやすいプログラミングツールだと思います。ということで、まず、エクセルから始めてみましょう。

さて、もう一度、プログラムって何でしょうかを考えてみましょう。“プログラム”はコンピューターに、こうしろああしろと命令して動かすことを言います。コンピューターはいろんな動きをしますが、すべて、命令通りに動いているだけです。つまり、プログラミングとは、その「命令」を作ることです。
そして、その命令を書くのが、プログラミング用のツール、今回はエクセルということになります。

本来は、この命令はコンピューターのわかる言葉でプログラミングしないといけないんですが、人間とコンピューターは話す言葉が違うので、非常に難しいです。そのため、いったん人間のわかる言葉で命令を作って、それをコンピューターのわかる言葉に変換します。これを行うのがプログラミング用のツールです。これがあるので、人間は非常に楽にプログラムすることができるようになりました。

まず、図1のように、エクセルの下のある「Sheet1」を右クリックしてみましょう。ここで「コードの表示」をクリックします。

すると、図2のようにプログラムを書ける画面になりました。

準備完了です。

 

【初級・プログラミング】 はじめの一歩

ASA-PCSのブログ・シルバーなエンジニアの独り言・・にようこそ

こんにちは。ぽつぽつ始めます・・

最初は、これから小学校でも学習内容に組み込まれるプログラミングです。このところ、よく、パソコン教室などで「プログラミング」とか「ロボット」とかのクラスが巷に見かけるようになりました。これは、今後小学校で始まるプログラミングへの興味がある親子をターゲットにした戦略なんでしょうね。小学生がプログラミング?と思われると思います。実際、高等教育、特に大学に進むにあたって「文系」と「理系」に分かれていくでしょうし、理系でも情報工学に進む人ばかりではありません。だから、英語みたいに全員に必要な技術ではないでしょう。

あるサイトで「小学生に教えるプログラミングとは、”プログラミング技術”ではなく、”プログラミング的思考方法”だ」という言葉を見ました。そうなんだ、と思いました。それなら、腑に落ちます。文系的抒情的な思考もいいんですが、これに加えて論理的思考もできる能力は、あるととても人生にプラスになると思います。ですから、これから始める人向け、パソコンなんてよくわからん、プログラムなんかできないと思ってる人向けに、書こうと思いました。論理的に考えるということは難しいことじゃないとわかってもらえるよう頑張ります。

【初級・プログラミング】
第一章 プログラミングを始める前に

第二章 プログラミングを始める

第三章 最初の組み立て

第四章 実行の順番と条件分岐

第五章 出来上がり

第六章 テストしてみる

以上の流れで、書いていきたいと思います。