[Delphi] Noob braucht Hilfe bei Primzahlen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von emerica, 18. Oktober 2006 .

  1. 18. Oktober 2006
    Noob braucht Hilfe bei Primzahlen

    Hallo,

    ich habe seit Anfang dieses Schuljahres Informatik Leistungskurs in der Schule und wir programmieren mit Delphi, so jetzt soll ich 1. Ein Programm entwickeln, dass eine eingegebene Zahl darauf prüft, ob sie eine Primzahl ist und wenn ich das habe soll ich 2. das Programm umschreiben, sodass es Primzahlen in einem bestimmten Wertebereich, den der Benutzer vorher mit oberster- und unterster Grenze angibt, herausfindet.

    An sich kein Problem aber ich hab mich schon mit google durchs komplette I-Net geschlagen, da steht zware sehr häufig die Funktion zur Prüfung von Primzahlen aber da ist nie etwas bei erklärt. Um´s auf den Punkt zu bringen: Ich verstehe die Syntax dabei nicht, im Sinne von, wie ist diese Funktion aufgebaut und was muss wohin ???
    Also keine Lösung zur Aufgabe, das will ich selber machen weil ich da was drüber schreib und das können muss aber halt eine Erklärung zu dieser Funktion.

    Ich wär euch saudankbar wenn ihr mir helfen könntet, Bewertung ist natürlich auch drin !

    M.f.G.
    Phil
     
  2. 18. Oktober 2006
    AW: Noob braucht Hilfe bei Primzahlen

    Meine Glaskugel ist im moment in der Reinigung, deshalb sehe ich die Funktion im moment nicht vor mir.
    Vorschlag: du postest mal die Primzahlfunktion und wir versuchen die dann zu kommentieren / zu erläutern?
     
  3. 18. Oktober 2006
    AW: Noob braucht Hilfe bei Primzahlen

    hmm wenn 's visual basic wäre hätte ich dir helfen können...
    aber vllt kann ich ja auch so helfen:

    If primzahl.text "1" "3" "5" "7" .....
    Then MsgBox "Dies ist eine Primzahl"


    also so was in der gegend...
    per mit if alle primzahlen aufzählen und bei einer wahren aussage nachricht box dies ist eine primzahl... hmm und einen zweiten if, wo du alle anderen zahlen irgendwie bestimmst, die keine primzahlen sind! dann ist es eine falsche aussage...


    also das ist so wahrscheinlich nur eine leichte lösung... es müsste auch anders gehn...
     
  4. 18. Oktober 2006
    AW: Noob braucht Hilfe bei Primzahlen

    aha @ G.AsLaN, d.h. du würdest in der If Abfrage einfach alle möglichen Primzahlen auflisten, ja?
    Dann prüf für mich doch bitte mal mit deiner Methode die Zahl 4.123.456.862.634 darauf, ob sie eine Primzahl ist oder nicht.

    Ich glaube kaum, dass uns deine Visual Basic "Lösung" im Bereich Delphi weiterhilft.

    Ich habe mal eine Funktion ergooglet und für dich kommentiert:
    Code:
    uses
     math; // Klasse math wird benötigt, stellt Delphi bereit.
    
    Function IsPrim(zahl : Integer): boolean; // Funktion erwartet als Eingabe einen Integer und gibt true oder false zurück
    var
    i: integer; // als Lokale Variable ist "i" definiert
    begin
     result := true; // Standardrückgabewert: "true"
     If zahl = 1 then // Wenn eingegebene Zahl = 1 
     begin
     result := false; // dann false
     exit; // funktion verlassen - abbrechen
     end;
     For i := 2 to Trunc(sqrt(zahl))+1 do // jede Zahl ab 2 prüfen ob Primzahl
     begin
     If ((zahl mod i) = 0) then
     begin
     result := false; // Wenn keine Primzahl -> Rückgabewert: false sonst true
     exit;
     end;
     end;
    end;
    
    Die For-Schleife solltest du dir selbst erklären können, wenn du in die Delphi Funktionsreferenz schaust und dir klarmachst, was "Trunc", "sqrt" und "mod" bewirken. Ich hoffe ich konnte dir helfen.
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.