/// 実習D7 制御文(For 〜Next) と配列 プログラミング実習
 back next 

プロジェクト名   実習D7データの検索

動作

 10個の整数データ10,20,30,40,50,60,70,80,90,100を配列motoに格納しておき、入力されたデータと一致するデータが何番目にあるかを検索する。

デザイン

実習D7のデザイン フォームのプロパティ
 Font.Size = 11
 Size = 320, 150

コード(プログラム)    [終了ボタン]のメソッドは省略しています。 

Public Class Form1
  Private Sub btnKensaku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKensaku.Click
    Dim moto() As Integer = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
    Dim kdata, n As Integer
    kdata =  @ 
    For n = 0 To  A 
      If moto(n)  B  kdata Then
        MessageBox.Show(n + 1 & "番目にありました。", "実習D7")
        Exit Sub
      End If
    Next
    MessageBox.Show("見つかりませんでした。")
  End Sub
End Class

解答欄(英数字は半角で入力すること。余分な空白は入れないこと)
  @   A   B
   解答を入力し、[解答チェック]ボタンをクリックする。正解は   、不正解は   で表示される。

テスト

検索データ=10 ⇒ 1番目にありました。
検索データ=100 ⇒ 10番目にありました。
検索データ=15 ⇒ 見つかりませんでした。

 

Memo
 Do〜Loopで書き直すと
Public Class Form1
  Private Sub btnKensaku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKensaku.Click
    Dim moto() As Integer = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
    Dim kdata, n As Integer
    kdata = CInt(tbxData.Text)
    n = 0  ←nの初期値が必要
    Do
      If moto(n) = kdata Then
        MessageBox.Show(n + 1 & "番目にありました。", "実習D7")
        Exit Sub
      End If
      n = n + 1  ←nの増分計算が必要
    Loop While n < moto.Length    ←繰り返すかどうかの条件が必要
    MessageBox.Show("見つかりませんでした。")
  End Sub
End Class
 back next 
/// 実習D7 制御文(For 〜Next) と配列 Copyright©2014 Hiroshi Masuda 

 

 

inserted by FC2 system