vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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

VB.NET - Ein- und Umsteiger
Test-Funktion 
Autor: Sloorg
Datum: 17.05.14 04:59

Hi Leute,

ich bin's wieder mit ner kniffligen Aufgabe, hab aber den Grundstein schon gelegt:

Ich will eine Funktion schreiben, die testet, ob eine zu übergebende natürliche Zahl durch 2, 4, 5 oder auch 8 teilbar ist. Es soll nur der größte Teiler zurückgegeben werden.
Vorüberlegung (ohne Funktion): (kommt so in etwa hin)

Imports System.Console
 
Module Module1
    Dim zahl As Integer
    Sub Main()
        Write("Bitte geben Sie eine Zahl ein: ")
        zahl = ReadLine()
        If zahl Mod 2 = 0 Then
            If zahl Mod 4 = 0 Then
                If zahl Mod 5 = 0 Then
                    If zahl Mod 8 = 0 Then
                        WriteLine("Die Zahl ist durch 8 teilbar")
                    Else
                        WriteLine("Die Zahl ist nicht durch 8 teilbar")
 
                    End If
                    WriteLine("Die Zahl ist durch 5 teilbar")
                Else
                    WriteLine("Die Zahl ist nicht durch 5 teilbar")
 
                End If
                WriteLine("Die Zahl ist durch 4 teilbar")
            Else
                WriteLine("Die Zahl ist nicht durch 4 teilbar")
 
            End If
            WriteLine("Die Zahl ist durch 2 teilbar")
        Else
            WriteLine("Die Zahl ist nicht durch 2 teilbar")
 
        End If
        WriteLine("Bitte EINGABE drücken")
        ReadLine()
 
    End Sub
 
End Module
Könnte so in etwa hinkommen, aber das als Funktion zu schreiben... ? Ö.ö Sloorgie Planlos... :P
Hat jmd. vllt. ne Idee?

Hier war mein 1. Gehversuch als function:


Imports System.Console
Module Module1
    Sub Main()
        Dim zahl As Integer
        Write("Bitte Zahl eingeben: ")
        zahl = ReadLine()
        WriteLine(Test(zahl))
        Warten()
    End Sub
 
    Function Test(ByVal zahl As Integer)
        Dim rrrichtig As String
        If zahl Mod 2 = 0 Then
            If zahl Mod 4 = 0 Then
                If zahl Mod 5 = 0 Then
                    If zahl Mod 8 = 0 Then
                        rrrichtig = "Die Zahl ist durch 8 teilbar"
                    Else
                        rrrichtig = "Die Zahl ist nicht durch 8 teilbar"
                    End If
                    rrrichtig = "Die Zahl ist durch 5 teilbar"
                Else
                    rrrichtig = "Die Zahl ist nicht durch 5 teilbar"
                End If
                rrrichtig = "Die Zahl ist durch 4 teilbar"
            Else
                rrrichtig = "Die Zahl ist nicht durch 4 teilbar"
            End If
            rrrichtig = "Die Zahl ist durch 2 teilbar"
        Else
            rrrichtig = "Die Zahl ist nicht durch 2 teilbar"
        End If
 
        Return rrrichtig
    End Function
 
    Sub Warten()
        Write("Bitte EINGABE drücken: ")
        ReadLine()
    End Sub
 
 
End Module
Das rechnet leider nur mit 2 und lässt 4,5 und 8 außer 8.

---------------------------------------------------------
Jmd. meinte:

Vorsicht mit Ihren verschachtelten ifs.

Bei der Zahl 15 bekommen Sie dann keine Teilbarkeit durch 5, denn diese überprüfen Sie ja nur, wenn es durch zwei teilbar ist.

Also: kein Verschachteln, sondern elseif. Und da beginenn Sie mit dem größten, also

durch 8 teilbar?
andernfalls durch 5 teilbar?
andernfalls durch 4 teilbar?
andernfalls durch 2 teilbar?
keine entsprechende teilbarkeit



Das schaut dann so aus:
main:
eingabe zahl
greatestDivisor = funktion ( zahl )
ausgabe
ende main

funktion:
durch 8 teilbar?
return 8
durch 5 teilbar?
return 5
...
return -1 ' wenn durch keine der Testzahlen teilbar.
ende funktion

- Aber wie schreib ich das? ö.Ö

Viel Spaß beim Grübeln und 'n schönes Wochenende,
Sloorg! B)

Beitrag wurde zuletzt am 17.05.14 um 05:11:08 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Test-Funktion2.097Sloorg17.05.14 04:59
Re: Test-Funktion1.198ErfinderDesRades17.05.14 05:42
Re: Test-Funktion1.325Sloorg17.05.14 13:34
Re: Test-Funktion1.280ErfinderDesRades17.05.14 14:15
Re: Test-Funktion1.241Manfred X17.05.14 13:08
Re: Test-Funktion1.229Sloorg17.05.14 13:32
Re: Test-Funktion1.165Sloorg20.05.14 03:27
Re: Test-Funktion1.279Manfred X20.05.14 11:54
Re: Test-Funktion1.184Sloorg23.05.14 08:22
Re: Test-Funktion1.308Manfred X23.05.14 13:59
Re: Test-Funktion1.151Sloorg24.05.14 17:10
Re: Test-Funktion1.180Caddy24.05.14 12:56
Re: Test-Funktion1.165Sloorg24.05.14 17:16

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