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

FUNCTION FUNCTION menu_markiert (spalte, zeile: integer): boolean;<br />

VAR V VAR A R c: char;<br />

aktuellesMenu: menuHandle;<br />

BEGIN<br />

BEGIN<br />

aktuellesMenu := getMenu(spalte + RES_ID_NR - 1);<br />

getItemMark(aktuellesMenu, zeile, c);<br />

menu_markiert := (ord(c) = 18);<br />

END EEND END N D; { menu_markiert }<br />

PROCEDURE PROCEDURE menu_zeigen (spalte, zeile: integer; zeigen: boolean);<br />

VAR V VAR A R einMenu: menuHandle; { zeile=0 bedeutet das ganze Menu }<br />

BEGIN<br />

BEGIN<br />

einMenu := getMHandle(RES_ID_NR + spalte - 1);<br />

IF I IF F zeigen THEN THEN enableItem (einMenu, zeile)<br />

ELSE ELSE<br />

disableItem(einMenu, zeile);<br />

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

PROCEDURE PROCEDURE standard_laden;<br />

VAR V VAR A R datei : FILE FILE OF O OF F typ3;<br />

satz : typ3;<br />

i, k : integer;<br />

BEGIN<br />

BEGIN<br />

dName : string;<br />

dName := dateiName;<br />

WHILE WHILE dName[length(dName)] ‚:‘ DO<br />

DO<br />

delete(dName, length(dName), 1);<br />

dName := concat(dName, ‚Standard‘);<br />

writeln;<br />

writeln(‚••••• ‚, dName, ‚ wird geladen •••••‘);<br />

reset(datei, dName);<br />

FOR FOR FFOR FOR O R i := 1 TO TO 3 DO<br />

DO<br />

FOR F FOR O R k := 1 TO T TO O 26 DO D DO O<br />

close(datei);<br />

END EEND END N D; { standard_laden }<br />

read(datei, standard[i, k]);<br />

PROCEDURE PROCEDURE Anfangsbelegungen;<br />

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

BEGIN<br />

BEGIN<br />

textFont(Monaco); textSize(9);<br />

gesamt := 0; textLaenge := 0;<br />

TextFenster_oeffnen; showText;<br />

WITH WITH Konsole DO DO<br />

DO<br />

buAnzahl := (right - left) DIV 7;<br />

FOR F FOR O R typ := 1 TO TO TO 3 DO DO<br />

DO<br />

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

DO<br />

BEGIN BEGIN buchstaben[typ, i].anzahl := i;<br />

buchstaben[typ, i].tripel := ‚ ‚;<br />

standard[typ, i].anzahl := i;<br />

standard[typ, i].tripel := ‚ ‚;<br />

FOR F FOR O R k := 1 TO TO TTO TO O typ DO DO<br />

DO<br />

BEGIN BEGIN buchstaben[typ, i].tripel[k] := chr(64 + i);<br />

standard[typ, i].tripel[k] := chr(64 + i);<br />

END END; END<br />

END END END; END END<br />

ende := false;<br />

writeln(‚Herzlich willkommen,‘); writeln;<br />

writeln(‚Um einen Text codieren oder decodieren zu können,‘);<br />

writeln(‚muß er erst geladen werden.‘); writeln;<br />

writeln(‚Eine Textanalyse gelingt nur, wenn er bereinigt geladen wurde‘);<br />

writeln;<br />

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

30

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!