vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Quadratische Gleichung?? 
Autor: Manfred X
Datum: 26.03.11 17:31

Hallo!

Der Weg zur Berechnung der Lösung einer quadratischen Gleichung
steht in jedem Mathebuch. Mal umgesetzt in VB könnte das so aussehen:

Eingegeben werden p und q, zurück kommen die beiden Lösungen
bzw. die Funktion wird False.

Public Function Quadratische_Gleichung _
        (ByVal p As Double, ByVal q As Double, _
        ByRef L1 As Double, ByRef L2 As Double) As Boolean
 
     'für Prüfung gegen 0
     Const epsilon As Double = 0.000000001
 
     'Diskriminante berechnen
     Dim disk As Double
     diskr = (p / 2#) * (p / 2#) - q
 
     'Fallunterscheidung
     If Abs(diskr) < epsilon Then
        'Diskriminante wird als 0 eingeordnet
        L1 = -p / 2: L2 = 0#
        Quadratische_Gleichung = True
    ElseIf diskr >= epsilon Then
        'positive Diskriminante
        L1 = -p / 2# - Sqr(diskr)
        L2 = -p / 2# + Sqr(diskr)
        Quadratische_Gleichung = True
    Else
        'negative Diskriminante (nicht lösbar)
        L1 = 0: L2 = 0
        Quadratische_Gleichung = False
    End If
End Function
Ein Excel-Makro, das diese Funktion nutzt, könnte
etwa so aussehen. (Eine Tastenkombi zuordnen.)

Annahme: Die Tabelle nennt sich Tabelle1. In der
ersten Spalte jeder Zeile stehen die p-Werte, in der
zweiten Spalte die q-Werte.
Die Lösungen werden - falls vorhanden - in die Spalten
3 und 4 eingetragen.

Sub QuadratischeGleichung()
' QuadratischeGleichung Makro
 
  Dim row As Integer
  Dim p As Double, q As Double, L1 As Double, L2 As Double
  For row = 1 To 100
      Tabelle1.Cells(row, 3) = "": Tabelle1.Cells(row, 4) = ""
      If IsNumeric(Tabelle1.Cells(row, 1)) And _
            IsNumeric(Tabelle1.Cells(row, 2)) Then
            p = Tabelle1.Cells(row, 1): q = Tabelle1.Cells(row, 2)
            If p <> 0 And q <> 0 Then
                If Quadratische_Gleichung(p, q, L1, L2) Then
                    Tabelle1.Cells(row, 3) = L1
                    If L2 <> 0# Then Tabelle1.Cells(row, 4) = L2
                Else
                    Tabelle1.Cells(row, 3) = "nicht lösbar"
                    Tabelle1.Cells(row, 4) = "nicht lösbar"
                End If
            End If
        End If
   Next row
End Sub
MfG
Manfred
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
pq-Formel automatisieren2.912marie9325.03.11 05:56
Re: pq-Formel automatisieren1.390ModeratorRalfE25.03.11 09:24
Re: pq-Formel automatisieren1.390marie9325.03.11 21:05
Re: pq-Formel automatisieren1.342Franki26.03.11 05:57
Quadratische Gleichung??2.302Manfred X26.03.11 17:31
Re: pq-Formel automatisieren1.388marie9327.03.11 19:08
Re: pq-Formel automatisieren1.272Franki28.03.11 03:14
Re: pq-Formel automatisieren1.256Manfred X28.03.11 14:15
Re: pq-Formel automatisieren1.297marie9328.03.11 16:52
Re: pq-Formel automatisieren1.316Manfred X28.03.11 17:57
Re: pq-Formel automatisieren1.370Manfred X28.03.11 18:28
Re: pq-Formel automatisieren1.381marie9331.03.11 14:20
Re: pq-Formel automatisieren1.357Manfred X31.03.11 16:41
Re: pq-Formel automatisieren1.401Manfred X31.03.11 17:18
Re: pq-Formel automatisieren1.215marie9306.04.11 15:51
Re: pq-Formel automatisieren1.254marie9306.04.11 20:10
Re: pq-Formel automatisieren1.200Manfred X06.04.11 20:25
Re: pq-Formel automatisieren1.343Franki07.04.11 05:50
Re: pq-Formel automatisieren1.379marie9307.04.11 13:44
Re: pq-Formel automatisieren1.335Manfred X07.04.11 13:53
Re: pq-Formel automatisieren1.376Franki08.04.11 04:30
Re: pq-Formel automatisieren1.242marie9311.04.11 22:10
Re: pq-Formel automatisieren1.446Manfred X12.04.11 10:56
Re: pq-Formel automatisieren1.315Franki13.04.11 03:24

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel