Einzelnen Beitrag anzeigen

Informatik-LK

Registriert seit: 21. Nov 2007
29 Beiträge
 
#1

Verschlüsselung Welche Faktoren von 1 bis 100 funktionieren?

  Alt 21. Nov 2007, 12:33
Hallo Leute,

zuerst einmal muss ich sagen, dass ich ein absoluter Delphi-Neuling bin. Ich habe es seit Mitte dieses Jahres im Unterricht in meinem Informatik-Leistungskurs und wusste vorher noch nicht einmal, dass es das gibt. Ich habe nämlich vorher noch nicht wirklich etwas programmiert, was sehr wahrscheinlich auch der Grund für meine enormen Probleme ist.

Es geht bei meiner Hausaufgabe also um eine bestimmte Verschlüsselung. Wir haben die Buchstaben von A bis Z, wobei 1 für A steht, 2 für B, 3 für C und so weiter. Diese Zahlen werden nun mit einem bestimmten Faktor multipliziert, das Ergebnis wird durch 26 geteilt und der Rest (mod 26) stellt dann den neuen Buchstaben dar (bezogen auf die Ordnungszahlen 1-26).
Jedoch kommen öfters doppelte Reste vor, das heißt, wenn man 2 (also B) mit dem Faktor 2 multipliziert, kommt als Ergebnis (der Rest) 4 raus: 4/26 = 0 R 4. Wenn ich also alle Ordnungszahlen der Buchstaben mit 2 multipliziere, kommt z.B. eine Doppelung bei dem Buchstaben O. Er hat die Ordnungszahl 15:

15 * 2 = 30

30 / 26 = 1 R 4.

Der Faktor 2 ist also ungeeignet für diese Verschlüsselung, da bei dem fertig verschlüsselten Text, zweimal derselbe Buchstabe auftauchen würde, aber er stünde für 2 verschiedene Buchstaben.
Nun gilt es, die Faktoren von 1-100 herauszufinden, bei deren Ergebnissen diese Doppelungen vorkommen und sie in einem Memofeld so aufzulisten, dass eine Liste erscheint, die in etwa so aussieht:

1 geht
2 geht nicht
3 geht
4 ...
...
...
...

100 ...


Als Ansatz habe ich dieses;

----------------------------------------------------------
procedure TForm1.ButtonDurchgehenClick(Sender: TObject);
var Resteanzahl: array [0..25] of longint;
Buchstabenordnungszahl: longint;
begin
for Buchstabenordnungszahl := 0 to 25 do
Resteanzahl[Buchstabenordnungszahl] := 0;
for Buchstabenordnungszahl := 1 to 26 do
inc (Resteanzahl[(Buchstabenordnungszahl * {Faktor}) mod 26]);

end;
-----------------------------------------------------------

Allerdings weiß ich nicht genau, ob dies richtig ist.

Ich hoffe, ich habe mein Anliegen vverständlich genug erklärt und dass ihr einem blutigen Anfänger wie mir helfen könnt. Das Bild zeigt meine Form

Gruß

Informatik-LK

PS: Wir benutzen in der Schule Delphi 6.
PPS: Wie kann ich den oben geschriebenen Quelltext-Auszug hier auch so anzeigen lassen, dass es Quelltext ist?
Miniaturansicht angehängter Grafiken
form1_213.jpg  
Ich bin ein absoluter Delphi-Anfänger.
  Mit Zitat antworten Zitat