VB0002 |
テーマ |
物質の密度を調べ、固体名を言おう |
|
|
|
|
|
|
|
|
|
|
|
準備物 |
物質 A 、 B 、 C 、 D 、メスシリンダー、電子てんびん |
|
|
|
方法 |
|
|
|
1 物質 A B C D の体積をはかる。 |
|
|
|
物質 A 、 B 、 C 、 D |
|
|
|
2 物質 A B C D の質量をはかる。 |
|
|
|
物質 A 、 B 、 C 、 D |
|
|
|
結果 |
|
|
|
物質名 |
A |
B |
C |
D |
|
|
|
質量 g |
83.4 |
55.5 |
79 |
162.1 |
|
|
|
体積cm3 |
7.4 |
20.6 |
10.1 |
8.4 |
|
|
|
密度(g/cm3) |
11.3 |
|
|
|
|
|
|
|
考察 |
密度を測定すれば、物質が判定できる。 |
|
|
|
|
|
|
金 |
鉛 |
銀 |
銅 |
鉄 |
亜鉛 |
アルミニウム |
マグネシウム |
|
|
|
物質の密度g/cm3(固体) |
19.3 |
11.34 |
10.5 |
8.93 |
7.86 |
7.12 |
2.69 |
1.74 |
|
|
|
資料 大日本図書 固体の密度 |
|
|
物質の判定 |
|
|
|
|
|
|
|
|
測定 |
質量(g) |
体積(cm3) |
密度g/cm3 |
|
|
|
|
80 |
9.8 |
8.163265 |
|
|
|
|
|
|
|
|
|
|
判定結果 |
|
|
|
亜鉛 |
|
|
|
|
密度を計算して物質を判定する |
マクロ記入の Visual Basic 例 |
|
|
|
|
Sub 密度から物質の判定() |
|
|
|
|
|
' |
|
|
|
|
' 密度から物質の判定 Macro |
|
|
|
|
マクロ記録日 : 2005/1/22 ユーザー名 : |
|
|
|
|
' |
|
|
|
|
Dim situryoux As Integer |
|
|
|
|
Dim raisekiy As Integer |
|
|
|
|
Dim mitudoz As Integer |
|
|
|
|
Dim raitox As Integer |
|
|
|
|
|
|
|
|
|
Range("C21").Activate |
|
|
|
|
Range("D21").Activate |
|
|
|
|
Range("E21").Activate |
|
|
|
|
Range("C25").Activate |
|
|
|
|
|
|
|
|
|
Range("E21").Formula =
"=$C$21/$D$21" |
|
|
|
|
|
|
|
|
|
Range("E21").Select |
|
|
|
|
|
|
|
|
|
MsgBox "密度は " &
Range("E21") & " です" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If Range("E21") > 19.5
Then |
|
|
|
|
MsgBox
"物質は、上の表以外のものです" |
|
|
|
|
ElseIf Range("E21") > 19#
Then |
|
|
|
|
MsgBox
"物質名は、金 です" |
|
|
|
|
raitox = raitox +
8& |
|
|
|
|
ElseIf Range("E21") >
11.1 Then |
|
|
|
|
MsgBox
"物質名は、鉛 です" |
|
|
|
|
raitox = raitox +
9& |
|
|
|
|
ElseIf Range("E21") >
10.2 Then |
|
|
|
|
MsgBox
"物質名は、銀 です" |
|
|
|
|
raitox = raitox +
10& |
|
|
|
|
ElseIf Range("E21") > 8.5
Then |
|
|
|
|
MsgBox
"物質名は、銅 です" |
|
|
|
|
raitox = raitox +
11& |
|
|
|
|
ElseIf Range("E21") > 7.6
Then |
|
|
|
|
MsgBox
"物質名は、鉄 です" |
|
|
|
|
raitox = raitox +
12& |
|
|
|
|
ElseIf Range("E21") > 7#
Then |
|
|
|
|
MsgBox
"物質名は、亜鉛 です" |
|
|
|
|
raitox = raitox +
13& |
|
|
|
|
ElseIf Range("E21") > 2.5
Then |
|
|
|
|
MsgBox
"物質名は、アルミニウム です" |
|
|
|
|
raitox = raitox +
14& |
|
|
|
|
ElseIf Range("E21") > 1.5
Then |
|
|
|
|
MsgBox
"物質名は、マグネシウム です" |
|
|
|
|
raitox = raitox +
15& |
|
|
|
|
Else |
|
|
|
|
MsgBox
"測定した物質は、この表にありません" |
|
|
|
|
End If |
|
|
|
|
|
|
|
|
|
Cells(15, raitox).Activate |
|
|
|
|
|
|
|
|
|
Range("C25").Value =
Cells(15, raitox).Value |
|
|
|
|
|
|
|
|
|
End Sub |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|