• 検索結果がありません。

PowerPoint プレゼンテーション

N/A
N/A
Protected

Academic year: 2021

シェア "PowerPoint プレゼンテーション"

Copied!
77
0
0

読み込み中.... (全文を見る)

全文

(1)
(2)

整数の型

少数点を含む型

(3)

整数の型の種類

Byte

Integer

Long

LongLong(64bit版のみ)

(4)

整数の型の種類

Byte

Integer

Long

LongLong(64bit版のみ)

バイト型

サイズ:

1バイト

範囲

0~255

(5)

整数の型の種類

Byte

Integer

Long

LongLong(64bit版のみ)

長整数型

サイズ:

4バイト

範囲

-2,147,483,648~2,147.483,647

(6)

整数の型の種類

Byte

Integer

Long

LongLong(64bit版のみ)

整数型

サイズ:

2バイト

範囲

-32,768~32,767

(7)

整数の型の種類

Byte

Integer

Long

LongLong(64bit版のみ)

長整数型

サイズ:

4バイト

範囲

-2,147,483,648~2,147,483,647

(8)

整数の型の種類

Byte

Integer

Long

LongLong(64bit版のみ)

多倍長整数型

サイズ:

8バイト

範囲

-9,223,372,036,854,775,808 ~

9,223,372,036,854,775,807

(9)

(10)

(11)

Public Sub TestIntegerDataType()

End Sub

(12)

‘整数型の使用例

Public Sub TestIntegerDataType()

End Sub

(13)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

End Sub

(14)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

End Sub

(15)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

End Sub

(16)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

End Sub

(17)
(18)
(19)
(20)
(21)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

Debug.Print "bytDataの内容:" & bytData

End Sub

(22)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

Debug.Print "bytDataの内容:" & bytData

End Sub

(23)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

Debug.Print "bytDataの内容:" & bytData

End Sub

(24)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

Dim lngData as Long

Debug.Print "bytDataの内容:" & bytData

Debug.Print "lngDataの内容:" & lngData

End Sub

(25)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

Dim lngData as Long

Debug.Print "bytDataの内容:" & bytData

Debug.Print "lngDataの内容:" & lngData

End Sub

(26)

'整数型の使用例

Public Sub TestIntegerDataType()

‘ ~ ( 省略 ) ~

bytData = 123

lngData = 8000

Debug.Print “変更後bytDataの内容:" & bytData

Debug.Print "変更後lngDataの内容:" & lngData

End Sub

(27)

'整数型の使用例

Public Sub TestIntegerDataType()

Dim bytData as Byte

Dim lngData as Long

Debug.Print "bytDataの内容:" & bytData

Debug.Print "lngDataの内容:" & lngData

End Sub

(28)

'整数型の使用例

Public Sub TestIntegerDataType()

‘ ~ ( 省略 ) ~

bytData = 110105

lngData = 8000

Debug.Print “変更後bytDataの内容:" & bytData

Debug.Print "変更後lngDataの内容:" & lngData

End Sub

(29)

'整数型の使用例

Public Sub TestIntegerDataType()

‘ ~ ( 省略 ) ~

bytData = 110105

lngData = 8000

Debug.Print “変更後bytDataの内容:" & bytData

Debug.Print "変更後lngDataの内容:" & lngData

End Sub

(30)

小数点を含む型の種類

固定小数点

Currency

浮動小数点

Single

Double

(31)

小数点を含む型の種類

固定小数点

Currency

浮動小数点

Single

Double

固定小数点とは、ある桁に小数点が

固定されている。

計算誤差をしてはいけないときに使

う。

(32)

小数点を含む型の種類

固定小数点

Currency

浮動小数点

Single

Double

浮動小数点は一定の範囲内の誤差で

近い数値に近似できる。

極端な数値を扱う分野で使う。

(33)

小数点を含む型の種類

固定小数点

Currency

浮動小数点

Single

Double

通貨型

サイズ:

8バイト

範囲

-922,337,203,685,477.5808

~922,337,203,685,477.5807

(34)

小数点を含む型の種類

固定小数点

Currency

浮動小数点

Single

Double

単精度浮動小数点数型 サイズ:4バイト 負の値の範囲 :-3.402823E38 ~ -1.401298E-45 正の値の範囲 :1.401298E-45 ~ 3.402823E38

(35)

小数点を含む型の種類

固定少数点

Currency

浮動小数点

Single

Double

単精度浮動小数点数型 サイズ:4バイト 負の値の範囲 :-3.402823E38 ~ -1.401298E-45 正の値の範囲 :1.401298E-45 ~ 3.402823E38

1.401298E-45

→1.401298× 10

-45

小数点以下がごく細かい

(36)

小数点を含む型の種類

固定少数点

Currency

浮動小数点

Single

Double

単精度浮動小数点数型 サイズ:4バイト 負の値の範囲 :-3.402823E38 ~ -1.401298E-45 正の値の範囲 :1.401298E-45 ~ 3.402823E38

3.402823E38

→3.402823× 10

38

すごく大きい桁

(37)

小数点を含む型の種類

固定小数点

Currency

浮動小数点

Single

Double

単精度浮動小数点数型 サイズ:4バイト 負の値の範囲 :-3.402823E38 ~ -1.401298E-45 正の値の範囲 :1.401298E-45 ~ 3.402823E38

(38)

小数点を含む型の種類

固定小数点

Currency

浮動小数点

Single

Double

倍精度浮動小数点数型 サイズ:8バイト 負の値の範囲 :-1.79769313486231E308 E308 ~ -4.94065645841247E-324 正の値の範囲 :4.94065645841247E-324 1.79769313486231E308 E308

(39)

Public Sub TestDoubleDataType() Dim data As Double

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(40)

Public Sub TestDoubleDataType() Dim data As Double

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(41)

Public Sub TestDoubleDataType() Dim data As Double

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(42)

Public Sub TestDoubleDataType() Dim data As Double

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(43)

Public Sub TestDoubleDataType() Dim data As Double

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(44)

Public Sub TestDoubleDataType() Dim data As Double

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(45)

…ありのまま今起こったことを話すぜ

0.1を十回足しても1にならない。

でも表示だけは1のふりをする』

…なにを言っているのか

わからねーとおもうが、

おれも何をされたかわからなかった

頭がどうにかなりそうだった

計算誤差とか

チャチナもんじゃあ 断じてねぇ

もっと恐ろしいものの片鱗を味わったぜ

(46)

Public Sub TestDoubleDataType() Dim data As Double

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(47)

Public Sub TestCurrencyDataType() Dim data As Currency

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(48)

Public Sub TestCurrencyDataType() Dim data As Currency

Dim i As Long data = 0 For i = 1 To 10 data = data + 0.1 Next i If data = 1 Then

Debug.Print "フフフ計画通り..." & data Else

Debug.Print "げせぬ..." & data End If

(49)

整数の型

少数点を含む型

(50)

整数の型

少数点を含む型

(51)

Interger型さんディスンなよ

バカなの?

アホなの?

ワゴンなの?

質問1

(52)

質問にかこつけて

神ゲーをディスるとは

汚いな

さすが

Integer

汚い

回答1

(53)

俺はこれで

Integer型

嫌いになったな

俺は中立の立場で

見てきたけど、

やはり

Long型中心に

いったほうがいい事が

判明した

回答1

(54)

あと、

OfficeXP時代の

ドキュメントに

Long型の方がちょっと

効率がいいとあった

これはもう、

Long型が

いいのは確定的に明か

回答1

(55)

The Integer, Long, and

Byte Data Types

(56)

Traditionally, VBA programmers have used integers to hold small numbers, because they required less memory.

The Integer, Long, and

Byte Data Types

http://msdn.microsoft.com/en-us/library/aa164754%28office.10%29.aspx

伝統的にVBAプログラマは小さい数を保持してInteger型を使った なぜならば、(Long型にくらべて)メモリの要求が少なかったからだ。

(57)

In recent versions, however, VBA converts all integer values to type Long, even if they are declared as type Integer.

The Integer, Long, and

Byte Data Types

http://msdn.microsoft.com/en-us/library/aa164754%28office.10%29.aspx

しかしながら、最近のバージョンでは、VBAはすべての整数

の値をLong型に変換する。たとえそれがInteger型で宣言されて いたとしてもだ。

(58)

Therefore, there is no longer a performance advantage to using Integer variables

The Integer, Long, and

Byte Data Types

http://msdn.microsoft.com/en-us/library/aa164754%28office.10%29.aspx

したがってもはやInteger型の宣言にパフォーマンス上の有利は ない。

(59)

in fact, Long variables might be slightly faster because VBA does not have to convert them.

The Integer, Long, and

Byte Data Types

http://msdn.microsoft.com/en-us/library/aa164754%28office.10%29.aspx

実際、Long型の変数が多少早いかもしれない。

(60)

Integer vs Long

パフォーマンステスト

参考: 「VBA性能向上委員会」 Integer型とLong型はどちらを使うべき? http://www.banana-juice.com/VBA/Performance/Statement/IntLong.html

(61)

計測方法: ・-32,768~32,767までのループで和、差、積、商、余の計算する。 ・これを100回くりかえした時にかかった時間を出力する。 ・時間の出力にはTimerを使用する ・以上を1セットとして、これを10セット行う。 ・このアルゴリズムはInteger,Long共有である。 このプログラムは今回のサンプル用のワークブックにある。 mdlPerformanceTest. TestPerformance()を参照のこと。

Integer vs Long

パフォーマンステスト

(62)

実験環境:

・実装メモリ(RAM) 4.00GB

・プロセッサ:

Intel® Core™ i5 CPU M450 @2.40GHz 2.40GHz ・OS:

Windows 7 Home Premium

64Bit オペレーティングシステム

・Microsoft Office Home and Business2010 バージョン 14.0.6129.5000 (32ビット)

Integer vs Long

(63)

(-) Integer(Sec) Long(Sec) (1) 0.7333984 0.7177734 (2) 0.734375 0.7324219 (3) 0.7490234 0.7333984 (4) 0.7490234 0.7333984 (5) 0.7636719 0.7177734 (6) 0.7490234 0.7333984 (7) 0.7324219 0.71875 (8) 0.7470703 0.734375 (9) 0.7480469 0.734375 (10)0.7480469 0.7333984 (平均) 0.74541015625 0.72890625

Integer vs Long

パフォーマンステスト

実行結果:

Long型

2.2%

程度の

速度向上

Long平均 ÷ Integer平均 × 100 ≒97.78%

(64)

まぁ、

Long型さん

まじぱねぇって

ことだ

(65)

変数名の制限ってなぁに?

(66)

Visual Basic Naming Rules

ってドキュメントに

書いてある

回答2

(67)

ルール1

最初は文字ではじめる

数字とか記号だめよ

(68)

ルール2

次の記号は使わない

スペースと

.!@&$#

回答2

(69)

ルール3

255文字を超えるな

(70)

ルール

4

VBA中の

関数や命令と

同じ名前つけない

ほうがいい

回答2

(71)

ルール

5

同じスコープレベル

で同じ名前使うな

(72)

あれ?

さっきのルール1で「文字」

っていったよね。

(73)

もしかして漢字や平仮名もr

(74)
(75)

そ、そんな変数名に

漢字や平仮名なんて

使うわけないから

わからないお

回答3

(76)

常識的に考えて

変数名にそんな物が

設定できるわけないお

(77)

参照

関連したドキュメント

子どもたちは、全5回のプログラムで学習したこと を思い出しながら、 「昔の人は霧ヶ峰に何をしにきてい

注1) 本は再版にあたって新たに写本を参照してはいないが、

巣造りから雛が生まれるころの大事な時 期は、深い雪に被われて人が入っていけ

体長は大きくなっても 1cm くらいで、ワラジム シに似た形で上下にやや平たくなっている。足 は 5

下山にはいり、ABさんの名案でロープでつ ながれた子供たちには笑ってしまいました。つ

大村 その場合に、なぜ成り立たなくなったのか ということ、つまりあの図式でいうと基本的には S1 という 場

自分ではおかしいと思って も、「自分の体は汚れてい るのではないか」「ひどい ことを周りの人にしたので

現を教えても らい活用 したところ 、その子は すぐ動いた 。そういっ たことで非常 に役に立 っ た と い う 声 も いた だ い てい ま す 。 1 回の 派 遣 でも 十 分 だ っ た、 そ