プログラミングの基礎

プログラミングを始める前に押さえておくべき事

プログラミングにも語学と同じく色々な種類があります。

語学にも英語もあればスペイン語やフランス語などもあります。

どれを勉強するかは、その人の目的次第になってくると思います。

ここではプログラミングでつまづかないように

基礎知識としてまとめてみましたので参考にしてみて下さい

まずはプログラミングとは

コンピュータに何をどうするかを伝えます。

例えば身近なもので例えると、自動車を塗装工場に持って行き従業員の方に

何をどうするかを伝えなくてはなりません

その時に、どの車を、どうするかを明確に伝えなくては従業員の方も困ってしまいます

例えば、私のポンコツの車を赤く塗装してと指示をします。

ポンコツな車

これで従業員の方に指示内容を伝える事が出来ました。

もしそれをコンピュータに置き換えるとしたら、どのように伝えればよいでしょう?

コンピュータにも同じように何をどうするかを明確に伝えてあげなくてはなりません

伝え方としては

オブジェクトやプロパティ、メソッドを使って指示をします。

例えば自分のポンコツの車をオブジェクトと例えます。
これは私のポンコツな車で、これは世界中で一台しかありませんので
このオブジェと言ったら、私のポンコツな車を指します。
(ちなみにここではそのポンコツな車をmycarとしておきます。)
車体の色を変えるプロパティとして、carbodyプロパティを使って指示をします
もちろんcarbodyといったプロパティは存在しません。
説明のために車体の色を変える設定として表しています。

そのオブジェクトとプロパティを使って指示をします。

伝えるときにはドット.やイコール=などで区切って使われます。

オブジェクト.プロパティ = カラー.色

 として設定します。

この情報があれば塗装してくれる人にも「何をどうする」かがわかると思います。

実際に使って書くとこんな感じです。

mycar.carbody = color.red

私のポンコツな車の車体の色を赤くしてとなります

もしコンピュータに情報を伝える場合にはこんな形式になります。

それと細かい事にも注文したい場合には、それに合ったプロパティを使います。

例えばバンパーの色やミラーの色などを変えてみたい場合には、

carbodyの車体全体の色ではなく部分的なプロパティを付け加えて使う事になります。

バンパーを位置づけるbumperなどのプロパティがあったとすれば

とりあえず前のバンパーをfrontbumperとして
後ろのバンバーをbackbumperとしておきます

mycar.frontbumper = color.pink
mycar.backbumper = color.pink

と前のバンパーと後ろのバンパーがピンクになります。

これで車体が赤でバンパーがピンクになりました。

これが実際に走っていたらかなり目立ちそうな車ですね

ポンコツな車アフター

それでは実際に、パソコンに置き換えて、
フォームの背景を赤くする場合にはどのようになるかを見てみます。

form1.backcolor = color.redとすると
フォームの背景を赤くする設定になります。

form1(フォーム1)のオブジェクトにbackcolor(バックカラー:背景)のプロパティを使って、
背景の色を設定しています。

フォーム

イベント

今度はこのフォームをどのタイミングで変えるかを決めなくてはなりません。

この設定をいつ行うのかを決める事をイベントと言います

イベントは
ボタンがクリックされた時やページがロードされた時や何かのキーボードが押された時などの
アクションが起きた時などに発生します。
身近なところで例えると
電気をつけるにはスイッチを押さなければつきませんし、
お店などの自動ドアは前に立たなければ開きません。

このように何かをしかけないとイベントは発生しません。

もしMy.Base.Loadとなるとフォームが開かれた時にそのイベントが発生します。

イベント1

この例ではMy.Baseはform1を表しています。

ページが表示された時に、メッセジボックスを出す仕組みになっています。

イベント

今の段階では前後のprivate subなどの内容は気にせずに書くものだと思ってください。

ボタン設置

もし、ボタンを配置してクリックでメッセージを出したい場合には、My.Base.Load の所に

ボタンの名前とイベント内容を載せます。

つまりは、My.Base.Loadの所に、ボタン名とイベント内容を書くことになります
例えばbutton1.clickとすれば
ボタンの1号機(button1)がクリックされたときにそのイベントが発生します

もしここにbutton1.click, button2.clickと二つを記述した場合には

どちらかがクリックされた場合にメッセージが出るようになります。

ちなみに()の前のForm1_Loadと書かれた物は名前の部分なので、
好きな名前にして良い事になります

それとこの一連の処理の塊をプロシージャと言います。

このsubプロシージャではページが開かれたときにメッセージを出す事になります。

メソッド

メソッドもプロパティ同様に指示をします

メソッドの後には()がつきます

例えばclear()メソッドを使ってテキストボックス1の内容を消す場合には

textbox1.clear()となります。

これでテキストに書き込まれた内容が、ボタンなどが押されたときに削除されます

ちなみにテキストプロパティを使っても同じ効果を得ることができます。

textbox1.text = “”

これで同じ効果が得られます

変数

変数とは代入する箱と覚えます。
つまりは色々と保管しておける箱ですので取り出したい時に取り出します。

箱には好きな名前を付けて数字や文字列などを入れておきます。

例えば
xの箱にこんにちはと入れる場合は
x = “こんにちは” などとします

xに数字を入れる場合は
x = 5
とこのようになります。
x = “5”
となると文字列となってしまいますので
計算はできなくなります

変数に入れる箱は何でも良いのでxの所をmyboxなどとしたり自分の分かりやすいものや
そのプログラムにあった名前をつける事が出来ます。

配列

配列とは変数が番号で管理されているようなものです

x(0) = “さる”
x(1) = “きじ”
x(2) = “いぬ”

()の番号は
添え字、インデックスと言います。

配列には色々な書き方があります
このようにした場合には
x = {“さる”,”きじ”,”いぬ”}
左から0,1,2と割り当てられます。

この例では
1を取りだす場合は「きじ」が該当します
0であれば「さる」
2であれば「いぬ」です。

※0から始まる事に注意してください

似たようなものにコレクションなどもあります。
コレクションの方が扱いやすいのが特徴です。

※プログラムは基本的に上から下へ、左から右に処理されます。
関数などは呼び出さないと出てきませんので、前に書いても後ろに書いても良い事になります。

関数

関数の書き方は
関数もメソッドなので関数名()となります。
関数はあらかじめに用意されたものもありますが、
自分で作る場合には、関数名は好きな名前にする事が出来ます。

その括弧の中には引数を渡す事が出来ます。

覚え方としては渡す値と覚えた方が良いと思います

もちろん括弧の中には引数を渡さずに、何も入れないでも(記入しなくても)良い事になります。

括弧の中の引数は、情報を伝えてやります。

引数がいくつかある場合には
括弧の中に(第一引数,第二引数,第三引数)と区切って入れます。

引数は渡す値で、いわば材料と思ってください。

括弧の中にその材料を入れて、関数に作ってとお願いします。

その帰ってきた物が

戻り値(返り値)となります。

例えば関数の中に計算式があった場合に引数として数字を渡すと

その結果を返してくれます

≪例≫
関数の中( x + Y)

xに3を
yに4の引数を渡した場合には

結果として 7が受け取れます

関数は一般的には変数で待ちまかまえるのが一般的です

x = fix(151.6)

この場合はxの変数に入れた事になります

例えばfixの関数に引数として151.6を渡します

fixは少数点以下を切り捨てますので151.6の場合は151の計算を返してxに戻り値として渡しています

x = fix(151.6)

条件文

Ifをつかって表します
「If」はもしの意味を持っています

もし何々だったらこの処理をする

そうでなければこの処理をするなどを作れます。

人生においてもこんな事がたくさんありそうですね

もし右の道だったら?
そうではなく左の道だったら?
など選択肢がたくさんありそうですね

例えばifを使ってくじ引きを作るとします。
もし赤が出たら、「大当たり」とメッセージを出す場合と、
そうではなくもし青が出た場合には、「残念」とメッセージを出す事が可能になります。

そのほかにも、付け加える機能もあり、いくつでも設定できます
例えば黄色が出たら、「もう一回チャンス」などともできて処理を増やすことも可能になります。

もしものときは

Ifと同じようなものにメニュー形式にして選ばせてその処理をさせるものもあります。
例えば身近なもので例えると

ハンバーガーショップでメニューを見て選ぶとします。
そこには
チーズバーガーや
ダブルバーガー
フィッシュバーガーなどあります。
もしお客さんがチーズバーガーを選んだ場合にはこの処理をする。
そうではなくフィッシュバーガーを選んだ場合にはこの処理をする
と言った感じにセレクトされた物の処理をさせる方法もあります。

これはIfと同じ役割なので、使い方としては使いやすい方を選びます。

ハンバーガー

繰り返し文(ループ処理)

ForやDoを使います

Forの場合は何回から何回までの繰り返しに使います

カウンターなどをイメージしもらうとわかるのですが、

1から10回にカウントしたら終了などに使えます

その時に演算子が使われます

x = 10
xが10になったら処理を終了させる場合に使います

[1,2,3,4,5,6,7,8,9,10終了]

x < 10 xが10になるまで処理をさせます [1,2,3,4,5,6,7,8,9終了]

記号

条件文では【AndAlso】と【OrElse】が使えます
例えば

【AndAlso】もし条件と一致して、なおかつ(さらに)こちらも一致したら処理をする
【OrElse】もしどちらかの条件が一致すれば処理をする

と言った表現が使えます。

例えば

私はバナナ、メロン、モモをミックスさせたジュースが好きです

となるとバナナ、メロン、モモのすべてが入っていなければなりません
一つも欠けてはダメです

となると

If a = “バナナ” AndAlso b = “メロン” AndAlso c = “モモ” Then

となります。
これでバナナであり、なおかつメロンであり、なおかつモモでなければならないわけです
三つとも一致しなければなりません。

もし妥協してバナナは絶対ですか、その他にメロンかモモのどちらかが入っていればよい事にするのであれば
If (b =”メロン”OrElse c =”モモ”) AndAlso a=”バナナ” Then
となります。

この場合は、AndAlsoの方が強くなってしまうために、()を使って先に処理させます。
計算と同じく足し算を先に行ってから掛け算を行うのと同じです。

真偽を問う【true やfalse】
設定などで、オンやオフの設定で
trueやfalseを使う事があります

trueは真を表し
falseは偽を表します。

例えば、電気のスイッチで例えると、スイッチを押したら電気がつくよう(true)にします。
そのスイッチを戻した場合には電気を消す(false)にします。

ちなみに「真偽」の意味としてはホンモノかニセモノかを表す言葉です。

【フラグ判定として使う】
現実の世界で例えると

例えば二人の作業員がいるとします。
その一人のひとに川の向こう岸にある水道の蛇口が開いているかを確認してきてもらいます。

もし向こうにある水道の蛇口から水が出ていた場合には、

合図として旗を揚げて振ってもらいます。これをtrueにするのかfalseにするのかは設定次第です。

一般的にはtrueとしますので、水が出ていたらtrueとしておきます。

逆に蛇口から水が出ていなければ旗を下げて振ってもらいます。

つまりはfalseです。

これで、声が聞こえない場所でも伝える事が出来ますね

変数の効果
Doの場合には終了や継続条件を出します

そうでないと無限にループしてしまいます。

変数を宣言した場合には、宣言する場所によっては効果が変わってしまいます。

いわば一回の期限付きの物からみんなで共有できる物まで宣言する場所によっては効果が変わってしまいます

宣言したブロックの範囲内で使えると思ってください

プロパティやメソッド、イベントなどの種類はたくさんあります。
普段に私たちが使ってるパソコンではファイルをコピーしたりインターネットを見たりと
色々な事が出来ます。普段行っている作業はこういったプログラムで作られています。

お勧めのプログラミング

プログラミングを学ぶには何を学ぶべきか?

語学に例えると何語を勉強するべきか?

例えば、目的は何ですか?

ウェブそれともOS?

ウェブの場合であれば「動的なホームページを作りたい」となれば

PHPやCGIなどを勉強するとよいと思います。

動的なページとは何か?動的なページとは「チャット」などをイメージすると良いかと思います。

逆に静的なページとは、もしチャットを静的なページで作ったとすると

内容を変える場合には、その都度に誰かが管理を行わなければなりません。

PHPは本体なをサーバ上に置いていますので、自動的に更新などが行えます。

そんなPHPですが、何も分からずに入門を叩くと環境作りの所でつまづくと思われます。

もし教えてくれる人いるのであれば良いのですが、

初心者には敷居が高く独学でとなるとなかなかうまくいってはくれません。

Apacheの設定やPHPの設定などでつまづく可能性があります。

逆に静的なホームページを作るのであればjavascriptはお勧めです。

直接HTMLに記述できますので、何かをダウンロードしたりするのではなく

すぐに使えます。

どちらにせよHTMLを理解しなければ効率が悪いと思います。

結局のところはホームページ作りから始めるべきだと思います。

OSの場合であれば、VisualBasic(ビジュアルベーシック)などがお勧めかもしれません。

VisualBasicも無料でダウンロードできますのでWindowsなどの知識を身につけるにはもってこいの

ツールだと思います

それと何事にも当てはまるのですが、もしつまづく場合は、いったんその事から離れることも大事です。

例えば車がぬかるみにはまってしまい、

無理に出ようと思うとなおさらぬかるみにはまってしまう事があります。

時間などを置くと、ぬかるみも固まり抜け出せる事もあります。

無理には取り組まずに、誰かに聞いたり、参考書などを見たり、思い切ってやめることも大事だとおもいます。

最終的にプログラミングは簡単なものから始める事をお勧めします。

javascript

このエントリーをはてなブックマークに追加
 


スポンサード リンク

 

↑このページの先頭へ