練習問題
今回の内容
- 今回はただただ問題を解いていって自分の考えたコードとネットの解答を貼りつけて行く感じです。
- 最後に使用した問題一覧のリンクを貼っておきます。
- 問題が練習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週間で少しは力がついてるかも!と思えました。
なにか問題点があれば教えていただけると助かります。