| Autor |
Beitrag |
Anton.Topic
Hält's aus hier
Beiträge: 3
|
Verfasst: Do 14.04.05 16:37
Hi!
Hiffe mir kann jemand helfen, bei vollgenden Fragen komme ich nciht weiter:
Aufgabe: Erweitern Sie das Programm so, dass ständig die Häufigkeit von Zustand a und Zustand b aus dem Monitor angezeigt werden!
Ersetzen Sie im 4. Teil die harte Abbruchbedingung KeyPressed durch eine Sinnvolle Bedingung ( das Programm soll enden, wenn alle Felder mit Smily oder Strichen ausgefüllt sind)
Vielen Dank für eure Hilfe!!!
Hier das Programm:
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: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117:
| PROGRAM Ein_Phaenomen;
USES Crt;
CONST cZeilenzahl = 10; cSpaltenzahl = 20; p = 1;
TYPE TZeilen = 1..cZeilenzahl; TSpalten = 1..cSpaltenzahl; TZustand = (a, b); TZustandsmatrix = ARRAY [TZeilen, TSpalten] OF TZustand;
VAR f : TZustandsmatrix; z0, z1: TZeilen; s0, s1: TSpalten;
PROCEDURE Druck(w: TZustand);
BEGIN CASE w OF a: Write(Chr(1)); b: Write('-') END; END;
PROCEDURE ZufaelligeAnfangsbelegung(VAR f: TZustandsmatrix);
TYPE TNullBisEins = 0..1;
VAR i: TZeilen; k: TSpalten; r: TNullBisEins;
BEGIN FOR i := 1 TO cZeilenzahl DO FOR k := 1 TO cSpaltenzahl DO BEGIN r := Random(2); f[i, k] := TZustand(r); GotoXY(k, i); Druck(f[i, k]); END; writeln;writeln; writeln('Anfangszustand ist initialisiert!'); writeln('Zum Start bitte dr�cken!'); readln; write('Und nun geduldig beobachten!',chr(1)); END;
PROCEDURE ZufaelligeWahlEinesNachbarn(zAlt: TZeilen; sAlt: TSpalten; VAR zNeu: TZeilen; VAR sNeu: TSpalten);
TYPE TNullBisSieben = 0..7;
VAR zeile, spalte: Integer; r : TNullBisSieben;
BEGIN r := Random(8);
CASE r OF 0..2: zeile := zAlt - 1; 3, 7: zeile := zAlt; 4..6: zeile := zAlt + 1 END;
CASE r OF 2..4: spalte := sAlt - 1; 1, 5: spalte := sAlt; 6, 7, 0: spalte := sAlt + 1 END;
IF zeile = 0 THEN zeile := cZeilenzahl; IF zeile = cZeilenzahl + 1 THEN zeile := 1; IF spalte = 0 THEN spalte := cSpaltenzahl; IF spalte = cSpaltenzahl + 1 THEN spalte := 1;
zNeu := zeile; sNeu := spalte END;
BEGIN ClrScr; GotoXY(22, 6); Write('" D o p p e l t e r Z u f a l l "'); GotoXY(27, 9); Writeln(' Beginn mit !'); Writeln; GotoXY(27, 11); Writeln(' Abbruch durch !'); readln; ClrScr; Randomize; ZufaelligeAnfangsbelegung(f);
REPEAT z0 := Random(cZeilenzahl) + 1; s0 := Random(cSpaltenzahl) + 1; ZufaelligeWahlEinesNachbarn(z0, s0, z1, s1); f[z0, s0] := f[z1, s1]; GotoXY(s0, z0); Delay(p); Druck(f[z0, s0]) UNTIL KeyPressed END. |
Moderiert von Gausi: Delphi-Tags hinzugefügt.
Zuletzt bearbeitet von Anton.Topic am Do 14.04.05 20:12, insgesamt 1-mal bearbeitet
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Do 14.04.05 16:50
Moin,
willkommen im Forum und der Sparte Hausaufgaben.
Turbo-Pascal können hier einige.  Was ist Zustand a und b ? Solange der Code nicht formatiert ist, guck ich ihn mir nicht groß an. Vermute das muß morgen früh fertig sein ?
_________________ Gruß
Hansa
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Do 14.04.05 16:56
Hallo,
der Titel Deines Beitrages ist nicht aussagekräftigt genug. Man weiß nicht genau, um was es geht. Bitte ändere ihn entsprechend! Dabei kannst Du Turbo Pascal aber auch in den Titel aufnehmen.
Dies kannst Du tun, indem Du in Deinem ersten Beitrag auf "Edit" klickst und den Titel dort änderst.
Dazu hier auch noch der Auszug aus den Richtlinien:
| Richtlinien hat folgendes geschrieben: | 1.2 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist. Eine Pseudocodezeile oder die Nennung des Objektes, um welches es sich in dem Beitrag handelt, helfen da schon mehr weiter. Wenn Du beispielsweise wissen möchtest, wie es möglich ist, eine Integer-Variable in das String-Format zu konvertieren, würde ein Beitrag wie etwa "Integer zu String" oder "Integerkonvertierung" anderen Forenmitgliedern einen kurzen Überblick über die eigentliche Fragestellung verschaffen. So ist es möglich gezielter Lösungen für Probleme zu finden. Zudem solltest du immer daran denken: Der Fragesteller möchte etwas von den anderen Usern - nicht umgekehrt. |
Vielen Dank
Gruß,
uwe
|
|
Anton.Topic 
Hält's aus hier
Beiträge: 3
|
Verfasst: Do 14.04.05 20:14
Danke für das editieren und den hinweiss mit dem Titel.
Danke hansa für deine Antwort. Ja, morgen wäre natürlich toll. Vielleicht kann mir ja noch jemand helfen? Leider hat absolut niemand aus meinem Kurs verstanden was der Lehrer will und morgen will er damit jemanden mündlich dran nehmen, und das bin sicher ich.
Zustand A und Zustand B ist jeweils entweder ein Smily oder ein Strich.
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Do 14.04.05 23:59
Was hast du denn überhaupt schon gemacht? Wir lösen hier nicht einfach so die Hausaufgaben anderer. Bitte stelle konkrete Fragen.
Bitte formatiere auch deinen Code schöner bzw. hänge die PAS-Datei als Anhang an. Du solltest vielleicht auch erklären, was das Programm genau macht.
 Offenbar erwartest du von uns, dass wir die 120 Zeilen fast unkommentierten und schlecht formatierten Code studieren und dir eine Musterlösung schreiben, welche du dann deinem Lehrer abgeben kannst. So geht's natürlich nicht.
|
|
Anton.Topic 
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 15.04.05 06:46
nein, ein denkanstoß hätte gereicht. weil ich zuerst absolut nicht durchgeblickt habe. ich weiss nicht genau obs stimmt was ich jetzt geschrieben habe, aber das werde ich in der 3. stunde sehen
wenns gestimmt hat pooste ich es gerne, vielleicht kann es ja mal jemand anderes helfen.
|
|
|