AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Verschlüsselung Welche Faktoren von 1 bis 100 funktionieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Verschlüsselung Welche Faktoren von 1 bis 100 funktionieren?

Ein Thema von Informatik-LK · begonnen am 21. Nov 2007 · letzter Beitrag vom 21. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Informatik-LK

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

Verschlüsselung Welche Faktoren von 1 bis 100 funktionieren?

  Alt 21. Nov 2007, 13: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
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Verschlüsselung: Welche Faktoren von 1 bis 10 funktionie

  Alt 21. Nov 2007, 14:05
Na das sieht doch schon ganz gut aus.

Du musst halt schließlich noch Testen ob in deinem Array überall eine 1 drinn steht. Wenn "Ja" dann geht der Faktor, denn du genommen hast

Und dann musst du halt noch eine Schleife um alles packen in welcher du den Faktor als Laufvariable nimmst.


Edit: Du schreibst
[ delphi]

[ /delphi]
drumherum (allerdings ohne Leerzeichen) Oder du benutzt oben diesen Button (Delphi-Code)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 14:11
Und wenn dir das Theorieverständnis fehlt:
Was du brauchst ist der sog. Euklydische Algorithmus. Mit dem findest du den größten gemeinsamen Teiler (ggt) von zwei Zahlen heraus. Wenn dieser gleich 1 ist, dann sind die beiden Zahlen teilerfremd und es existiert ein inverses Element modulo n. Wenn du willst, kannst du dieses inverse Element dann mit dem erweiterten Euklydischen Algorithmus bestimmen. Mit Hilfe dieses Elements kannst du dann deinen verschlüsselten Text wieder dechiffrieren.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Informatik-LK

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

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 16:56
Erstmal vielen Dank für eure Antworten.

Testen kann ich es, indem ich einen Break auf das vorletzte "end;" setze. Was mir nun fehlt, ist die Verknüpfung zu dem freien Memofeld. Wie kann ich es machen, dass alle Faktoren von 1 bis 100 ausprobiert werden und dann die Ergebnisse aufgelistet werden?
Ich habe leider nicht so viel Ahnung....

Und worum soll ich noch eine (for-?)Schleife setzen?
Ich bin ein absoluter Delphi-Anfänger.
  Mit Zitat antworten Zitat
Informatik-LK

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

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 19:18
Ich will ja nicht drängeln, aber ich muss die Hausaufgabe morgen fertig haben...
Ich bin ein absoluter Delphi-Anfänger.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 19:25
Zitat:
Und worum soll ich noch eine (for-?)Schleife setzen?
Na um alle 100 Faktoren durchzu testen
Delphi-Quellcode:
for faktoer:=1 to 100 do
begin
  //hier dein bisheriger Code

  //und hier jetzt testen, ob alle Positionen im Array = 1 sind und das Ergebnis im Memo ausgeben.
end;
Zitat:
Ich will ja nicht drängeln, aber ich muss die Hausaufgabe morgen fertig haben...
Du hast den Leistungskurs gewählt (seit wann gibts denn eigentlich Info als Leistungskurs?). Ich würde sagen, du musst dich noch ganz schön reinknieen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Informatik-LK

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

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 19:40
Wie gesagt, ich habe Delphi vorher noch nie gesehen.

Eigentlich war mein wirkliches Problem, das Ergebnis im Memofeld auszugeben. Ist das schwierig?
Ich bin ein absoluter Delphi-Anfänger.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 20:05
Ausgeben:
Delphi-Quellcode:
memo1.lines.add('Hallo da bin ich');
//oder
memo1.lines.add(inttostr(faktor)+' geht nie und nimmer');
Und testen kannst du entweder schon beim Füllen des Arrays (wenn eine Zahl größer 1 ist, hat sich das ganze ja schon erledigt) oder eben hinterher in einer extra Schleife.
Am besten ist du nimmst dazu eine Variable vom Typ Boolean und merkst dir wenn ein ArrayElement größer 1 geworden ist (die Variable kann auch vom Typ Integer sein und du zählst einfach wieviele Elemente <> 1 sind)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Thorben_Ko

Registriert seit: 8. Jun 2007
86 Beiträge
 
#9

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 20:06
Nee wenn du das Ergebniss hast ist es kein prob weiter zu machen, einfach:

Memo1.Lines.Add(Ergebnis); //Du musst ggf das Ergebniss noch umwandeln in ein String Thorben

EDIT: Roter kasten 4tw -.-
  Mit Zitat antworten Zitat
Informatik-LK

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

Re: Verschlüsselung Welche Faktoren von 1 bis 100 funktionie

  Alt 21. Nov 2007, 20:38
Wie gesagt, ich bin ein absoluter Noob. Von daher ist mir auch nicht klar, wie ich "Resteanzahl" vom Typ "Array of String" in "TString" umwandeln kann.

(Ob Informatik-Leistungskurs für mich die richtige Wahl war?)
Ich bin ein absoluter Delphi-Anfänger.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz