Übungsaufgabe und Lösung zu „Get the BASICs, Visual Basic für Einsteiger und Umsteiger“, Teil 8

Aufgabe:

Berechnen Sie die Wurzeln von 1 bis n in einer for Schleife

  • n soll von dem Anwender frei eingegeben werden
  • Speichern Sie die Wurzeln in einem Array der richtigen Größe
  • Bilden Sie den Mittelwert aller Wurzeln in dem Array
    • Implementieren Sie Ausnahmebehandlung um potentielle Fehler abzufangen
  • Geben Sie alle Wurzeln und deren Mittelwert aus

Lösung:

Option Explicit On

Option Strict On

Imports System.Math

Module Hausaufgabe8

Sub Main()

Dim anzahlWurzeln As Integer

Console.WriteLine("Wurzeln berechnen")

Console.WriteLine("=================")

Console.WriteLine()

Dim Eingabe As String

Console.Write("Anzahl der Wurzeln eingeben: ")

Eingabe = Console.ReadLine

' Überprüfen, ob

' (1) eine gültige Zahl eingegeben wurde und

' (2) die eingegebene Zahl > 0 ist

If Integer.TryParse(Eingabe, anzahlWurzeln) = False _

OrElse anzahlWurzeln <= 0 Then

Console.WriteLine("Sie haben keine gültige Zahl eingegeben. Nur ganze Zahlen > 0 sind erlaubt.")

Return

End If

' Array für die Wurzelberechnung anlegen

Dim Zahlen(anzahlWurzeln - 1) As Double

Dim Zahl As Double

For i As Integer = 0 To Zahlen.Length - 1

Console.Write("Bitte Zahl {0} eingeben: ", (i + 1).ToString)

Eingabe = Console.ReadLine

' überprüfen, ob eine gültige Zahl eingegeben wurde

If Double.TryParse(Eingabe, Zahl) = False _

OrElse Zahl < 0 Then

Zahl = 0

End If

' eine gültige Zahl >= 0 wurde eingegeben

Zahlen(i) = Zahl

Next

Dim Mittelwert As Double

' Alle Wurzeln ausgeben und den Mittelwert berechnen

For i As Integer = 0 To Zahlen.Length - 1

' Wurzel berechnen und ausgeben

Console.WriteLine("Die Wurzel von {0} ist {1}.", _

Zahlen(i), Sqrt(Zahlen(i)))

Try

' alle Wurzeln für den Mittelwert addieren

Mittelwert += Sqrt(Zahlen(i))

' Mittelwert = Mittelwert + Sqrt(Zahlen(i))

Catch ex As OverflowException

Console.WriteLine("Overflow ist aufgetreten.")

Catch ex As Exception

Console.WriteLine("Allgemeiner Fehler ist aufgetreten.")

End Try

Next

' Mittelwert berechnen

Mittelwert /= Zahlen.Length

'Mittelwert = Mittelwert / Zahlen.Length

Console.WriteLine()

Console.WriteLine("Der Mittelwert aller Wurzeln ist {0}.", _

Mittelwert)

End Sub

End Module