Autor Beitrag
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Di 24.03.09 21:21 
Jo hast ja im Prinzip recht, wir haben es so gelernt.

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Quitzlinga
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 2

Win XP
Delphi 2007 Prof. Codegear Win32
BeitragVerfasst: Mi 25.03.09 15:14 
Hi Steffi1980

Du solltest nicht den Wagen vor dem Rad erfinden. Ich habe so das Gefühl, das Du dir über die Aufgabe selbst noch nicht ganz klargeworden bist, sondern sie nur oberflächlich betrachtet hast.

Jede DV-Aufgabe (Projekt, Aufgabenstellung, Arbeit etc.) läuft immer nach folgenden linearen Prinzip ab:

(1) Planung und Konzeption (Was will ich überhaupt und wie könnte ich das allgemein beschreiben)
(2) DV-Konzeption (Ich mache mir Gedanken um Punkt 1 und wie ich die Probleme dort konkret lösen könnte,
ohne das auf einen spezielle Sprache festzulegen)
(3) Realisierung im der entsprechenden Sprache (in deinem Fall Pascal)

Dein Problem ist, Du beginnst schon bei Punkt 3, ohne dir grossartig Gedanken zu Punkt 1 und 2 gemacht zu haben.
Solange Du icht sehr gut im programmieren und Supermann bist, führt diese Denkweise früher oder später zu Problemen (spätestens bei der Wartung der entsprechenden Software)

Also einmal ganz von vorne, Schritt für Schritt:

1. Lehne Dich zurück,atme einmal tief ein und aus und löse Dich vom Gedanken, das deine Aufgabe mal so eben lösbar ist.
Dazu hast Du noch zuwenig Erfahrung (meiner Meinung nach)

2. Schnappe Dir ein Blatt Papier und beginne mit der Planung, d.h. schreibe alles auf, was Du weisst und ordne das
erstmal. In den meisten Fällen ist das sowieso erst mal dein Aufgabenstellung, also in diesem Fall :

Zitat:
Erzeuge 10 Zufallszahlen im Bereich 0<=x<=100 und speichere das in einem Array ab. Berechne Maximum und Durchschnitt der erzeugten Zufallszahlen und gebe es mit Hilfe von SHOWMESSAGE aus.


Das sind schon einmal sehr wertvolle Informationen. Ordnen sie wir ein bischen und teilen wir sie den einzelnen
Punkten mal zu :

(1) Erzeuge Zufallszahl, Speichere Zufallszahl ab, Berechne Maximum, Berechne Durchschnitt,
Gebe Durchschnitt und Maximum aus.
(2) Erzeuge 10 Zufallszahlen, speichere Zufallszahlen in ein Array ab, Zeige Durchschnitt und Maximum mit Hilfe
einer BS-Funktion an.
(3) Löse das ganze in Pascal

3. Löse dich mal von Pascal und andere Programmiersprachen und schreibe den Programmablauf von (1) einfach mal abstrakt
auf, z.B. so:

(a) Meine_Aufgabenstellung
(aa) Erzeuge_Zufallszahl
(bb) Speichere_Zufallszahl_ab
(cc) Wiederhole aa und bb solange, bis eine bestimmte Anzahl erreicht ist
(dd) Berechne_Maximum_der_Zufallszahlen
(ee) Berechne_Durchschnitt_der_Zufallszahlen
(ff) Gebe_Durchschnitt_und_Maximum_der_Zufallszahlen_aus

4. Gehe nun zu Schritt 2 des Ablaufs und konkretisiere das ganze:

(a) Meine_Aufgabenstellung
(aa) Erzeuge_Zufallszahl (0 <= Zufallszahl <= 100)
(bb) Speichere_Zufallszahl_ab (intern, Array)
(cc) Wiederhole aa und bb solange, bis eine bestimmte Anzahl erreicht ist (10 mal)
(dd) Berechne_Maximum_der_Zufallszahlen (Zwischenspeichern in Variable Maximum)
(ee) Berechne_Durchschnitt_der_Zufallszahlen (Zwischenspeichern in Variable Durchschnitt)
(ff) Gebe_Durchschnitt_und_Maximum_der_Zufallszahlen_aus (Maximum, Duchschnitt)
(fff) Realisierung mittels BS-Funktion

5. Komme zum Schluss und realisiere das ganze in Pascal. Hier liefere ich Dir nur einen Ansatz (nicht getestet),
füllen musst du die Rümpfe schon selbst ;-) :

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
   const Anzahl = 10;

   Type ZArray = array[1..Anzahl] of integer;
   
   procedure Meine_Aufgabenstellung();

    function Erzeuge_Zufallszahl(Unten,Oben): integer;
    begin
      // das musst Du selber schreiben ;-)
    end;

    procedure Speichere_Zufallszahl_ab(Zufallszahlen : ZArray);
    begin
      // das musst Du selber schreiben ;-)
    end;

    function Berechne_Maximum_der_Zufallszahlen(Zufallszahlen : ZArray): integer;
    begin
      // das musst Du selber schreiben ;-)
    end;

    function Berechne_Durchschnitt_der_Zufallszahlen(Zufallszahlen : ZArray): integer;
    begin
      // das musst Du selber schreiben ;-)
    end;

    procedure Gebe_Durchschnitt_und_Maximum_der_Zufallszahlen_aus(Durchschnitt,Maximum);
    begin
      ShowMessage('// das musst Du selber schreiben ;-)');
    end;

   var
      Durchschnitt,Maximum,Erzeugte_Anzahl,ZZahl : integer;
      Zufallszahlen : ZArray; 
   begin
     Randomize;
     Erzeugte_Anzahl := 0;
     while Erzeugte_Anzahl < Anzahl do begin
       ZZahl := Erzeuge_Zufallszahl(0,100);
       Speichere_Zufallszahl_ab(Zufallszahlen);
       Inc(Erzeugte_Anzahl);
     end;
     Maximum := Berechne_Maximum_der_Zufallszahlen(Zufallszahlen);
     Durchschnitt := Berechne_Durchschnitt_der_Zufallszahlen(Zufallsszahlen);
     Gebe_Durchschnitt_und_Maximum_der_Zufallszahlen_aus(Durchschnitt,Maximum);
   end;


Wie bereits am Anfang gesagt, niemals den Wagen vor dem rad erfinden. Eine gute Planung ist mehr Wert, als stumpfes drauflos programmieren. Für weitere Probleme rate ich Dir, die Suche hier zu benutzen oder ganz einfach zu googeln. Viel Glück bei Deiner Klausur

MfG

Quitzlinga