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