Visual Basic 初級講座
VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

 

Visual Basic 中学校 > 初級講座 >

第15回 中間試験1

今回は今までの内容を元に試験を行います。自分の理解度、到達度を示すものさしとしてご活用ください。なお、問題の内容や回答にご意見や疑義がある場合は掲示板に書き込んでください。

概要

・問題は全部で20問あります。

・出題範囲は 初級講座第1回〜第13回です。

・最後に「採点」ボタンをクリックすると、あなたの総合評価が表示されます。

この記事の内容はVisual Basic.NET 2003で確認しています。

 

1.諸注意

 

今回は、全部で20問の問題に答えてください。

採点は1問答えるごとにすぐに表示されるので、答えるときは慎重に答えてください。

1度答えた後での回答の変更は禁止します。変更しようと思えば変更できますが、やらないでください。

出題範囲は初級講座第1回〜第13回です。

最後の「採点」ボタンをクリックすると、あなたの総合評価が表示されます。

この試験では、あなたの情報が外部に送信されることはありません。

 

 

2.試験

 

問題1.

次のうち、コントロールの背景色を表しているプロパティはどれか。

Color

BackColor

ForeColor

 

問題2.

次のうち正しいもの(エラーにならないもの)はどれか。

Me.ForeColor = Color.FromARGB(Red)

Me.ForeColor = Color.FromARGB(255, 0, 0)

Me.ForeColor = Color.FromARGB(300, 200, 100)

Me.ForeColor = FromARGB(0, 0, 0)

 

問題3.

次のプログラム中の( A )を埋めて正しいプログラムとするとき。( A )にあてはまるものとしてもっとも適切なものはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim g As Graphics = ( A )

g.DrawLine(Pens.Red, 0, 0, 100, 200)

End Sub

e.Graphics

Me.Graphics

PictureBox1.CreateGraphics

New Graphics(sender)

 

問題4.

整数を保存するための変数を宣言するときに使用するキーワードとして最も適切なものは次のうちどれか。

Integer

Decimal

String

Double

 

問題5.

変数に関する注意事項としてまちがっているものは次のうちどれか。

変数の名前はその変数の役割がわかるような名前にする。

変数の名前が長いとその分メモリを消費してしまうので、できるだけ短い名前を付ける。

変数の管理が複雑にならないように、変数の適用範囲はできるだけ狭くする。

変数名には全角文字を使用することもできるので、必要であれば日本語名の変数を作っても良い。

 

問題6.

以下はあるプログラムの一部分を抜き出したものである。この抜粋について述べている以下の説明のうち間違っているものはどれか。ただし、IsMatchがプロパティでないことはあらかじめ分かっているものとする。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If Len(CheckPattern) > 0 Then

    Dim Reg As New System.Text.RegularExpressions.Regex(CheckPattern)

    If Reg.IsMatch(Value) = False Then
       
FoundError()
        Return
False
   
End If

End If

Lenは関数である。

IsMatchは関数である。

IsMatchはメソッドである。

FoundErrorはプロパティである。

 

問題7.

次のプログラムの実行結果に関して説明している以下の文章のうち正しいものはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

Dim Value As String
Dim St1 As String
Dim St2 As String

Value = "123あいう"

St1 = Value.Substring(1, 3)
St2 = Mid(Value, 1, 3)

 

St1 と St2 は同じ値になる。

St1 と St2 は異なる値になる。

St1 に値を代入している行でエラーが発生する。

St2 に値を代入している行でエラーが発生する。

 

問題8.

フォームのLoadイベントでLeft関数を使いたい。次のうち正しい使い方をしているものはどれか。

Dim St As String = Left("あいうえお", 3)

Dim St As String = Me.Left("あいうえお", 3)

Dim St As String = Strings.Left("あいうえお", 3)

Dim St As String = VB.Left("あいうえお", 3)

 

問題9.

次のプログラムの中の( A )の部分を埋めて正しいプログラムとするとき、( A )に当てはまるものとして最も適切なものは次のうちどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

If TextBox1.Text = "hello" Then

    MsgBox("こんにちは")

( A ) TextBox1.Text = "bank" Then

    MsgBox("銀行")

End If

 

If

Else

ElseIf

Else If

 

問題10.

次のプログラムの実行結果に関して説明している以下の文章のうち正しいものはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim A As Integer = 1
Dim B As Integer = 3

If A <> 1 OrElse B <> 1 Then
    MsgBox("OK")
Else
   
MsgBox("NG")
End
If

"OK"と表示される。

"NG"と表示される。

何も表示されない。

 

問題11.

次のプログラムの実行結果に関して説明している以下の文章のうち正しいものはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

Dim K As Integer = 3

For K = 0 To 5

     MsgBox("こんにちは")

Next

 

"こんにちは"と2回表示される。

"こんにちは"と3回表示される。

"こんにちは"と5回表示される。

"こんにちは"と6回表示される。

 

問題12.

次のプログラムを実行すると何が表示されるか。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim X As Integer = 1

Do

    X += 1

Loop Until X > 10

MsgBox(X)

1

9

10

11

 

問題13.

次のプログラムについて説明している以下の文章のうち、正しいものはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応

1:    Dim FileName As String

2:    FileName = "C:\Windows\Test.txt"

3:    If IO.File.Exists(FileName) Then
4:       
Dim Exists As Boolean
5:       
FileName = "C:\Windows\Test2.txt"
6:        Exists =
True
7:    
End If

8:    If Exists Then
9:       
IO.File.Create(FileName)
10:   End
If

4行目で変数Existsを宣言しているが、この場所では宣言できないのでビルドエラーになる。

5行目で使っている変数FileNameは適用範囲外なのでビルドエラーになる。

8行目で使っている変数Existsは適用範囲外なのでビルドエラーになる。

ビルドエラーは発生しない。

 

問題14.

名前空間について説明している以下の文章のうち、誤っているものはどれか。

名前空間はクラスを分類するためだけにあるので、名前空間自体には機能はない。

プログラムでクラスを指定するときは単にクラス名を記述する他に、「名前空間.クラス名」の形で記述することもできる。

構造体はどの名前空間にも属していない。

Importsを使って名前空間を指定した場合は、プログラム中でその名前空間名を省略することができる。

 

問題15.

クラスとインスタンスについて説明している以下の文章のうち、誤っているものはどれか。

クラスをインスタンス化する代表的な方法は New を使うことであるが、Newを使ってインスタンス化できないクラスもある。

クラスの共有メンバはクラスをインスタンス化しなくても使用できる。

1つのクラスのインスタンスを複数作成することはできない。

Newを使ってクラスをインスタンス化するときにパラメータを指定する場合は「コンストラクタ」を使用する。

 

問題16.

次のプログラムの中の( A )の部分を埋めて正しいプログラムとするとき、( A )に当てはまるものとして最も適切なものは次のうちどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) ( A ) Button1.Click

    '

End Sub

AddHandler

Event

Handles

WithEvents

 

問題17.

次のプログラムについて説明している以下の文章のうち、誤っているものはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim Answer As String

Try

    Answer = CDec(TextBox1.Text) / CDec(TextBox2.Text)

Catch ex As Exception

    Answer = "!Error"

Finally

    Label1.Text = Answer

End Try

Try節でエラーが発生した場合のみCatch節が実行される。

Try節でエラーが発生しなかった場合のみFinally節が実行される。

Finally節を省いても構文エラーにはならない。

Try構文ではなく、On Error構文を使っても全く同じ処理を記述することができる。

 

問題18.

次のうち、フォームを閉じてプログラムを終了させるのに最も適したキーワードはどれか。

Close

Dispose

End

Environment.Exit(0)

 

問題19.

次のうち、定数を宣言する方法を示しているのはどれか。

Private Const THIS_NAME As String = "Visual Basic 中学校"

Private ReadOnly THIS_NAME As String = "Visual Basic 中学校"

Private THIS_NAME As String = "Visual Basic 中学校"

Static THIS_NAME As String = "Visual Basic 中学校"

 

問題20.

次のプログラムを実行するとエラーが発生する。エラーが発生しないようにプログラムを修正する方法として誤っているものをはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim St As String

MsgBox(St.Length)

変数の宣言を次のように修正する。 Dim St As String = ""

変数の宣言を次のように修正する。 Dim St As New String

St.Length ではなく Len(St) とする。

 

すべての問題に解答したら、下の「採点」ボタンをクリックしてください。