VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.

Slides:



Advertisements
Similar presentations
プログラミング Ⅱ 第2回 第1回(プログラミングⅠの復 習) の解説. プログラムの作り方 いきなり完全版を作るのではなく,だんだ んふくらませていきます. TicTa cToe1.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 6 回 プログラミング入門 VBA の基本文法 1 - 計算の基本構造とプログラミング - 準備・変数・データの入出力 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
プログラミング言語としてのR 情報知能学科 白井 英俊.
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
6/26 前回復習 for文、while文による繰り返し計算
VBA H106077 寺沢友宏.
基礎プログラミングおよび演習 第9回
プログラミング基礎I(再) 山元進.
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
第6章 2重ループ&配列 2重ループと配列をやります.
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
第7回 条件による繰り返し.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
第二回 VB講座 電卓を作ろう.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
プログラミング入門 電卓を作ろう・パートIV!!.
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング演習I 2003年5月7日(第4回) 木村巌.
第7回 条件による繰り返し.
第6回:ラケットを動かそう! (キーボードによる物体の操作)
東京大学人間環境学専攻 奥田・橋本研究室 修士1年 相良 光志
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
基礎プログラミング演習 第6回.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
プログラミングⅡ 第2回.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
情報とコンピュータ 静岡大学工学部 安藤和敏
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.
ウェブデザイン演習 第6回.
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
プログラミング基礎演習 第4回.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
情報処理Ⅱ 第2回 2004年10月12日(火).
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
プログラミング言語によっては,複素数が使えない。
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
C言語講座 四則演算  if ,  switch 制御文.
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
5.2 グレゴリー・ニュートン(Gregory-Newton)の補間式 (1)導入
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21

変数とその宣言 変数とは前回、数値などを記憶しておくものだと説明したが、その説明だけではまだ足りない。そこで、まず変数を箱として考える。 そして、その中に入れるものとしては、 整数 実数 ブール代数 文字列 変数X 等がある。しかし、これを変数に入れるときに、問題が起こる。それは「変数サイズ」である。入れるものにあった箱(つまり変数)を用意しないと、箱の中に入れることができないのである。 実数型 実数型 整数型 整数型

変数名 「data」 は整数型として今後使うよ 変数名 「letter」は文字列型として今後使うよ 宣言 そこでプログラムに、変数名とその変数型(変数のサイズ)をあらかじめ教えておく必要がある。つまり 変数名 「data」 は整数型として今後使うよ 変数名 「letter」は文字列型として今後使うよ といってから変数を使うこととします。これをVBでは Dim 変数名 as 変数型 と書きます。ではここでVBで使える変数型について説明しようと思う。

VBで使用できる変数型 とりあえずはピンク色の部分だけ、覚えてくれればよい。 変数型 表記法 サイズ(byte) バイト型 Byte 1 0~255 ブール型 Boolean 2 True/False 整数型 Integer -32768~32767 長整数型 Long 4 -2147483648~2147483647 単精度 Single -3.402823E38~-1.401298E-45 倍精度 Double 8 -1.79769313486232E308~ -4.94065645841247E-324 文字列型 String メモリがあらわせるまで。 とりあえずはピンク色の部分だけ、覚えてくれればよい。

変数の通用範囲 宣言にはどの範囲で通用するかという規則によってさらに細かく宣言できる。 宣言 プロシージャ内宣言 モジュール内宣言 Dim Static Private Public

モジュールとプロシージャ モジュール1 プロシージャ1 プロシージャ2

通用範囲と宣言 プロシージャ中にて Dim Data1 As Integer ・ Data1はそのプロシージャ内からのみ変更可(通用する) Static Data1 As Integer ・ Data1はそのプロシージャ内からのみ変更可(通用する) ・ Data1はそのプロシージャが実行されていないときも(アプリが終了するまで)ずっと値を保持する。 モジュール中にて Dim Data1 As Integer Private Data1 As Integer ・ Data1はそのモジュール内(のすべてのプロシージャ)からのみ変更可(通用する) *DimとPrivateは等しい。「Private」であることを強く表すためにこうなった。 Public Data1 As Integer ・ Data1は他のモジュール内(のすべてのプロシージャ)で有効 ・ Data1はアプリケーション内のすべてのプロシージャで使用できる関数になる

配列 配列とは、変数を数珠のようにいっぱい並べたものをさします。変数名の節約になるだけでなく、 A(0) A(1) A(2) A(3) A(4) A(5) 配列とは、変数を数珠のようにいっぱい並べたものをさします。変数名の節約になるだけでなく、 「A()」の括弧の中を変数にすることにより、名前ではなく変数で保存先を変更できる。 VBでは、配列は以下のように宣言します。 Dim Data(10) As Integer こうすると、Data(0)からData(10)までの11個の要素を持つInteger配列ができます。

ユーザー定義型(構造体) ユーザー定義型とは、いくつかの基本データ型を組み合わせて、ユーザーが独自のデータ型を作成することができる。 ENEMY ユーザ定義型 POSX 整数型 POSY 整数型 EXIST ブール型 Type ENEMY POSX As Integer POSY As Integer EXIST As Boolean End Type 定義部(標準モジュール内) Dim boss As ENEMY Boss.POSX = 100 Boss.POSY = 200 プロシージャ内で実際に利用する例 わざわざ、複雑にしているように見えるが、もし構造体を用いないで書いたら、どうなるか。 Dim BOSSPOSX As Integer Dim BOSSPOSY As Integer Dim BOSSEXIST As Boolean Dim SUBCHARAPOSX As Integer Dim SUBCHARAPOSY As Integer Dim SUBCHARAEXIST As Boolean Dim Boss As ENEMY Dim Subchara As ENEMY ユーザー定義型の定義部分は「標準モジュール」の中に記述する

VBの制御文! 制御文とはプログラムの流れを制御する文!そのままである。

IF文① IF文とは、「もし~~~だったらこっちの処理、そうじゃなかったらこっちの処理」という分岐を行ってくれる制御文である。 IF 条件式 Then 処理1 Else 処理2 End If 書き方としてはこうである。「条件式」を満たしていれば「処理1」を、その他の場合は処理2を実行するプログラムが書ける。また、これの拡張として、 と書き、さまざまな条件によって処理をわけることができる。 IF 条件式 Then 処理1 ElseIf 条件式 Then 処理2 処理3 Else 処理4 End If この部分は何個書いてもOK END IFは忘れないようにしよっ

IF文② 条件式の書き方 条件式とは、A とBの二つの値を比べることを表現する。条件式を一部書いてみよう。 条件式 説明 例 IF A < 0 Then … A <= B もしAがB未満だったら IF A <= count Then … A > B もしAがBよりより大きかったら IF input > 100 Then … A >= B もしAがB以上だったら IF current >= max Then … A <> B もしAとBが等しくなかったら IF password <> “keisanpass” Then … A = B もしAとBが等しかったら IF counter = 9999 Then … また、この条件式を結合させてさらに複雑な条件も書くことができる。 演算子 説明 例 NOT 否定 IF NOT A < B Then … AND 論理積(かつ) IF A > 0 AND A < 999 Then OR 論理和(または) IF A < 0 OR B < 0 Then

IF文③ 例)TEXTBOXにパスワードを入れて、ボタンをおしたときに、特定のパスワード(hogehoge)と一致すれば終了、間違っていたら、MSGBOXで警告をするプログラム Private Sub Command1_Click() IF TextBox1.Text = “hogehoge” Then End Else MsgBox(“パスワードが違います!!”) End IF End Sub

FOR文 FOR文は繰り返し処理をする制御文です。ではまず文法を書いて見ましょ FOR ループ変数 = 初期値 TO 最終値 処理 NEXT ループ変数とは、繰り返す回数をコントロールする変数です。たとえば、ループ変数を初期値1、最終値100にしておけば100回クルクルッと繰り返して、ループを抜ける、というような動きをします。 例)1から10までの整数を全部たした値を表示する Dim i As Integer Dim answer As Integer Answer = 0 For I = 1 TO 10 answer = answer + I Next TextBox1.Text = answer

WHILE-WEND文 これも繰り返し制御文です。書式は While 条件式 処理 Wend となっていてIFの時と同様、条件式を使います。そして、その条件式が満たされるまで、処理は繰り返されます。

繰り返しについて 細かい話をすると、繰り返しといっても、いつ条件式を読むかによって変わってきます。 NO 処理 YES NO 処理 YES 条件式をみたしているか? NO 処理 YES 条件式をみたしているか? NO 処理 YES FOR文、WHILE文などは左がわの形式です。よほどのことがない限り、どちらかに統一したほうが最初は良いと思います。

SELECT CASE文 では、もし分岐が10個も20個もあったとすると、IF文で書くと少しわかりにくい。そこで、すっきりした多方向分岐文として「Select Case文」があります。 Select Case 変数 Case 値1   処理1 Case 値2 処理2 Case 値3 処理3 Case Else 処理4 End Select たとえば、入力系でこれを使うと便利。押されたキーにより処理をわける場合、このように記述したほうがすっきりしてよい^^

EXIT 文 とEND文 EXIT文はプロシージャやループ制御から抜けるときに使う。 EXIT FOR FOR文から抜ける EXIT SUB サブプロシージャから抜ける END文とは、なにかを「終了」させるものですが、終了させるものごとにいろいろあります END プログラムそのものを終了させる END IF IF文を終了させる