Zum Inhalt springen

Problem mit FreePascal


Kernseife

Empfohlene Beiträge

Einen wunderschönen Mittag alle miteinander,

ich habe folgendes Problem:

Ich besuche zur Zeit die 12 Klasse und es läuft auch eigentlich alles ganz Rund.... das einzige Problem ist der Informatik-Unterricht! Informatik ist für mich ein Pflichtfach und ich muss es noch bis in die 13. hinein belegen, ich hab aber leider nicht den geringsten Schimmer davon, geschweige denn Zeit und Lust es zu lernen!

Ich hab das seit 2 Jahren und am Anfang liefs gut und es hat echt Spass gemacht (Nicki der Roboter :P ),

dann folgte ein Lehrerwechsel und wir sind einfach mal eben rüber zu Pascal gesprungen, was dazu führte, dass 3/4 des Kurses nichts mehr gerafft hat.

Jetzt sollen wir ein Programm schreiben (in FreePascal), in dem man verschiedene Sortierverfahren auswählen und verwenden kann (Bubblesort, Quicksort, Insertion Sort und Selection Sort).

Mein Problem ist, dass ich keine Ahnung von Pascal habe und da ich es nur noch ein halbes Jahr belegen muss, habe ich natürlich auch mangelnde Amitionen es mir noch zu Gemüte zu führen.

Meine Frage:

Kann mir irgendjemand, dem das vllt. sogar Spass machen würde, das Programm schreiben? Wir haben auch von unserem Lehrer eine Art "Rohling" bekommen in den man wohl nur noch die Algorithmen einfügen muss.

Ich weiß dass das hier kein "Hausaufgaben-erledigungs-Forum" ist, aber ich wäre durchaus bereit mich irgendwie erkenntlich zu erweisen in Bereichen wo ich mich vllt. besser auskenne..

Naja, hier der Rohling (den ich leider auch schon nicht verstehe :P)


----------------------

PROGRAM  TestSortieren;

USES CRT, sort;

CONST NN    = 1000 ;

TYPE TInhalt= INTEGER;

TYPE TFeld  = ARRAY [ 0 .. NN ] OF TInhalt;

TYPE TTest  = RECORD

                 Sorierung    : STRING [2];

                 AnzahlVergleich : INTEGER;

                 AnzahlZuweisung : INTEGER;

                 Feldumfang      : INTEGER;

               END ;


TYPE TDatei = FILE OF  TTest;


FUNCTION zufallsbelegung( N : INTEGER ) : TFeld;

 VAR i : INTGER; feld : TFeld;

 BEGIN

    feld[0] := N;

    FOR i := 1 TO feld[0] DO <zufallszuweisung auf feld[i]:= ... >

    zufallsbelegung := feld;

 END ;


FUNCTION menue : STRING;

 BEGIN

  <Darstellen der moeglichen Sortierarten>

  <Waehlen der beabsichtigten Sortierart -> menue:=... >

 END ;


PROCEDURE sortierung ( a : CHAR; feld : TFeld );

 VAR test : TTest; ok : BOOLEAN;

     TestDatei :  FILE OF Test ;

 BEGIN ok := TRUE;

   CASE upcase(a[1]) OF

   'B'  : IF upcase(a[2]) = 'U' THEN

          BEGIN

            Test.Sortierung := 'BU';  {bubble-sort}

            Test.Feldumfang := fdeld[0];

            <feld nach bubblesort sortieren lassen

             und dabei die Anzahl der Vergleiche

             und die Anzahl der Zuweisungen bestimmen:

             Test.AnzahlVergleich := ...

             Test.AnzahlZuweisung := ... >

           END ;

   'D'  : IF upcase(a[2]) = 'I'  THEN

          BEGIN

            Test.Sortierung := 'DI'; {direct insertion}

            Test.Feldumfang := fdeld[0];

            <feld nach bubblesort sortieren lassen

             und dabei die Anzahl der Vergleiche

             und die Anzahl der Zuweisungen bestimmen:

             Test.AnzahlVergleich := ...

             Test.AnzahlZuweisung := ... >

           END                 ELSE

           IF upcase(a[2]) = 'S'  THEN

           BEGIN

             Test.Sortierung := 'DS'; {direct selection}

             Test.Feldumfang := fdeld[0];

             <feld nach bubblesort sortieren lassen

              und dabei die Anzahl der Vergleiche

              und die Anzahl der Zuweisungen bestimmen:

              Test.AnzahlVergleich := ...

              Test.AnzahlZuweisung := ... >

           END                    ELSE ok := FALSE;

   'Q'  : IF upcase(a[2]) = 'S'  THEN

          BEGIN

            Test.Sortierung := 'QS'; {Quicksort}

            Test.Feldumfang := fdeld[0];

            <feld nach bubblesort sortieren lassen

             und dabei die Anzahl der Vergleiche

             und die Anzahl der Zuweisungen bestimmen:

             Test.AnzahlVergleich := ...

             Test.AnzahlZuweisung := ... >

           END ;

    ELSE   ok := FALSE;

    END {case};

    IF ok THEN <  Benennen der Testdatei; oeffnen der Testdatei;

                  An das Ende der TestDatei springen;

                  Speichern des Ergebnisses in der TestDatei;

                writeln(' Die gewÂnschte Sortierart ',a,' ist durchgefÂhrt und abgespeichert: ', Test.AnzahlVergleich,' Vergleiche, ',TestAnzahlZuweisung,' Zuweisungen.');>

          ELSE  writeln(' Die gewÂnschte Sortierart ',a,' ist nicht vorgesehen.');

 END ;



VAR wunsch : STRING [2];

    feld   : TFeld ;

    N      : INTEGER;


BEGIN


  REPEAT

    <Feldbelegung -> feld:=zufallsbelegung(N) >;

    <gewuenschte Sortierrung ermitteln -> wunsch:= menue >

    WHILE NOT ( UPCASE(wunsch[1]) IN ['N', 'Q'] DO

    BEGIN

       sortierung( wunsch, feld );

       ...

       wunsch := menue ;

    END ;

    write(' Sind weitere Sortiertests gewÂnscht? '); readln( wunsch );

  UNTIL UPCASE(wunsch[1] IN ['N','Q'];


  readln;

  < Auswertung der TestDatei  >

  readln;


END .

------------------------

ich habe auch mal die .pas-Datei bei Rapidshare hochgeladen

RapidShare: 1-CLICK Web hosting - Easy Filehosting

Es wäre echt wunderbar wenn sich irgendjemand hier erweichen könnte mir zu helfen

Lieber Gruß

Kernseife

Bearbeitet von grueni
Link zu diesem Kommentar
Auf anderen Seiten teilen

[..]das einzige Problem ist der Informatik-Unterricht! Informatik ist für mich ein Pflichtfach und ich muss es noch bis in die 13. hinein belegen, ich hab aber leider nicht den geringsten Schimmer davon, geschweige denn Zeit und Lust es zu lernen! [..]

Mein Problem ist, dass ich keine Ahnung von Pascal habe und da ich es nur noch ein halbes Jahr belegen muss, habe ich natürlich auch mangelnde Amitionen es mir noch zu Gemüte zu führen. [..]

Kann mir irgendjemand, dem das vllt. sogar Spass machen würde, das Programm schreiben?

Also Faulheit und keine Lust wird hier sicherlich nicht unterstützt! Anstatt hier Text zu schreiben hättest Du die Algorithmen bei Wikipedia nachschlagen können und nur mit minimalen Wissen in Pascal programmieren können.

Wenn Du es fertig haben willst, dann poste im entsprechenden Jobportal mit einem Vorschlag zur Vergütung oder setz Dich hin und mache es selbst. Tipps werden hier gerne gegeben, aber sicherlich nicht, wenn man nicht wenigstens erkennt, dass Du das Mindestmaß an Arbeit hinein stecken willst

Link zu diesem Kommentar
Auf anderen Seiten teilen

:D

Genau solche Antworten bringen mir garnix!

Ich HABE mehrere Algorithmen bei Google gefunden und versucht diese mit meinem begrenzten Wissen da reinzupacken! Kannst mir schon glauben, dass ich alles in meiner Macht stehende getan habe um das irgendwie alleine zu packen! Ich habe es mir auch erklären lassen ohne auch nur die Ansätze alleine zu schaffen....

Und das hat nur in gerimgem Maße etwas mit Faulheit zu tun, ich gehe immerhin gerade aufs Abitur zu und habe wirklich besseres zu tun, als nebenbei noch Pascal zu lernen in einem Fach welches ich nur pflichtweise belege, also wegen dem deutschen Schulsystem und nicht etwa weil ich es mir ausgesucht habe!

Sowas regt mich wirklich auf, ich hab nur eine Frage gestellt und dann kommt einer wie du und macht einen auf Moralapostel!

Und ich hab keine Lust sowas in ein Internetauktionshaus zu stellen, das is lächerlich! Meiner Meinung nach hat das etwas mit Solidarität zu tun, jemand anderem einen Vorteil verschaffen ohne selber großen Arbeit zu haben! Ich z.B. kann relativ gut malen und ich würde ohne zu zögern für jemand anderen ein Bild malen wenn es kein großer Aufwand ist und ich demjenigen damit helfen kann

und weißt du warum?? Weil es mir Spass macht und weils einfach nett ist... und genauso gibts Leute denen Informatik Spass macht und für die es sicherlich kein großes Ding wäre mal eben so ein Standard-Programm zu schreiben (wenn es überhaupt so leicht ist, das kannich nich abschätzen)

Also spar dir deine schlauen Kommentare die zu rein garnix führen!

Und es wäre schön, wenn es hier jemanden geben würde der so denkt wie ich und mir vllt. trotz mancher gegensätzlichen Meinung helfen würde!

mit trotzdem freundlichen Grüßen

Kernseife

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich gehe immerhin gerade aufs Abitur zu und habe wirklich besseres zu tun, als nebenbei noch Pascal zu lernen in einem Fach welches ich nur pflichtweise belege, also wegen dem deutschen Schulsystem und nicht etwa weil ich es mir ausgesucht habe!
Du hast Pflichten? Du musst etwas lernen, das du nicht lernen willst? Das ist krass. Auch total unrealistisch in Bezug auf das spätere Berufsleben.

Und ich hab keine Lust sowas in ein Internetauktionshaus zu stellen, das is lächerlich!
Das ist es durchaus nicht. Du willst, das jemand deine Arbeit macht. Das eigentliche Problem ist aber, dass du die Leistung hinterher als deine eigene ausgeben willst.

Meiner Meinung nach hat das etwas mit Solidarität zu tun, jemand anderem einen Vorteil verschaffen ohne selber großen Arbeit zu haben!
Ja, solidarisch sein ist einfach, wenn man etwas braucht, aber nichts anzubieten hat, wonach Bedarf besteht. Streichst du meine Türen? Polierst du mein Auto? Mähst du meinen Rasen?

genauso gibts Leute denen Informatik Spass macht und für die es sicherlich kein großes Ding wäre mal eben so ein Standard-Programm zu schreiben
Richtig, die gibt es. Das sind aber leider auch genau die Leute, die keine Lust darauf haben, irgendwann mal mit jemandem zusammenarbeiten zu müssen, der nur auf dem Papier etwas kann, weil er eine fremde Leistung als seine eigene ausgegeben hat.

Und es wäre schön, wenn es hier jemanden geben würde der so denkt wie ich
Gibt es hin und wieder. Aber die wollen immer nur was und bieten nichts. Frag doch mal auf einem Künstlerboard, wo jemand mit deiner Gegenleistung eventuell etwas anfangen kann.

Aber nicht ärgern, wenn der dann seinen Namen unter dein Bild schreibt und es als sein eigenes verkauft. Solidarisch muss man da schon sein. Es macht dir ja schließlich Spaß.

Um es mal zusammenzufassen: Du kannst es nicht und willst es auch nicht lernen, also sollte die Bewertung deiner Leistung das auch wiederspiegeln. Verwässere nicht dein Abitur und das deiner Mitschüler, indem du dich mit fremden Federn schmückst.

Thread geschlossen, wer Kernseife helfen möchte, möge sich per PN an ihn wenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...