【第2章】一度作ったプログラムを修正しましょう
2022.04.04

 一度作ったプログラムは未来永劫ずっとそのまま使われるということは滅多にありません。不具合が見つかって修正の必要が出てきた、もっと便利で使いやすく改良して欲しいという要望が出てきた、ゲームならルールやキャラクタ設定を変更したいなど、最初のバージョン(版)に追加・修正等を加えなくてはならない場面はいくらでもあります。プロのプログラマのお仕事の半分以上はこれだったりするくらいです。ここでは前の章で作ったプログラムを呼び出して(*1)追加・修正する方法を覚えましょう。
[実習2]プログラムの修正
 それではVB2022を起動してください。前章までの実習が終わっていれば起動後の画面は図2-1のようになっていると思います。



図2-1.VB2022起動後の画面


 画面左に先ほど作ったプログラムConsoleApp1という名前があります。これをクリックします(*2)。


図2-2.前に作ったプログラムが呼び出された


 すると前章で作ったプログラムが呼び出され図2-2のようになります(少々時間がかかります)。
 では、このプログラムを次のように修正します。前章でお気づきかと思いますが、プログラム作成画面はWordかメモ帳のように使えますので、太字の部分のみ追加修正します。

Console.WriteLine("Hello Everyone")
Console.WriteLine(3 + 5)
Console.WriteLine(3 - 5)
Console.WriteLine(5 * 3)
Console.WriteLine(5 / 3)
Console.WriteLine(5 ¥ 3)
(*3)
Console.WriteLine(5 Mod 3)



図2-3.修正後のプログラム


 追加・修正が全部済むと図2-3のようになります。
 さあ、プログラムがどのように変わったかさっそく実行してみよう!
 そう思った方は、もう一度前章を読み直してください。プログラムを作成したら実行前にまず保存でしたね。これは前に作ったプログラムの修正の場合でも同じです。前章と同じく「ファイル」→「すべて保存」で保存しましょう。保存したら実行してみましょう。実行結果は図2-4のようになったと思います。


図2-4.修正したプログラムの実行結果画面


[プログラムの解説]
 図2-4をもう一度見てください。プログラムの各行の左に上から1、2、3・・・と連番がふられています。これは何行目ということを示す行番号です。この程度の短いプログラムではあまりありがたみはありませんが、100行以上の長いプログラムを作っている時にはたいへん重宝します。以下、プログラムの説明ではこの行番号を使ってお話します。
 まず5行目です。Console.Writeline( )は前章でやったとおり、コンソール(操作卓)に1行で( )の中味を表示する命令でした。( )内がストリングの場合、お使いのパソコンで入れられる文字、表示できる文字なら何でも入れられます。今回はHello! Everyoneに変更したので実行画面にもHello! Everyoneと表示されています。
 6行目と7行目は前章でやった足し算と引き算の計算結果の表示です。
 8行目から11行目の( )内も何かの計算式のように見えますが、*、/、¥、Modって何だ?と思われた方が多いと思います。*は算数で使う×(かける)の意味で、/は÷(割る)です。VB2022に限らずほとんどのプログラミング言語では、掛け算、割り算ではこうなっています。
じゃ¥とかModは?この2つは小学校3、4年生で習う割り算を思い出してください。たとえば10÷3の場合、商は3余り1とやりました。この商を求めるのが¥で、余りを求めるのがModです。プログラムの各行と実行結果を照らし合わせて確認してください。
 これら+、-、*、/などの文字が計算式で使われるとき、これらの記号(文字)を演算子、とよびます。演算子には計算の他、比較や条件判定、ストリングの連結に使われるものなどいろいろな種類があるのですが、普通の計算に使われる演算子を算術演算子といいます。

図2-6.VB2010の算術演算子


[コラム]コンピュータってどういう機械?(1)
 [コラム]では、コンピュータの基本についていろいろお話してゆきます。一日も早くVB2022によるプログラミングだけを覚えたいという方は読み飛ばしていただいても今後の実習には差支えありませんが、管理人としてはプログラミング実習を通してコンピュータの基本を学びたいという方にはぜひ読んでいただきたいお話をしてゆくつもりです。まず最初は、コンピュータとはどういう機械なのかを知っておきましょう。

図2-7.近年のパソコン(2019年11月現在)


 上の写真は管理人が仕事や当コンテンツ制作に使っているパソコンです。私がパソコンを初めて手にした時代とは異なり、こんなコンパクトなボディで持ち歩き可能、電源アダプタ、各種ケーブル、マウス全部含めて重量は3kgあるかないかでしょうか。しかし、このA4版のルーズリーフノート程度の大きさの箱の中には大きく分けると図2-8のような装置が詰まっています。

図2-8.コンピュータを構成する各装置

 ここまでで私たちは簡単な計算を行うプログラムを作って実行してみましたが、その計算を行なっているのが演算装置です。コンピュータの演算装置は計算の他にも様々な仕事をします。たとえばパソコンゲームの場合、勝ち負けの判定やマウスの動き、アニメーションの表示などは実は膨大な量の計算処理であり、この演算装置が司っています。
 その演算装置に対して、コンピュータで処理するデータを入れるための装置が入力装置であり、パソコンならキーボードやマウスがそうです。そしてディスプレイやプリンタなど処理した結果を印字したり表示するのが出力装置です。
 そしてコンピュータのコンピュータらしい機能といえば記憶です。これを担当するのが記憶装置ですが、記憶装置には、主記憶装置補助記憶装置があります。この2つの違いについては後の章で説明します。最近のパソコン、タブレット、スマートフォンなどは、特にこれを意識しないで使えるものがほとんどですが、プログラムを作る立場の者としてはこの違いをしっかり把握しておく必要があります。
 これらの各装置が間違いなく動作するように監視、指令を出しているのが制御装置です。演算装置と制御装置を合わせて中央処理装置(Central Processing Unit=CPU)と呼びます(*4)。
 図2-9の中にデータの流れと制御の流れというものがありますが、ひと口に言えばデータの流れは私たちがプログラムで作ってゆく流れで、人間の動作で言えば「カレーライスを食べる」「仕事をする」など自分の意思でどうこうすることができるものです。制御の流れは自律神経のように、体中に血液と酸素を送るために心臓を動かす、空腹になったので胃液の分泌を止めるなど自分の意思でどうこうすることができないものです。

[昔はよかったなぁ]
 このコーナーは主に1980年代までパソコンに標準で搭載されていたBASICでのプログラミングをお仕事、趣味にしていた方(私と同世代?)に、当時のBASICとVB2022の違いをお話するものです。もちろんお若い方でも昔のBASICってどんなものだったのか知りたいという方は歓迎です。昔のBASICは各パソコンメーカーにより若干の違いがありましたが(標準化されていなかった)、ここではどのメーカーのBASICにも共通していた命令・関数を使ってお話してゆきます。
 この章の実習でやったプログラムを昔のBASICで書くとこうなります。
10 PRINT "Hello! Everyone"
20 PRINT 3 + 5
30 PRINT 3 - 5
40 PRINT 5 * 3
50 PRINT 5 / 3
60 PRINT 5 ¥ 3
70 PRINT 5 MOD 3
80 END
 VB2022との違いのひとつは行番号です。昔のBASICは各行の行番号はプログラマ自身が付けるもので、行の順番を示すとともに各行のラベルの役割をもっていました。たとえばGOTO 10などのようにGOTO命令を使ってプログラムの実行順序を変えることができましたが、VB2022では行番号はVB2022が勝手に付け、プログラムの編集やデバッグに活用するものです。GOTO 1のような使い方はできなくはないのですが、昔のBASICのように無制限にどこへでもというわけにはいきません)。このことはぜひ早いうちに慣れてください。
 昔のBASICで書かれたこのプログラムを実行するとこうなります。

図2-9.この章のプログラムを昔のBASICで実行すると

 このように昔のBASICでは数値を表示するとき、デフォルトで最上位桁の左に符号用の半角スペースが空き、マイナスの数のときはそこに半角の-が入りました。図2-5と見比べていただけばわかりますが、VB2022では特別な書式設定をしない限り符号用の半角スペースが空くことはなく、デフォルトでは数値もストリングも左詰めで表示されます。


(注)
(*1)パソコンに向かって「おーい、プログラム出ておいで」と呼びかけるわけではありません。プログラムやデータをコンピュータ本体に取り込むことです。コンピュータ屋さんがよく使う言葉なので慣れておきましょう。
(*2)VB2022では一度作ったプログラムを呼び出す方法はいろいろあるのですが、今は最も簡単なこの方法を使うことにします。
(*3)半角の¥マークです。お使いのOS、ブラウザによってはバックスラッシュ(左上から右下への斜線)で表示される場合があります。
(*4)近年、CPUの意味が少し曖昧になっています。というのは実際の部品(回路)としては、制御装置が電源部(ACアダプタのことではありません)に組み込まれている製品があったり、大規模集積回路の発達で、演算装置、制御装置、主記憶装置が部品として一体化したマイクロプロセッサが普及してきたためです。


【第1章】とりあえずプログラムを作ってみましょう
2022.04.03


図1-1.VB2022の起動画面

 
[実習1]プログラムの作成
それでは、さっそくVB2022でプログラムを作ってみましょう。まずVB2022を起動してください。起動のやり方を忘れてしまった方は前章をもう一度ご覧ください。
 起動すると図1-1のような画面になります。ここで「新しいプロジェクトの作成」をクリックします(*1)。


図1-2.作成するプロジェクトの言語とプロジェクトタイプを選ぶ

 次に図1-2.のような画面になります。ここでプロジェクト作成に使用するプログラミング言語(*2)を選びます。画面上の「言語」をクリックします。するとさらにメニューが開きます。この中からVisual Basicをクリックします。次に
VB2022で作成できるプロジェクトタイプの一覧が出るので、この中からコンソールアプリ(.NET Framework)を選びただのコンソールアプリと間違えないように画面右下の「次へ」をクリックします。すると図1-3のような画面に変わります。


図1-3.プロジェクトに名前を付ける

 これから作成するプロジェクト(プログラム)に名前を付けます。このまま「次へ」をクリックするとVB2022が自動作成した名前(この例の場合ConsoleApp1)になります。名前は何でもいいのですが、半角英数字でなるべく後で見てわかりやすい名前にしておくことをおすすめします。今、ここではこの自動作成された名前を使うことにします。
その下の方に「ソリューションとプロジェクトを同じディレクトリに配置する」というオプションがあります。現段階では、ここにチェックが入ってなかったら入れておくことにします。ここまで準備が出来たら画面右下の「作成」をクリックしてください。図1-4の画面になります。


図1-4.プロジェクト(プログラム)作成画面

 さあ、いよいよプログラムを作りますが、その前にひとつご注意を。すでに入っている図1-4のこの4行は変更したり削除しないでください。これらの意味は現段階ではわからなくてもけっこうです。今のところは自分で作るプログラムはSub Main()とEnd Subの間に書き込む、という理解でかまいません。


Module Module1

Sub Main()
   ユーザーが作るプログラムはこの間に書き込みます
End Sub

End Module

 では、Sub Main()とEnd Subの間に、下のプログラムを書き込みましょう。えっ?ちょっと待って、書き込める行は1行しかないけど、とあわてなくて大丈夫です。1行入れたらEnterキー(またはリターンキー)を押せば次の行が自動で生成されます。Wordやメモ帳の操作と同じです。キー入力が苦手な方は、下の4行をコピー&ペーストしていただいてもけっこうです。

Console.WriteLine("Hello! VB2022")
Console.WriteLine(3 + 5)
Console.WriteLine(3 - 5)
Console.Readkey()


図1-5.プログラム作成画面

 これでプログラムが入りました(図1-5)。ではさっそく実行してみましょう(*3)。ちょっと待ったぁ!(なんだよ、急に)。
 作ったプログラムは実行前に必ず保存(Save)しましょう。なぜかというと、万一、プログラムにミスがあってコンピュータが暴走(*4)してしまったら、通常はコンピュータを強制再起動するか、強引に電源を切るしかなくなります(かなり無茶ですが)。そしてそうなった場合、今入れていたプログラムはすべて消えてしまいます(この理由は後に学びます)。今回のサンプルプログラムは高々4行ですから消えたら消えたでもう一度入れなおせばいいのですが、これがもし実務で使用するプログラムや研究データの分析プログラムで500行にも及ぶ長いプログラムだったら・・・もう、空を見上げて泣くしかありません(*5)。

 なのでプログラムは保存してから実行、これは初心のうちから習慣づけてください。(*6)




図1-6.プログラムの保存と実行開始画面

 プログラムを保存するには、画面左上の「ファイル」をクリックし、開いたサブメニューの中の「すべて保存」をクリックします(図1-6)。プログラムの保存のしかたはいろいろなものがあるのですが、VB2022のことを熟知するまでは「すべて保存」を使用してください

 プログラムの保存が出来たら実行してみましょう。画面上部の真ん中あたりにある「開始」をクリックしてください。プログラムが実行され、図1-7のような画面が別ウィンドウで表示されたと思います。

図1-7.プログラムの実行結果画面


[プログラムの解説]
 では、今作ったプログラムを1行ずつ見ていきましょう。今回のサンプルでは

Console.WriteLine(  )

というのがたくさん出てきますが、これはコンソール(操作卓、お使いのパソコンのこととお考えください)に1行で表示する「命令」です(VB2022では「関数」というのが正しい言い方ですが今のところコンピュータに指示を与える命令という理解でOKです)。Write(書く)という言葉を使っていますがコンピュータが鉛筆持って何か書くわけではなく、「画面に表示せよ」という意味です。
 何を表示するのかは続く(  )内で指示します。"Hello! VB2022"という指示ならコンソールにHello! VB2022と表示します。この" "で囲まれた部分をコンピュータプログラミングの世界ではストリングとか文字列と呼びます。
(  )の中がストリングではなく計算式ならその計算結果を表示します。3 + 5ならその計算結果の8を、3 - 5ならー2と表示します。注意することは計算式の場合は"  "で囲んではいけません。 "3 + 5" のようにやってしまうとこれはストリングになってしまい、画面には計算結果の8ではなく 3 + 5 と表示されてしまいます。
 最後の1行の Console.Readkey() はコンソールから1文字分の入力を受け付ける(パソコンのキーボードからです)命令ですが、これがないと実行終了と同時に実行結果画面が閉じてしまうために付け加えてあります。当分の間、プログラムの最後にはこれを付けることにします。

 実行結果と照らし合わせてプログラムの内容が確認できたら、マウスカーソルを実行結果画面(背景が黒いウィンドゥ)のどこかに持っていって任意の英数字キー、またはスペースキーかENTERキー(RETURNキー)を押してください。これで実行画面が閉じます(この操作は当カテゴリーで作成するほとんどのプログラムに共通します)。
 では、今日の実習はここまでにしておきますので、VB2022を終了しましょう。終了の仕方はVB2022の画面右上の×印をクリックするか、左上の「ファイル」をクリックし、開いたメニューの一番下にある「終了」をクリックします(図1-8)。WordやExcelなどの終了と同じです。


図1-8.VB2022の終了方法


[コンソールアプリで入門する理由]
 ここではプロジェクトの種類にコンソールアプリケーションを選びました。コンソールアプリケーションはコマンドライン上で動くプログラムで、画像や文字飾り等は扱えません。VBで作成したアプリケーションというと図1-9のようなものを思い浮かべる方が多いと思います(思い切り筆者の趣味が入ったサンプルでごめんなさい💦)。これはWindowsフォームアプリケーションといい、画像や文字飾りが使え、画面レイアウトも好きなようにできます。せっかくVB2022を覚えるならWindowsフォームアプリケーションをやりたい、その気持ちはよくわかります。ただ、Windowsフォームアプリケーションが作れるようになるためには、やれ、コントロールだ、プロバティだ、オブジェクトだとプログラミング以前にフォームデザインの部分で覚えなければならないことがドカンと出てきてしまって、本カテゴリーの目的からどんどん外れていってしまうのです。ここを読んでくださっている皆さんがこの勉強のために1日2時間以上、1か月以上の時間・期間を割けるのならそうするのですが、このカテゴリーは短期間(せいぜい1週間)、1日30分ほどの勉強でプログラミング的思考とコンピュータの基本を身につけなければならない方々を対象としたものです。
 ということで本カテゴリーでは始めはプログラミングの基本をすぐ学べるコンソールアプリケーションを使うことにします。

図1-9.Windowsアォームアプリの例

(注)
(*1)現段階では、VB2022ではプログラムのことはプロジェクトと呼ぶ、という理解でかまいません。
(*2)コンピュータに命令を与える言葉のことです。詳細は後で学びます
(*3)作ったプログラムで実際にコンピュータを動かすことを、コンピュータ屋さんはしばしば「実行する」とか「走らせる」という言い方をします。慣れておいてください。
(*4)コンピュータがブワンブワンとエンジンを鳴り響かせて走り出すわけではなく、誤動作によりキー入力やマウスクリックを受け付けなくなる状態のことです。
(*5)Windows10上でVB2022で作るプログラムではそこまで危険なことには普通ではなりませんが、それでも作業中にメモリ不足でコンピュータがフリーズしてしまって再起動を余儀なくされることはあります。
(*6)保存(Save)はプログラム作成途中でもできます。長いプログラムを作るときは、途中でこまめに保存しましょう。

【準備】VB2022の準備をしましょう
2022.04.02
 では、いよいよ実習に入りましょう。とその前に(なんだよ!)、まずはお使いのパソコンでVB2022が使えるようにしなくてはなりません。今までVisual Studio 2022使ったことない場合、パソコンにはVB2022は普通入っていないからです(すでにVB2022がパソコンに入っている方はこの記事は読み飛ばしていただいて差支えありません)。
(重要)
 会社や学校の共同で使用するパソコンをお使いの方は、以下の作業を行う前に、必ず管理者に「Microsoft Visual Studio2022をインストールしてよいか」確認・許可をとってください。VB2022に限りませんが、パソコンに何かを新たに入れたとき、それまでに設定されていた内容を書き換えてしまう場合があり、その結果、共同使用のパソコンの場合、他の利用者に迷惑が及ぶことがあるためです。



 VB2022はMicrosoft社のサイトからダウンロードできます(*1)。VB2022はMicrosoft社の商品であり、本来はお金を払って買うものなのですが、Microsoft社では無料版を提供し、使ってみて気に入ったら製品版を買ってください、という方法をとっています。当サイトで学ぶ範囲であれば無料版で全く問題ないのでこれを使うことにします。


お使いのパソコンでブラウザ(*2)を開いてください。いつも使っているものがあればそれでけっこうです。というか、ここを読んでいる方はすでに何かのブラウザを使っていることになります。ブラウザを開いたらアドレスバーに

https://visualstudio.microsoft.com/ja/downloads/

と入れてEnterキーを押します。キー入力が苦手な方は、↑のURL(*3)をクリックしてもかまいません。


図1.Visual Studio 2019のダウンロードページ


 ありゃりゃ、Visual Basic 2022が欲しいのにVisual Stdio なんちゃらなんてところに来てしまったぞ、と慌てた方はいらっしゃいませんか。実はVisual Basicは統合開発環境(IDE)であるVisual Studioの中の一機能です(筆者の知る限りVB2010の頃にはすでにそうなっていました)。現段階ではVB2022はVisual Studio 2022の中に入っている、という理解でかまいません。ここではVisual Studio 2022をどの規模で使うかを選びます。当サイトで学ぶ範囲であれば、一番左のCommunityで十分なのでこれを選んでクリックします。


図2.Visual Studio 2019のダウンロード開始

 図1のCommunityをクリックすると図2の画面に切り替わります。この段階でVB2022のダウンロードは始まっています。ダウンロードが終わるとブラウザの下の方に赤〇で囲んだような表示が現れます(これはGoogle Chromeの場合でブラウザの種類により表示は異なります)。実はダウンロードしただけではVB2022は使えません。これをお使いのパソコンで使えるようにインストール(*4)する必要があります。図2の赤い〇の部分をクリックするとさらに「開く」「フォルダを開く」などのメニューが出てきますが、この中の「開く」(または「実行」)をクリックします。これでインストールが始まります。インストールが始まるとすぐに「このアプリがデバイスに変更を加えることを許可しますか」(はい/いいえ)ときいてきます(Windows10の場合)。ここは「はい」をクリックしないと先に進みません。インストールをやめたい場合は「いいえ」にします。


図3.ワークロード選択(本サイトで必要な部分のみ)

 インストールが始まると最初に図3のようなワークロードを選ぶ画面に切り替わります。これは「Visual Studio 2022を何に使いますか?」という意味だと思ってください。ここで全部にチェックを入れておけば何でもできる最強のIDEが出来上がりますが、当然、その分パソコン内のハードディスクの容量を食いますしインストールにも膨大な時間がかかることになります。当サイトで学ぶのは、コンソールアプリケーションと簡単なWebアプリケーションなので、ここでは「.NETデスクトップ開発」「ユニバーサルWindowsプラットフォーム開発」のみ選びます(*5)。いちばん下に場所という表示があります。これは「Visual Studio 2022をパソコンのどこに入れますか?」ということなのですが、お使いのOSを熟知していない方はここは変更しない方が無難です。準備がすべてできたら「インストール」をクリックしてください。

図4.更新プログラム通知

 インストールの途中で図4のような画面が表示されることがあります。VB2022に限りませんが、インターネット上に公開したアプリ(ソフト)の制作者は公開したソフトに不具合や改善すべき点が見つかると、その改良版を再公開したり、すでにインストールされている当該ソフトに修正を加えるプログラムを配布したりします。図3のメッセージは、そのような改良版があることを示すものなので、ここは「更新」をクリックしてVB2022を最新の状態にしておくことをお奨めします。
 インストールにはかなりの時間がかかります。HANON ピアノ教本の第一部(1~20番)を全部弾けるくらい(しつこいようですが筆者の本業はピアノの先生です)。

図5.Visual Studio 2022インストール完了

 インストールが完了すると図5のような画面に切り替わります。これでVisual Studio 2022が使えるようになりました。表示が「インストール済」となっていることを確認し、「起動」をクリックします。図5の画面はVisual Studio 2022を初めて起動するとき(インストール直後)のみ表示されます。2回目以後の起動では図6のようにします。

図6.Visual Studio 2022 通常の起動

 Visual Studio 2022がすでにインストールされている場合は、画面左下の「スタートマーク」をクリックします。するとパソコンにインストールされているアプリ(ソフト)の一覧が出てきます。下の方へスクロールしてゆくと「Visual Studio 2022」がありますので、これをクリックします。この時に間違ってVisual Studio 2022 Installerをクリックしないように気をつけてください。間違えますと、もう一度インストールが始まってしまいます。


(注)
(*1)ダウンロードとはインターネット上に公開されているプログラム、ドキュメント、画像、音声、動画などを自分のパソコン、スマートフォン、タブレット等(端末)にコピーすることをいい、この逆、つまり自分の端末に入っているこれらのものをインターネット上にコピー(公開)することをアップロードといいます。
(*2)ブラウザとは何かを見たり書き込み編集などを行なうもので、インターネット上に公開されているものを見たり、SNS等に投稿できる機能をもっているものをインターネットブラウザとかWebブラウザとよびます。具体的にはMicrosoft Internet Explorer、Microsoft Edge、Google Chrome、Mozilla Firefox、Apple safariなどがそれです。
(*3)URL(Uniform Resource Locator)はインターネット上での住所とお考えください。http://~、https://~等で始まります。
(*4)インストールとは「ストールで身を包んだ女性」ではなく(そんな美しいものではありません)、ダウンロードしたアブリ(ソフト)をパソコンで使えるようにすることです。
(*5)ワークロードは後から追加ができますから、ここでは以後の実習に必要なものだけにしておきましょう。





- CafeNote -