Autor |
Beitrag |
Fiete
Beiträge: 607
Erhaltene Danke: 342
W7
Delphi 6 pro
|
Verfasst: Mi 17.01.18 18:30
Moin,
dies Programm löst die Aufgabe 3 aus dem BWInf 12, 1993.
Für ein Hotel sollen neue Schlüssel hergestellt werden.
Ein Schlüssel besteht aus einer Karte mit Löchern, die von einem Lichtstrahl im Türschloß
abgetastet werden. Das Schloß wird passend eingestellt.
Rohling:
O#O#O#O
#O#O#O#
O#O#O#O
#O#O#O#
O#O#O#O
#O#O#O#
O#O#O#O
#O#O#O#
O#O#O#O
Die Schlüssel müssen folgende Regeln erfüllen:
Von den 32 möglichen Positionen sind wenigstens 5 mit einem Loch zu versehen.
Es darf keine der Spalten, Zeilen oder Diagonalen vollständig gelocht sein
Keine zwei Schlüssel dürfen identisch oder zueinander symmetrisch sein.
Nach dem Start wird die Anzahl der zu generierenden Schlüssel festgelegt, maximal 9999.
Identische oder symmetrische werden nicht gespeichert.
Die Schlüssel werden durch eine 32-Bit Zahl dargestellt.
Anschließend können aus einem festgelegten Bereich die Schlüssel angezeigt werden.
Viel Spaß beim Testen.
Gruß Fiete
Einloggen, um Attachments anzusehen!
_________________ Fietes Gesetz: use your brain (THINK)
Zuletzt bearbeitet von Fiete am Mi 17.01.18 23:23, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: Narses
|
|
Blawen
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: Mi 17.01.18 23:06
Hallo Fiete
Bei Deinem Eintrag scheinen zwei Fehler vorhanden zu sein (siehe Bild im Anhang).
- Zum einen erscheint unter dem (ersten) Schlüsselbild, ein weiteres mit dem Hinweis "Bild nicht gefunden..."
- und zum anderen scheint das Downloadfile auch nicht zu existieren, bzw. es wird nicht gefunden.
Edit:
@EE-Team:
Interessanterweise wird der Downloadzähler aber um eins hochgezählt
Gruss
Blawen
Einloggen, um Attachments anzusehen!
_________________ Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro
|
|
Fiete
Beiträge: 607
Erhaltene Danke: 342
W7
Delphi 6 pro
|
Verfasst: Mi 17.01.18 23:30
Moin Blawen,
Fehler behoben.
Gruß Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
|
Blawen
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: Do 18.01.18 00:06
Fiete hat folgendes geschrieben : | Moin Blawen,
Fehler behoben.
Gruß Fiete |
Das Bild wird nun angezeigt, die Datei wird aber nach wie vor nicht gefunden.
_________________ Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro
|
|
Fiete
Beiträge: 607
Erhaltene Danke: 342
W7
Delphi 6 pro
|
Verfasst: Do 18.01.18 09:55
Moin Blawen,
war gestern Abend wohl zu müde.
Das Programm und Quelltext sind neu hochgeladen, hoffe es klappt.
Gruß Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Fr 19.01.18 11:06
Hallo,
immer wieder erstaunlich, wie schnell die Ausgabe mit Delphi ist.Mit Lazarus kompiliert wird es relativ dazu sehr langsam.
"Heute" würde man sicher mit vorproduzierten Bitmustern arbeiten, um die Gültigkeit einer Karte zu prüfen, zumal ja die Karten als 32-Bitfeld gespeichert werden.
Wäre es ein Vorteil, die produzierten Karten sortiert zu halten, dann könnte man mit binärer Suche Kollisionen entdecken.
Egal, Rechnergeschwindigkeit ersetzt alles.Bei KartenMax auf 99999 erhöht sind es nur 10000-Kollisionen gewesen und die Hand noch nicht an der Kaffeetasse.
Schön umgesetzt.
Gruß Horst
P.S
Wenn nur 16 Karten erstellt, will das Programm nochmals Karten anzeigen und das sind dann nur leere Felder
|
|
Fiete
Beiträge: 607
Erhaltene Danke: 342
W7
Delphi 6 pro
|
Verfasst: Fr 19.01.18 15:08
Moin,
Zitat: | Wenn nur 16 Karten erstellt, will das Programm nochmals Karten anzeigen und das sind dann nur leere Felder. |
Wenn Du in Zeile 286
Delphi-Quelltext 1:
| if K=AN then Abbruch:=True; |
einfügst ist der Fehler behoben.
Hab ich zu spät bemerkt.
Gruß Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Fr 19.01.18 17:36
_________________ Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.
|
|
Fiete
Beiträge: 607
Erhaltene Danke: 342
W7
Delphi 6 pro
|
Verfasst: Fr 19.01.18 18:26
Moin,
ja stimmt, hab ich schon mal benutzt.
Es gibt nichts was nicht verbessert werden könnte.
Gruß Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
|
haentschman
Beiträge: 285
Erhaltene Danke: 33
DX10 Berlin Professional
|
Verfasst: So 21.01.18 16:17
Delphi-Quelltext
...wird nicht compilieren wenn K und AN Integer (oder so) sind.
Delphi-Quelltext
...das schon eher.
PS: Bitte beachtet wenigstens für die QT Beispiele den Delphi Styleguide.
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: So 21.01.18 19:07
Warum sollte es nicht kompilieren wenn man die Klammern weglässt? Du weist ja auf die Boolean Variable trotzdem sozusagen den Vergleich zu, der einen Bool-Wert zurückgibt. Die Klammer ändert da meines Wissens nach nichts. Oder ist das eine weitere Delphi-Macke? ^^
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|
Fiete
Beiträge: 607
Erhaltene Danke: 342
W7
Delphi 6 pro
|
Verfasst: So 21.01.18 22:55
Der Compiler verarbeitet die Anweisung korrekt!
Die Klammer ist überflüssig.
Ich arbeite mit D6 pro
Gruß Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: So 21.01.18 22:59
Hätte mich auch gewundert, wenn nicht. Danke für die Bestätigung!
In D7 geht es ebenfalls
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|