Ankündigung

Einklappen
Keine Ankündigung bisher.

Quicksort in TurboPascal 7.0

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Quicksort in TurboPascal 7.0

    moin moin^^
    wir müsen für die schule ne art datenbank machen und die hab ich auch fertig
    nun will ich aber mein sortieren durch auswahl mit quicksort ersetzen
    allerdings geht dasn ich so richtig, syntax fehler werden mir nich angeziegt, aber anscheiend geht inhaltlich was nich

    das programm ermöglicht es, eine reihe von datensätzen einzugebenu nd als record zu speichern, diese sollen nun alphabetisch geordnet ausgegeben werden

    wer davon ahnung hat und bereit wäre mal zu helfen könnte mal seine icq nummer hinterlassen oder schicken :)

    und bevor spam etc kommt:
    nein, google etc helfen bei dem problem nicht, weil es kein syntax, sondern inhaltlich is
    hab schon geguckt

    und ich muss das in tp7 machen, weil wie gesagt für schule, und da muss man den mist nunmal machen :)
    mfg s1n

    #2
    selbst vor 6 oder 7 jahren hat google da schon massenweise infos zu gehabt, das weiß ich aus eigener erfahrung

    Kommentar


      #3
      quelltext plx

      Kommentar


        #4
        erster link in google...

        Quicksort
        procedure quicksort(l, r : integer);
        var i, j, m, v, temp : integer;
        begin
        if l < r then begin
        m := (l + r) div 2;
        v := feld[m];
        i := l;
        j := r;
        while i v do dec(j);
        if i

        Kommentar


          #5
          na na na, da ist aber feld nicht deklariert ;)

          Kommentar


            #6
            radde postete
            na na na, da ist aber feld nicht deklariert ;)
            da der aufruf mit quicksort(low(feld), high(feld)); erfolgt, is es wohl deklariert:)...

            Kommentar


              #7
              und wie ich oben schon schrieb um das zu verhindern, der syntax is kein problem
              aber ich poste einfach mal meinen teil hier rein:

              TYPE tDATENSATZ = RECORD
              nam : string[25];

              TYPE tHILF = RECORD
              schl : string[20];
              nr : integer;
              END;
              VAr r_index : integer;
              datenbank : tDATENSATZ;
              profile : FILE OF tDATENSATZ;
              hilfsdaten : ARRAY[0..100] OF tHILF;
              datenbanksort: FILE OF tHILF;

              PROCEDURE hilfsreihe;
              VAR nummer : INTEGER;
              BEGIN
              RESET(profile);
              nummer :=0; {=Nummer des ersten DS in Orig.-Datei}
              WHILE NOT EOF(profile) DO
              BEGIN
              READ(profile,datenbank);
              WITH (datenbank) DO
              BEGIN
              hilfsdaten[nummer].schl :=nam;
              hilfsdaten[nummer].nr :=nummer;
              END;
              INC(nummer);
              END;
              r_index := nummer - 1;
              {writeln('Anazhl DS in DB;');
              writeln('Zaehlung beginnt mit 0');
              writeln(r_index);
              writeln; }
              GOTOXY(30,8);writeln('Weiter mit Enter!');
              writeln;

              END;

              PROCEDURE qsort(l,r:integer);
              VAR i,j: INTEGER;
              sz : tHILF;
              x : string[50];
              y: string[50];
              BEGIN
              hilfsreihe;

              {RESET(profile);}
              i:=l;
              j:=r;
              x:=hilfsdaten[(l+r) DIV 2].schl;
              REPEAT
              WHILE hilfsdaten[i].schl < x DO
              i:=i+1;
              WHILE x < hilfsdaten[j].schl DO
              j:=j-1;
              IF ij;
              IF l

              Kommentar


                #8
                Turbopascal :)
                Welches geniale Schulministerium ist dafür denn verantwortlich? Oder hast du nen Pauker/in der einfach wieder total geil auf Staub ist?
                Ansonsten:
                http://de.wikipedia.org/wiki/Quicksort#Implementierung_in_Pascal_und_Delphi

                Kommentar


                  #9
                  maaanuuueeel postete
                  radde postete
                  na na na, da ist aber feld nicht deklariert ;)
                  da der aufruf mit quicksort(low(feld), high(feld)); erfolgt, is es wohl deklariert:)...
                  Da is noch gar nix deklariert. Das einzige was man weiß is, dass feld ein array ist. Wer pascal kennt, weiß, dass das nicht ausreicht ;)

                  #8 Pascal wurde am Anfang für Schulzwecke gemacht und man merkt es auch noch an späteren Pascal-Versionen. Es gibt Gründe warum man mit so einer "strengen" und "simplen" Sprache anfängt und den Schüler nicht gleich eine "ich-klick-mir-mal-mein-Programm"-IDE ala Delphi setzt.

                  Kommentar


                    #10
                    radde postete
                    maaanuuueeel postete
                    radde postete
                    na na na, da ist aber feld nicht deklariert ;)
                    da der aufruf mit quicksort(low(feld), high(feld)); erfolgt, is es wohl deklariert:)...
                    Da is noch gar nix deklariert. Das einzige was man weiß is, dass feld ein array ist. Wer pascal kennt, weiß, dass das nicht ausreicht ;)
                    kenn mich mit pascal null aus, aber in c reicht es wenn du was an die funktion übergibst, dann musst du es in der funktion nicht neu deklarieren

                    Kommentar


                      #11
                      ryoshi postete
                      Turbopascal :)
                      Welches geniale Schulministerium ist dafür denn verantwortlich? Oder hast du nen Pauker/in der einfach wieder total geil auf Staub ist?
                      Ansonsten:
                      http://de.wikipedia.org/wiki/Quicksort#Implementierung_in_Pascal_und_Delphi
                      vielleicht auch einfach jemanden, der erst grundlagen vermittelt, bevor er mit sowas wie delphi um die ecke kommt.

                      Kommentar


                        #12
                        radde postete
                        #8 Pascal wurde am Anfang für Schulzwecke gemacht und man merkt es auch noch an späteren Pascal-Versionen. Es gibt Gründe warum man mit so einer "strengen" und "simplen" Sprache anfängt und den Schüler nicht gleich eine "ich-klick-mir-mal-mein-Programm"-IDE ala Delphi setzt.
                        Delphi...
                        Tut mir leid aber man hat doch den Anspruch die Schüler auf etwas reales vorzubereiten. Meiner Meinung nach kann man das nur mit einer objektorientierten Sprache machen. Java ist einfach und man muss ja nicht mit Eclipse / NetBeans anfangen. Man kann auch Konsolenanwendungen programmieren

                        Kommentar


                          #13
                          ryoshi postete
                          radde postete
                          #8 Pascal wurde am Anfang für Schulzwecke gemacht und man merkt es auch noch an späteren Pascal-Versionen. Es gibt Gründe warum man mit so einer "strengen" und "simplen" Sprache anfängt und den Schüler nicht gleich eine "ich-klick-mir-mal-mein-Programm"-IDE ala Delphi setzt.
                          Delphi...
                          Tut mir leid aber man hat doch den Anspruch die Schüler auf etwas reales vorzubereiten. Meiner Meinung nach kann man das nur mit einer objektorientierten Sprache machen. Java ist einfach und man muss ja nicht mit Eclipse / NetBeans anfangen. Man kann auch Konsolenanwendungen programmieren
                          Du willst Realität? Ich arbeite bei einer großen Versicherung und dort laufen alle Host-Anwendungen noch auf PL/1 / Cobol (beide in den 1960er entwickelt). ;)

                          Du willst also die Schüler direkt in die Objektorientierung werfen? Na dann viel Spaß.

                          Kommentar


                            #14
                            ryoshi postete
                            radde postete
                            #8 Pascal wurde am Anfang für Schulzwecke gemacht und man merkt es auch noch an späteren Pascal-Versionen. Es gibt Gründe warum man mit so einer "strengen" und "simplen" Sprache anfängt und den Schüler nicht gleich eine "ich-klick-mir-mal-mein-Programm"-IDE ala Delphi setzt.
                            Delphi...
                            Tut mir leid aber man hat doch den Anspruch die Schüler auf etwas reales vorzubereiten. Meiner Meinung nach kann man das nur mit einer objektorientierten Sprache machen. Java ist einfach und man muss ja nicht mit Eclipse / NetBeans anfangen. Man kann auch Konsolenanwendungen programmieren
                            warum nicht gleich c++? schon mal dran gedacht, dass die wenigsten alle leute, die informatik in der schule haben später auch informatik studieren?
                            und um die grundlagen der programmierung zu vermitteln eignet sich tp sehr viel besser, als delphi, java und co.

                            Kommentar


                              #15
                              Informatik in der Oberstufe sollte aber den Anspruch haben, dass die Schüler einen Einblick bekommen.
                              Teils denke ich auch, dass durch diesen lahmen Unterricht keiner wirklich damit was anfangen kann. Aber naja muss jeder selber wissen. Ich hab mich auch dagegen entschieden Info zu studieren. Ich werd Softwareentwickler und da brauch ich das Studium einfach nicht. Zu viel unbrauchbare theoretisches gebrabbel.

                              Zum Thema:
                              Ich hoff, dass du mit dem Input den QuickSort implementiert bekommst. Ansonsten mach dir erstmal ein kleines Testprogramm, anstatt das gleich mit deiner Datenbank zu testen.

                              Kommentar

                              Lädt...
                              X