Kryptologie - Informatik

Kryptologie - Informatik Kryptologie - Informatik

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

FUNCTION FUNCTION menu_markiert (spalte, zeile: integer): boolean; VAR V VAR A R c: char; aktuellesMenu: menuHandle; BEGIN BEGIN aktuellesMenu := getMenu(spalte + RES_ID_NR - 1); getItemMark(aktuellesMenu, zeile, c); menu_markiert := (ord(c) = 18); END EEND END N D; { menu_markiert } PROCEDURE PROCEDURE menu_zeigen (spalte, zeile: integer; zeigen: boolean); VAR V VAR A R einMenu: menuHandle; { zeile=0 bedeutet das ganze Menu } BEGIN BEGIN einMenu := getMHandle(RES_ID_NR + spalte - 1); IF I IF F zeigen THEN THEN enableItem (einMenu, zeile) ELSE ELSE disableItem(einMenu, zeile); END E END N D; { menu_zeigen } PROCEDURE PROCEDURE standard_laden; VAR V VAR A R datei : FILE FILE OF O OF F typ3; satz : typ3; i, k : integer; BEGIN BEGIN dName : string; dName := dateiName; WHILE WHILE dName[length(dName)] ‚:‘ DO DO delete(dName, length(dName), 1); dName := concat(dName, ‚Standard‘); writeln; writeln(‚••••• ‚, dName, ‚ wird geladen •••••‘); reset(datei, dName); FOR FOR FFOR FOR O R i := 1 TO TO 3 DO DO FOR F FOR O R k := 1 TO T TO O 26 DO D DO O close(datei); END EEND END N D; { standard_laden } read(datei, standard[i, k]); PROCEDURE PROCEDURE Anfangsbelegungen; VAR V VAR A R i, k, typ: integer; BEGIN BEGIN textFont(Monaco); textSize(9); gesamt := 0; textLaenge := 0; TextFenster_oeffnen; showText; WITH WITH Konsole DO DO DO buAnzahl := (right - left) DIV 7; FOR F FOR O R typ := 1 TO TO TO 3 DO DO DO FOR F FOR O R i := 1 TO T TO O 26 DO DO BEGIN BEGIN buchstaben[typ, i].anzahl := i; buchstaben[typ, i].tripel := ‚ ‚; standard[typ, i].anzahl := i; standard[typ, i].tripel := ‚ ‚; FOR F FOR O R k := 1 TO TO TTO TO O typ DO DO DO BEGIN BEGIN buchstaben[typ, i].tripel[k] := chr(64 + i); standard[typ, i].tripel[k] := chr(64 + i); END END; END END END END; END END ende := false; writeln(‚Herzlich willkommen,‘); writeln; writeln(‚Um einen Text codieren oder decodieren zu können,‘); writeln(‚muß er erst geladen werden.‘); writeln; writeln(‚Eine Textanalyse gelingt nur, wenn er bereinigt geladen wurde‘); writeln; END E END N D; { Anfangsbelegungen } 30

PROCEDURE PROCEDURE text_ausgeben; VAR V VAR A R i, nr: integer; BEGIN BEGIN showText; nr := 0; FOR F FOR O R i := 1 TO T TO O textLaenge DO DO BEGIN BEGIN nr := nr + 1; IF I IF F (ord(textVorlage[i]) = 13) OR O OR R (nr = buAnzahl) OR O OR R ((nr > buAnzahl - 20) AND A AND N D (textVorlage[i] IN I IN N [‚ ‚, ‚-‘])) THEN THEN BEGIN BEGIN BEGIN writeln; nr := 0; END END; END write(textVorlage[i]); END END; END writeln; END END E END N D; { text_ausgeben } PROCEDURE PROCEDURE original_laden; VAR V VAR A R datei: text; zeichen: char; 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, false); IF IF NOT NOT NNOT NOT O T menu_markiert(2, 1) THEN THEN item_aendern(2, 1); IF I IF F menu_markiert(2, 2) THEN THEN item_aendern(2, 2); dateiname := oldfilename(‚ ‚); writeln(dateiName); reset(datei, dateiname); textLaenge := 0; WHILE WHILE NOT N NOT O T eof(datei) AND AND (textLaenge < N) DO DO BEGIN BEGIN WHILE WHILE NOT N NOT O T eoln(datei) AND A AND N D (textLaenge < N - 1) DO DO BEGIN BEGIN read(datei, zeichen); textLaenge := textLaenge + 1; textVorlage[textLaenge] := zeichen; END END; END END readln(datei); textlaenge := textlaenge + 1; textVorlage[textLaenge] := chr(13); IF I IF F textLaenge MOD M MOD O D 100 = 0 THEN THEN writeln(textLaenge); END END; END close(datei); text_ausgeben; IF IF NOT NOT N NOT O T STANDARD_ERFASSEN THEN THEN standard_laden; END E END N D; { original_laden } 31

PROCEDURE PROCEDURE text_ausgeben;<br />

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

BEGIN<br />

BEGIN<br />

showText;<br />

nr := 0;<br />

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

DO<br />

BEGIN<br />

BEGIN<br />

nr := nr + 1;<br />

IF I IF F (ord(textVorlage[i]) = 13) OR O OR R (nr = buAnzahl) OR O OR R ((nr > buAnzahl - 20)<br />

AND A AND N D (textVorlage[i] IN I IN N [‚ ‚, ‚-‘])) THEN<br />

THEN<br />

BEGIN BEGIN<br />

BEGIN<br />

writeln;<br />

nr := 0;<br />

END END; END<br />

write(textVorlage[i]);<br />

END END; END<br />

writeln;<br />

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

PROCEDURE PROCEDURE original_laden;<br />

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

zeichen: char;<br />

BEGIN<br />

BEGIN<br />

menu_zeigen(2, 4, true);<br />

menu_zeigen(3, 0, true);<br />

menu_zeigen(4, 0, true);<br />

menu_zeigen(5, 0, true);<br />

menu_zeigen(5, 1, false);<br />

IF IF NOT NOT NNOT NOT O T menu_markiert(2, 1) THEN<br />

THEN<br />

item_aendern(2, 1);<br />

IF I IF F menu_markiert(2, 2) THEN<br />

THEN<br />

item_aendern(2, 2);<br />

dateiname := oldfilename(‚ ‚);<br />

writeln(dateiName);<br />

reset(datei, dateiname);<br />

textLaenge := 0;<br />

WHILE WHILE NOT N NOT O T eof(datei) AND AND (textLaenge < N) DO<br />

DO<br />

BEGIN<br />

BEGIN<br />

WHILE WHILE NOT N NOT O T eoln(datei) AND A AND N D (textLaenge < N - 1) DO<br />

DO<br />

BEGIN<br />

BEGIN<br />

read(datei, zeichen);<br />

textLaenge := textLaenge + 1;<br />

textVorlage[textLaenge] := zeichen;<br />

END END; END END<br />

readln(datei);<br />

textlaenge := textlaenge + 1;<br />

textVorlage[textLaenge] := chr(13);<br />

IF I IF F textLaenge MOD M MOD O D 100 = 0 THEN<br />

THEN<br />

writeln(textLaenge);<br />

END END; END<br />

close(datei);<br />

text_ausgeben;<br />

IF IF NOT NOT N NOT O T STANDARD_ERFASSEN THEN<br />

THEN<br />

standard_laden;<br />

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

31

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!