復習:IF文までの総復習
IF文までの総復習を簡単にしておきましょう。
対応する教科書のページは→前のIndexページを参照してください。
○VBの基本的な操作や各名称などについてはだいじょうぶですか?
○プログラミングの基礎について;
○条件分岐IF文について;
- 条件がYesかNoによって二つに処理手順を分岐させるのが一つのIF文。
- IF文の書き方は以下の通り。
If 「条件」 Then
「条件が真(Yes)だった場合の処理」
Else
「それ(真)以外の場合の処理」
End If
- 真(True)・偽(False)の処理は一連のプログラム。何行でも何を書いても一塊のプログラムであり、させたい処理であればOK。
- 条件については、比較演算子(<, =など)や論理演算子(And, Orなど)を使った論理式(True/Falseになる式)を書く。
○条件分岐を含むプログラムの考え方
- プログラミングは決して複雑なものでも、難しいものでもない。
- まずは大雑把に処理手順を考えよう。
- 例えば、XXXを計算し、その結果で処理を分け、最後にYYYを計算する。などなど。
- 次にこれらの大雑把な各処理について、詳細に考えていこう。
- より具体的に、年齢から「子供」「青年」「大人」の三つに分ける例については、→こちらを参照。
- ※注意点※
- Elseつまり真ではない処理は、文法的には必ずしも必要ではない。
- Elseには条件は書かないし、書けない;条件が合っていなかったらという条件なのだから。
- 条件として、0<x<10などとしてしまうと、文法的には間違いとはされないが、期待通りには全くならない。
「<」などの比較演算子は二つしか比べることができない。よって、この場合
0<x And x<10のように二つの比較を論理演算子Andでつなぐ。
○プログラミングとは
- プログラミングをするためには、まず問題を理解すること。
- つまり何を作るのか、どのような処理ができればよいのか、必要なデータは何か、ユーザとのやりとりはどのようにするかなど。
- VBの場合は、この時点で画面デザイン(コマンドボタンやラベルなどの貼り付け)をしておく。
- 大きな処理の流れを考えること。
- どのようなものを作るのかをきちんと捉えたら、次に処理方法について考える。
- 最低限必要な処理について全体的な流れを考えよう。
- この際には、必要となるデータを明確にしておくこと。
- 個々の詳細な処理方法を考えること。
- 大きな流れの一つ一つをじっくりと考えること。更にいくつかに分解していくとよい。
- 自分の知っている文法で、どのように実現するかを頭で考える。
- 文法に従ってきちんとプログラミングしよう。
- 詳細な処理がわかったら、文法をきちんと思い出して、あわてずにきちんとプログラミングしていく。
- あやふやな文法があったら、きちんと確認してから書くこと。
- 適当にプログラミングしたものは、正しく動かない!
○プログラミングにおけるよくある質問・疑問
- 「難しいんだけど」
- 難しいですか? でもある意味ではそれは当たり前です。今まで知らなかったことを勉強しているのですから。
- よくある勉強のように、単に知識として覚えるだけでは駄目です。プログラムはその知識を使えることが必要になります。
- プログラミング言語の文法と、アルゴリズム(解き方、考え方)とは別に考えましょう。つまり文法が理解できていないので、解き方が分からないのか、どちらなのかを捉えるべきです。
- もし文法が理解できていないのであれば、いい加減にではなく、教科書などを見て何回も文法をきちんと正確に理解しましょう。
- 解き方がわからない場合は、紙と鉛筆を使って描きながら考えたり、身近な例に置き換えてじっくりと考えましょう。
- 似たような簡単な問題をたくさん解いて、慣れるというのもよいかもしれません。
- いずれにしてもボーっとしているだけでは駄目ですし、Web検索したり、本を探しても駄目です。
- 解き方を含めたプログラミングは、唯一の答というものはないので、答えだけを探すのは止めましょう。
- 何が難しいのかをきちんと分析し、難しいこと、自分に欠けていることに対して、しっかりと対処しましょう。
- 自ら積極的に取り組まなければ駄目です。いつのまにか分かるようになるということは決してありません。
- 「新しい問題はプログラムできないんですが」
- 既に解いた問題はプログラムできるということですね。それはその問題のおよその解き方が理解でき、解答サンプルプログラムが理解できたということで、プログラミングの第一歩かもしれません。
- 但し、「プログラムできた」=「解答サンプルプログラムを入力できた」となっていないでしょうか。プログラムの入力は誰でもできます。つまりCopy&Pasteしているということですよね。この場合は、残念ながらプログラムできたとは言えません。
- 理解する(勉強する)ことと、プログラムを作成することは、きちんと分けて考えましょう。
- 国語で、誰かが書いた運動会の感想文は聞いて(読んで)理解できるけど、自分が運動会の感想文を書こうとすると、難しいというのと同じです。
- 「簡単過ぎるんですが・・・」
- 基礎的な部分を繰り返し行っていますので、そのように感じる方もいるかもしれません。
- が、基礎が一番大事なのも確かです。慢心せずに、表面的でなく、正確にきちんと理解できているかを常に確かめておきましょう。
- また、授業では文法や応用例も最低限に絞っていますので、より詳細な文法や、より多くの応用例を身に付けるとよいでしょう。
- 「Basicって役に立つの?」
- Basic言語を馬鹿にする人も結構おられるようです。が、それは絶対に間違いです。数多くプログラミング言語が存在し、各々に特徴があります。ある面でBasic言語はかなり優秀なプログラミング言語です。実際にはどのプログラミング言語を勉強しても良いのですが、初学者にとってBasicは十分に最適な言語であるとともに、VBになってから非常に高度で実用的なプログラミング言語といえます。
- 例えば、JavaやC言語を十分理解できている人は、Basicをすぐにマスターできるはずです。JavaやCは理解できても、Basicは理解できないというのは決してあり得ません。
- 「将来プログラマーになりたいのですが」
- プログラミング言語も複数知っておくとよいでしょう。が、最低限一つをきちんとマスターするとよいでしょう。
- 自分で色々な問題を考えて、とにかくたくさんプログラムするとよいでしょう。
- 自分だけが分かるプログラムではなく、人にも読みやすいプログラム、後で修正が簡単なプログラムを目指すとよいでしょう。
- プログラムとはシステムの一部を作成することです。よって、プログラマーは様々なことを知っておく必要があります。
- 解き方もその一つです。場合によっては高度な数学が解くのに最適な道具となることもあります。よって、様々なツールを知っておく必要があります。なお、必ずしも高度な学術分野だけが必要なわけではありません。クイズ、パズルのような身近なものでも、頭を柔らかく、素早く回転できるように心がけましょう。
- 「いい加減」ではなく「緻密さ」を大切にしましょう。
参考;
第17章 制御文
・17.1 If文
第16章 演算子
・16.3 比較演算子
・16.5 論理演算子
[「A班」プログラミング基礎のTopに戻る]