Kryptologie - Informatik

Kryptologie - Informatik Kryptologie - Informatik

informatik.bildung.rp.de
von informatik.bildung.rp.de Mehr von diesem Publisher
08.10.2013 Aufrufe

PROCEDURE PROCEDURE bereinigt_laden; VAR V VAR A R Datei: text; zeichen: char; i: integer; PROCEDURE PROCEDURE ersetzen (nn: integer; c1, c2: char); BEGIN BEGIN textlaenge := textlaenge + 1; textVorlage[textLaenge] := c1; IF I IF F nn = 2 THEN THEN BEGIN BEGIN textlaenge := textlaenge + 1; textVorlage[textLaenge] := c2; END END; END END E END N D; { zweiterBuchstabe } BEGIN BEGIN menu_zeigen(2, 4, true); menu_zeigen(3, 0, true); menu_zeigen(4, 0, true); menu_zeigen(5, 0, true); menu_zeigen(5, 1, true); IF IF NOT NNOT NOT O T menu_markiert(2, 2) THEN THEN item_aend end end eend n dern(2, 2); IF I IF F menu_markiert(2, 1) THEN THEN item_aend end end eend n dern(2, 1); dateiname := oldfilename(‚ ‚); reset(datei, dateiname); textlaenge := 0; WHILE WHILE NOT N NOT O T eof(Datei) AND AND AAND AND N D (textLaenge < N) DO DO BEGIN BEGIN WHILE WHILE NOT NNOT NOT O T eoln(Datei) AND AND AAND AND N D (textLaenge < N - 1) DO DO BEGIN BEGIN read(datei, zeichen); CASE CASE zeichen OF ‚ä‘, ‚Ä‘: ersetzen(2, ‚A‘, ‚E‘); ‚ö‘, ‚Ö‘: ersetzen(2, ‚O‘, ‚E‘); ‚ü‘, ‚Ü‘: ersetzen(2, ‚U‘, ‚E‘); ‚ß‘: ersetzen(2, ‚S‘, ‚S‘); ‚a‘..’z’: ersetzen(1, gross(zeichen), ‚-‘); ‚A‘..’Z’: ersetzen(1, zeichen, ‚-‘); ‚0‘..’9': ersetzen(1, zeichen, ‚-‘); END E END N D; { CASE } END E END N D; { WHILE not eoln } readln(datei); END E END N D;{While not eof} close(datei); text_ausgeben; IF IF NOT NOT NNOT NOT O T STANDARD_ERFASSEN THEN THEN standard_laden; END E END N D; { bereinigt_laden } 32

PROCEDURE PROCEDURE sichern; VAR V VAR A R Datei : text; i : integer; BEGIN BEGIN rewrite(Datei, dateiname); FOR F FOR O R i := 1 TO T TO O textlaenge DO DO write(Datei, textvorlage[i]); close(Datei); END E END N D; { sichern_als } PROCEDURE PROCEDURE caesar (codieren: boolean); VAR V VAR A R v, i: integer; BEGIN BEGIN IF I IF F codieren = true THEN THEN BEGIN BEGIN writeln; write(‚Um wieviel Stellen im Alphabet wollen sie den Text verschieben ?‘); readln(v); FOR F FOR O R i := 1 TO T TO O textlaenge DO DO BEGIN BEGIN textvorlage[i] := verschiebe(textvorlage[i], v); END END END; END END E END N D{Codierung} ELSE ELSE BEGIN BEGIN write(‚Um wieviel Stellen im Alphabet wurde der Text verschoben ?‘); readln(v); FOR F FOR O R i := 1 TO T TO O textlaenge DO DO BEGIN BEGIN IF I IF F textvorlage[i] IN I IN N [‚a‘..’z’] THEN THEN BEGIN BEGIN textvorlage[i] := verschiebe(textvorlage[i], 26 - (v MOD MOD M MOD O D 26)); END END ELSE ELSE IF I IF F textvorlage[i] IN I IN N [‚A‘..’Z’] THEN THEN BEGIN BEGIN BEGIN textvorlage[i] := verschiebe(textvorlage[i], 26 - (v MOD MOD M MOD O D 26)); END END ELSE ELSE IF I IF F textvorlage[i] IN I IN N [‚0‘..’9'] THEN THEN textvorlage[i] := verschiebe(textvorlage[i], 10 - (v MOD MOD M MOD O D 10)); END END E END N D;{Decodierung} END END; END text_ausgeben; END E END N D; { caesar } 33

PROCEDURE PROCEDURE sichern;<br />

VAR V VAR A R Datei : text;<br />

i : integer;<br />

BEGIN<br />

BEGIN<br />

rewrite(Datei, dateiname);<br />

FOR F FOR O R i := 1 TO T TO O textlaenge DO<br />

DO<br />

write(Datei, textvorlage[i]);<br />

close(Datei);<br />

END E END N D; { sichern_als }<br />

PROCEDURE PROCEDURE caesar (codieren: boolean);<br />

VAR V VAR A R v, i: integer;<br />

BEGIN<br />

BEGIN<br />

IF I IF F codieren = true THEN<br />

THEN<br />

BEGIN<br />

BEGIN<br />

writeln;<br />

write(‚Um wieviel Stellen im Alphabet wollen sie den Text verschieben ?‘);<br />

readln(v);<br />

FOR F FOR O R i := 1 TO T TO O textlaenge DO<br />

DO<br />

BEGIN<br />

BEGIN<br />

textvorlage[i] := verschiebe(textvorlage[i], v);<br />

END END END; END<br />

END E END N D{Codierung}<br />

ELSE<br />

ELSE<br />

BEGIN<br />

BEGIN<br />

write(‚Um wieviel Stellen im Alphabet wurde der Text verschoben ?‘);<br />

readln(v);<br />

FOR F FOR O R i := 1 TO T TO O textlaenge DO<br />

DO<br />

BEGIN<br />

BEGIN<br />

IF I IF F textvorlage[i] IN I IN N [‚a‘..’z’] THEN<br />

THEN<br />

BEGIN<br />

BEGIN<br />

textvorlage[i] := verschiebe(textvorlage[i], 26 - (v MOD MOD M MOD O D 26));<br />

END<br />

END<br />

ELSE ELSE IF I IF F textvorlage[i] IN I IN N [‚A‘..’Z’] THEN<br />

THEN<br />

BEGIN BEGIN<br />

BEGIN<br />

textvorlage[i] := verschiebe(textvorlage[i], 26 - (v MOD MOD M MOD O D 26));<br />

END<br />

END<br />

ELSE ELSE IF I IF F textvorlage[i] IN I IN N [‚0‘..’9'] THEN<br />

THEN<br />

textvorlage[i] := verschiebe(textvorlage[i], 10 - (v MOD MOD M MOD O D 10));<br />

END END E END N D;{Decodierung}<br />

END END; END<br />

text_ausgeben;<br />

END E END N D; { caesar }<br />

33

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!