Ceasar Geheimalphabet erstellen

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
temeraire007
Beiträge: 3
Registriert: Mi 22. Aug 2012, 15:01

Ceasar Geheimalphabet erstellen

Beitrag von temeraire007 »

Hallo,

Ich hab ein Problem : cih will eine Caesar Verschlüsselung programmieren. Dafür will ich ein Geheimtextalhpabet erstellen lassen wie es nach Ceasar übrlich ist.

Das heisst wenn das Wort das Verschlüsselt werden soll: HANS heisst dann macht das Programm daraus den Schlüssel

HANS + Alphabet (in dem alphabet dürfen aber die eigentlich buchstaben des Wortes HANS nichtmehr vorkommen.

Sodass der Schlüssel am Ende lautet: HANSBCDEFGIJKLMOPQRTUVPXYZ

Vielen Dank für Hilfe :)

Benutzeravatar
theo
Beiträge: 10953
Registriert: Mo 11. Sep 2006, 19:01

Re: Ceasar Geheimalphabet erstellen

Beitrag von theo »

temeraire007 hat geschrieben: Vielen Dank für Hilfe
Gerne. Und einen herzlichen Gruß an deinen Informatiklehrer!

Im Ernst: Wenn du hier Hilfe suchst, musst du erst einmal zeigen, dass du dir Gedanken über eine Lösung gemacht, und in der Schule soweit aufgepasst hast, dass du die Grundlagen im Griff hast.

temeraire007
Beiträge: 3
Registriert: Mi 22. Aug 2012, 15:01

Re: Ceasar Geheimalphabet erstellen

Beitrag von temeraire007 »

sry :S

mein ansatz:

Code: Alles auswählen

procedure TForm1.startButtonClick(Sender: TObject);
var
i,b :integer;
text,a,g,k, c: string;
 
 
 
begin
KTA:=('abcdefghijklmnopqrstuvwxyz'); // Klartext alphabet
 
text:=eingabeedit.text; //eingabe auslesen
 
GTA:=text+'abcdefghijklmnopqrstuvwxyz'; (weis halt nicht wie ich das hinbekomme das die buchstaben die im "text" sind nciht doppelt vorkommen)
 
i:=1;
 
for i:=1 to Length(text2) do Schleife von 1 bis länge des Wortes
 
 begin
 
a:=text2[i]; 1 Buchstaben des Wortes ruch variable a ersetzten
 
b:= Pos(a,KTA); Poistion des ersten Buchgstaben (Variable a ) im Klartextalphabet in Variable b umwandeln
 
c:=GTA[b]; Buchstabenposition(Variablke b) im Geheimtextalphabet als Vriable c ersetzen)
 
 end;
ausgabeedit.text:=c; Variable c ausgeben
 
end;
Zuletzt geändert von Lori am Mi 22. Aug 2012, 21:21, insgesamt 1-mal geändert.
Grund: Und bitte den Highlighter benutzen.

Benutzeravatar
theo
Beiträge: 10953
Registriert: Mo 11. Sep 2006, 19:01

Re: Ceasar Geheimalphabet erstellen

Beitrag von theo »

temeraire007 hat geschrieben: GTA:=text+'abcdefghijklmnopqrstuvwxyz'; (weis halt nicht wie ich das hinbekomme das die buchstaben die im "text" sind nciht doppelt vorkommen)
Jaja, aber genau das wird ein wesentlicher Teil der (Haus-) Aufgabe sein.

Überleg mal so: Schreib dir eine Funktion, die bestimmt ob ein bestimmtes Zeichen in einem bestimmten String vorkommt.
Dann gehe damit deinen Originalstring Zeichen für Zeichen durch. Falls die Ftk False zurückgibt, kopiere das Zeichen in einen zweiten String.

temeraire007
Beiträge: 3
Registriert: Mi 22. Aug 2012, 15:01

Re: Ceasar Geheimalphabet erstellen

Beitrag von temeraire007 »

hmm okay :S

ist ja nciht so als wenn cih jetzt was fertiges haben will ich will ja nur einen ansatz weil ich hat gar keine idee habe :/

aber gut cih probier mal mit deinem funktionstipp rum

Yogi72108
Beiträge: 22
Registriert: Fr 10. Feb 2012, 19:09
OS, Lazarus, FPC: Debian wheezy (FPC 2.7.1 SVN 29278; Laz 1.3 SVN 47189)
CPU-Target: 32Bit
Wohnort: im Schwabenländle

Re: Ceasar Geheimalphabet erstellen

Beitrag von Yogi72108 »

Hi

Hast Du das mit der Caesar-Verschlüsselung überhaupt richtig verstanden?

Guck mal hier: "http://de.wikipedia.org/wiki/Caesar-Verschlüsselung"

Da steht sogar drin wie mans macht.

Antworten