LoginSignup
5
5

More than 5 years have passed since last update.

VB 問題

Posted at

練習問題

今回の内容

  • 今回はただただ問題を解いていって自分の考えたコードとネットの解答を貼りつけて行く感じです。
  • 最後に使用した問題一覧のリンクを貼っておきます。
  • 問題が練習5からなのは、個人的に練習4までは考えさせられるような内容がなかったため、省略しました。

練習問題 5 - 1

個人解答,資料解答
Dim values(9) As Integer

For i = 0 To 9
    values(i) = Integer.Parse(Console.ReadLine())
Next

For i = 0 To 9
    Console.WriteLine(values(i) * 2)
Next

練習問題 5 - 2

次のプログラムを作成しなさい。
*10 個の数値を入力する。
*入力された順番と逆の順番で 10 個の数値を表示する。

個人解答
Dim x(9) As Integer

For i = 0 To 9
    x(i) = Integer.Parse(Console.ReadLine)
Next

For i = 0 To 9
    Console.WriteLine(x(9 - i))
Next
資料解答
Dim values(9) As Integer

For i = 0 To 9
    values(i) = Integer.Parse(Console.ReadLine())
Next

For i = 9 To 0 Step -1
    Console.WriteLine(values(i))
Next

練習問題 5 - 3

間違えて解答を先に読んでしまったため省略。

練習問題 5 - 4

数値を繰り返して入力し、合計が 100 を超えた場合、または入力が 10 回行われた場合、入力を止め入力された数値をすべて表示するプログラムを作成しなさい。

個人解答
Dim sum As Integer

For i = 1 To 10
    Dim x = Integer.Parse(Console.ReadLine)
    sum += x

    If sum >= 100 Then
        i = 10
    End If
Next

Console.Write(vbLf & "合計:" & sum)
資料解答
Dim sum As Integer = 0
Dim count As Integer = 0
Dim values(9) As Integer

While count < 10 And sum <= 100
    values(count) = Integer.Parse(Console.ReadLine())
    sum += values(count)
    count += 1
End While

For i = 0 To count - 1
    Console.WriteLine(values(i))
Next

練習問題 5 - 5

次のコードに追加し、入力された数値を 16 桁の 2 進数で表示するプログラムを完成させなさい。

追加前
Dim binary(15) As Integer

Dim value = Integer.Parse(Console.ReadLine())

For i = 15 To 0 Step -1
    binary(i) = value Mod 2
    value \= 2
Next

For i = 0 To 15
    Console.Write(binary(i))
Next
個人解答
Dim binary(15) As Integer
Dim value = Integer.Parse(Console.ReadLine())

For i = 0 To 15
    binary(15 - i) = value Mod 2
    value \= 2
Next


For i = 0 To 15
    Console.Write(binary(i))
Next
資料解答
Dim binary(15) As Integer

Dim value = Integer.Parse(Console.ReadLine())

For i = 15 To 0 Step -1
    binary(i) = value Mod 2
    value \= 2
Next

For i = 0 To 15
    Console.Write(binary(i))
Next

練習問題 5 - 6

次のコードに追加し、九九表を表示するプログラムを完成させなさい。

追加前
Dim kuku(8, 8) As Integer

' 配列 kuku に値を代入する

For i = 0 To 8
    For j = 0 To 8
        Console.Write(" {0,2}", kuku(i, j))
    Next

    Console.WriteLine()
Next
個人解答,資料解答
Dim kuku(8, 8) As Integer

For i = 0 To 8
    For j = 0 To 8
        kuku(i, j) = (i + 1) * (j + 1)
    Next
Next

For i = 0 To 8
    For j = 0 To 8
        Console.Write(" {0,2}", kuku(i, j))
    Next

    Console.WriteLine()
Next

練習問題 5 - 7

1桁の数値( 1 ~ 9 に限定)を2つ入力し、その積を表示するプログラムを作成しなさい。ただし、九九の計算結果が入った配列を予め作成して利用すること。(前問を参考に)

個人解答
Console.WriteLine("1つ目の数値を入力してください")
Dim x = Integer.Parse(Console.ReadLine)
Console.WriteLine("2つ目の数値を入力してください")
Dim y = Integer.Parse(Console.ReadLine)


Dim kuku(8, 8) As Integer

For i = 0 To 8
    For j = 0 To 8
        kuku(i, j) = (i + 1) * (j + 1)
    Next
Next


Console.Write("合計:{0,2}" & vbLf, kuku(x - 1, y - 1))
資料解答
Dim kuku(8, 8) As Integer

For i = 0 To 8
    For j = 0 To 8
        kuku(i, j) = (i + 1) * (j + 1)
    Next
Next

Dim p = Integer.Parse(Console.ReadLine())
Dim q = Integer.Parse(Console.ReadLine())

Console.WriteLine(kuku(p - 1, q - 1))

練習問題 5 - 8

整数を 10 回入力し、小さい順に並べ替えて表示するプログラムを作成しなさい。

個人解答
Dim x(10) As Integer
Dim y As Integer

For i = 1 To 10
    Console.WriteLine("{0}回目の数値を入力してください", i)
    x(i) = Console.ReadLine
Next

For i = 1 To 10
    For j = 1 To 9
        If x(j) > x(j + 1) Then
            y = x(j)
            x(j) = x(j + 1)
            x(j + 1) = y
        End If
    Next
Next

For i = 1 To 10
    Console.Write(x(i))
Next
資料解答
Dim values(9) As Integer

For i = 0 To 9
    values(i) = Integer.Parse(Console.ReadLine())
Next

For i = 0 To 9
    For j = i + 1 To 9
        If values(i) > values(j) Then
            Dim t = values(i)
            values(i) = values(j)
            values(j) = t
        End If
    Next
Next

For i = 0 To 9
    Console.Write("{0} ", values(i))
Next

問題資料サイト

個人的にはすべて正常な動作をしている?と思うのでまずまず。
参考書もネットサイトも参考にしないで自力ですべてやったので3週間で少しは力がついてるかも!と思えました。

なにか問題点があれば教えていただけると助かります。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5