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

 

Visual Basic 中学校 > 初級講座 >

第39回 中間試験3

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

概要

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

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

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

 

1.諸注意

 

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

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

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

出題範囲は初級講座第27回〜第36回です。

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

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

なお、単純化するためにすべての設問は標準的な環境を前提に作成されています。特定の状況下では答えが異なる場合もありますし、厳密には日本語が不十分でもあります。

 

 

2.試験

 

問題1.

次のコードに関する説明として正しいものはどれか。

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


Dim
Names(5) As String
 

このコードでは6個の要素を持つ文字列型のコレクションを宣言している。

このコードでは5個の要素を持つ文字列型のコレクションを宣言している。

このコードでは6個の要素を持つ文字列型の配列を宣言している。

 

問題2.

次のうち、配列の要素の数を変更するときに必ず使用するキーワードはどれか。

Preserve

ReDim

Clone

AddRange

 

問題3.

次のプログラムを実行したときに、Label1に表示されるものは次のうちどれか。

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

Dim Names1() As String = {"マリウス", "スラ", "カトー"}
Dim Names2() As String = Names1

Names2(1) = "平群真鳥"

Label1.Text = Names1(1)

マリウス

スラ

カトー

平群真鳥

 

問題4.

次のうちコレクションの説明としてまちがっているものはどれか。

コレクションにはArrayListHashtableなどいろいろな種類がある。

コレクションは簡単に要素を追加・削除できるのが特徴。

For Eachを使ったループでコレクションの要素を1つずつ処理することができる。

コレクションの要素の最大数を変更するにはReDimを使用する。

 

問題5.

フォームに関する以下の説明の中でまちがっているものはどれか。

モーダルモードでフォームを開いた場合は、そのフォームを閉じるまで他のフォームを操作できない。

モーダルモードでフォームを表示するにはShowメソッドを使う。

ShowDialogメソッドで表示されたフォームにDialogResultプロパティを設定すると、呼び出し元ではShowDialogメソッドの戻り値として、そのDialogResultプロパティの値を受け取ることができる。

OwnedFormsプロパティを使うと、Ownerプロパティにそのフォームが設定されているすべてのフォームにアクセスできる。

 

問題6.

次のうち、テキストファイルの読み込みを行う場合に使用するクラスとして最も妥当なものはどれか。

StreamReaderクラス

TextReaderクラス

Fileクラス

FileInfoクラス

 

問題7.

次のプログラムはC:\Text1.txtが読み取り専用属性を持っているか調べるものである。このプログラムを完成させるために( A )の部分に当てはまるキーワードとしてもっとも適切なものは次のどれか。

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

If IO.File.GetAttributes("C:\Test1.txt") ( A ) IO.FileAttributes.ReadOnly Then
   
MsgBox("読み取り専用です。")
Else
   
MsgBox("読み取り専用ではありません。")
End If

=

Is

And

Or

 

問題8.

ユーザーが指定したファイル名でファイルを作成するプログラムを作りたい。ファイルを保存する前にユーザーが指定したファイルの拡張子を確認するのに使用できるものは次のうちどれか。

FileInfo.Extensionプロパティ

Path.GetExtensionメソッド

SaveFileDialog.AddExtensionメソッド

 

問題9.

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

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

( A )
Private
Sub MyMethod()

    MsgBox("テストです!")

End Sub

System.ComponentModel.Description("このメソッドはテスト用です。")

System.ComponentModel.Description("このメソッドはテスト用です。") _

<System.ComponentModel.Description("このメソッドはテスト用です。")>

<System.ComponentModel.Description("このメソッドはテスト用です。")> _

 

問題10.

次のうち、完成したexeファイルの会社名を指定するときに使用する属性はどれか。

AssemblyCompany

System.ComponentModel.Description

VBFixedString

 

問題11.

次の属性についての説明のうち、まちがっているものはどれか。

属性にはプログラム上なんの機能もない。(ごくごく一部のメソッド等で属性の値により処理内容が異なる場合はある)

属性はクラスである。

Assemblyキーワードを使用すると、アセンブリ全体に適用される属性を記述することができる。

1つの要素(変数、クラスなど)に複数の属性を適用することはできない。

 

問題12.

次のうち、値型のものはどれか。

String

Date

Pen

配列

 

問題13.

次のうち、参照型の変数の完全なコピーを確実に作成する方法の説明として最も適切なものはどれか。

= を使用する。

Cloneメソッドを使用する。

完全なコピーを確実に作成することはできない。

 

問題14.

次のコードの実行結果とその理由を正しく説明しているものはどれか。

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

Dim St1 As String
Dim
St2 As
String

St1 = "山梨県"
St2 = St1
St2 =
"香川県"

MsgBox(St1)

「山梨県」と表示される。理由:St1には「山梨県」しか代入していないのでそのままその値が表示される。

「香川県」と表示される。理由:Stringは参照型なのでSt2に代入した「香川県」がSt1の値も書き換える。

「山梨県」と表示される。理由:Stringは値型なのでSt1の内容はSt2の内容の影響を受けない。

「香川県」と表示される。理由:Stringは値型なのでSt2に代入した「香川県」がSt1の値も書き換える。

 

問題15.

変数が参照型であるかどうか確認するのに使用するメソッドとして最も適切なものは次のうちどれか。

IsNothing

IsNumeric

IsReference

IsArray

 

問題16.

次のうち、PrintDocumentクラスを使用して印刷を実行するときに、印刷内容の描画に使用するイベントはどれか。

Paint

BeginPrint

PrintPage

Invalidated

 

問題17.

印刷を行うときに、改ページを実行する方法を説明しているものとして正しいものは次のうちどれか。

改ページの制御はVBが自動で行うので、現在のページ数に応じて印刷できるようにプログラムしておけばよい。

改ページが必要なタイミングで制御コード(&H0C)を印刷する。

改ページが必要な場合はHasMorePagesプロパティをTrueにする。

 

問題18.

次のプログラムの実行結果の説明として、最も適切なものはどれか。

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

Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click

    PrintDocument1.Print()

End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

    Dim f As New Font("MS 明朝", 64, FontStyle.Bold)
    Dim i As
Integer
   
Dim Y As Single

    For i = 0 To 99
        Y = 10 + (f.GetHeight(e.Graphics) * i)
'現在の行の縦位置を計算
       
e.Graphics.DrawString(CStr(i) & "行目です。", f, Brushes.Red, 10, Y)
   
Next

End Sub

100行分の内容が1枚目の1ページ目に重なって印刷される。

100行相当の各ページ分が1ページ目に重なって印刷される。

100行のうち、最初の1ページの分だけが印刷される。

複数ページに渡って合計100行が印刷される。

 

問題19.

次のプログラムがビルドエラーになる場合、考えられる原因を以下の選択肢から選ぶとすると最も適切なものはどれか。

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

Dim X As Integer
Dim
Y As
Integer

X = 5
Y = 6

TextBox1.Text = X + Y

Option Strict Onが設定されている。

Option Strict Offが設定されている。

Option Explicit Onが設定されている。

Option Explicit Offが設定されている。

 

問題20.

テキストファイルを読み込んでテキストボックスに表示させたところ、以下の画像の ように文字化けしてしまった。考えられる原因として最も適切なものは次のうちどれか。

適切な文字コードで読み込まなかった。

テキストボックスにUnicode文字を表示しようとした。

Windowsに認識できない未知のエンコーディングが使用されている。

テキストファイルが韓国語や簡体中国語などのような外国語で記述されている。

 

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