www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Schul-Informatik Algorithmen" - Delphi6 Anzahl auflisten
Delphi6 Anzahl auflisten < Algorithmen < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Schul-Informatik Algorithmen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Delphi6 Anzahl auflisten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:10 Sa 19.02.2011
Autor: pc_doctor

Hallo , ich habe mit Delphi 6 einen Würfel programmiert , in der Schule..
So , jetzt habe ich eine Funktion eingebaut , wo der Benutzer die Anzahl der Würfe entscheiden kann.
Also wenn er eine 3 eintippt , dann wird 3 mal gewürfelt , die Augenzahlen sind zufällig.

Jetzt möchte ich es so haben , dass wenn der Würfel gewürfelt hat , die Augenzahlen zusammengefasst dargestellt werden.

Also , wenn der Benutzer sagt würfel 3 mal , dann würfelt er 3 mal und es kommen z.B diese Augenzahlen : 1 , 3 ,3.


Jetzt soll es so dargestellt werden :
1
2 x 3.

Wie kriege ich das hin ?

        
Bezug
Delphi6 Anzahl auflisten: Antwort
Status: (Antwort) fertig Status 
Datum: 20:31 Sa 19.02.2011
Autor: Kroni

Hallo,

indem du dir ein 'Histogramm' erstellst:

Du musst zaehlen, wie oft die 1, 2, 3, 4, 5 oder 6 gewuerfelt worden ist.

Dazu kann man sich ein Array erstellen, nennen wir es hist. Dann gibt es

hist[1], hist[2], hist[3], hist[4], hist[5] und hist[6]. Der Datentyp waere (vorzugsweise) ein Integer, weil du ja sowieso nur zaehlst. Am Anfang sollte dann hist[i] auf 0 initialisiert werden.

Nehmen wir an, du wuerfelst eine zwei, dann erhoehst du den Wert von hist[2] um eins,

hist[2] = hist[2] + 1

wuerfelst du dann eine 1, machst du das selbe mit hist[1] und wuerfelst du dann die Zahl i, machst du das ganze mit hist[?]

So. Dann hast du also nach allen Wuerfeln in hist[1] die Anzahl der Male, die eine 1 gewuerfelt worden ist usw.

PS: Damit kannst du auch die 'Qualitaet' des Wuerfels testen, indem du den Zufallsgenerator ziemlich oft wuerfen laesst, und dann mal mit der daraus resultierenden Wahrscheinlichkeit fuer i Augen mit der von dir erwarteten Wahrscheinlichkeit vergleichst.

LG

Kroni


Bezug
                
Bezug
Delphi6 Anzahl auflisten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 21:40 Sa 19.02.2011
Autor: pc_doctor

Hallo,


Am Anfang sollte dann hist auf 0

> initialisiert werden.

Warum ?

>
> Nehmen wir an, du wuerfelst eine zwei, dann erhoehst du den
> Wert von hist[2] um eins,
>

Warum ?

> hist[2] = hist[2] + 1
>



Irgendwie kann ich das in Delphi nicht umsetzen..
Könntest du es mit Befehlen irgendwie deutlicher machen ?


Bezug
                        
Bezug
Delphi6 Anzahl auflisten: Antwort
Status: (Antwort) fertig Status 
Datum: 22:58 Sa 19.02.2011
Autor: Kroni

Hallo,

>
> Am Anfang sollte dann hist auf 0
>  > initialisiert werden.

>  Warum ?

Nun, ueberlege dir, was passieren wuerde, wenn du die Werte von hist[i] *nicht* auf 0 initialisierst.


>  
> >
>  > Nehmen wir an, du wuerfelst eine zwei, dann erhoehst du

> den
>  > Wert von hist[2] um eins,

>  >
>  Warum ?
>  > hist[2] = hist[2] + 1

Okay, dann ist das Prinzip, welches ich durch diese Beispiele verdeutlichen wollte, noch nicht ganz angenkommen:

Dein Ziel ist doch das Folgende:

Du hast eine Liste von Zahlen (die integer sind), die im Bereich zwischen 1 und 6 liegen. Stellen wir uns also vor, die Liste bestehe aus folgenden Zahlen:

1 1 3 5 6 6 2 3 4 1 1 2 6

Gut. Dann gehen wir mal durch, was ich geschrieben habe.
Wir haben ein Array, das wir hist nennen, also hist[i=1..6] = 0 am Anfang. D.h. jeder Eintrag des Arrays (was ein Array ist, weisst du aber, oder?) hat den Wert 0.

Dann wird als erstes die 1 gewuerfelt, d.h. wir schreiben

hist[1] = hist [1] + 1

D.h. nach dem Wurf ist hist[1] auf 1 gestellt.
Danach wuerfln wir nochmal die 1. Also wieder:

hist[1] = hist[1] + 1

Da hist[1] aber schon auf 1 gestellt war, steht da nun:

hist[1]  = 1+1 = 2

D.h. nun hat hist[1] den Wert 2.  Warum? Weil wir 2 mal die 1 gewuerfelt haben.

Danach kommt die 3. Also schreiben wir

hist[3] = hist[3] + 1

Da hist[3] noch auf 0 gesetzt war, ist nun also

hist[3] = 1.

Und so weiter. Wenn du das jetzt mit der Liste, die oben steht, weiter durcharbeitest, siehst du, dass am Ende in

hist[i] steht, wie oft die Zahl i gewuerfelt worden ist.

Wenn du das eingesehen hast, dann kannst du dir ja ueberlegen, was passiert, wenn irgendeiner der Eintrage von hist[i] am Anfang deiner Wuerfelei *nicht* auf 0 gesetzt worden waere. Waere dann die Zahl, die man aus hist[i] erhaelt gleich der Anzahl der Male, die man die Zahl i gewuerfelt hat?



> Irgendwie kann ich das in Delphi nicht umsetzen..
>  Könntest du es mit Befehlen irgendwie deutlicher machen

Ich habe momentan leider die Pascal-Syntax nicht mehr im Kopf.

Aber nehmen wir an, dass hist ein Array ist der Dimension 6 und hist[i] der i-te Eintrag dieses Arrays ist. Dann sollte eigentlich alles klar sein.

Wenn du das Prinzip oben verstanden hast, musst du dann also nur noch wissen, wie man ein Array in Delphi/Pascal deklariert.

LG

Kroni

> ?
>  


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Schul-Informatik Algorithmen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de