Kryptologie - Informatik
Kryptologie - Informatik
Kryptologie - Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
PROCEDURE PROCEDURE BuchstabenHaeufigkeit;<br />
VAR V VAR A R buchstabe: char;<br />
i, promille : integer;<br />
faktor : real;<br />
tri : str3;<br />
BEGIN<br />
BEGIN<br />
tri := ‚ ‚;<br />
max_anzahl := 0;<br />
IF I IF F single THEN<br />
THEN<br />
gesamt := 0;<br />
FOR F FOR O R buchstabe := ‚A‘ TO TO TTO TO O ‚Z‘ DO DO<br />
DO<br />
IF IIF IF F single THEN<br />
THEN<br />
B_haeuf[buchstabe] := 0<br />
ELSE<br />
ELSE<br />
BEGIN<br />
BEGIN<br />
i := round(buchstaben[1, ord(buchstabe) - 64].anzahl / 1000 * gesamt);<br />
B_haeuf[buchstaben[1, ord(buchstabe) - 64].tripel[1]] := i;<br />
END END; END<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 IIN IN N [‚A‘..’Z’, ‚a‘..’z’] THEN<br />
THEN<br />
BEGIN BEGIN<br />
BEGIN<br />
gesamt := gesamt + 1;<br />
buchstabe := gross(textVorlage[i]);<br />
B_haeuf[buchstabe] := B_haeuf[buchstabe] + 1;<br />
END END; END<br />
END END; END<br />
FOR F FOR O R i := 1 TO T TO O 26 DO<br />
DO<br />
BEGIN<br />
BEGIN<br />
tri[1] := chr(64 + i);<br />
haeufigkeit[i].anzahl := B_haeuf[chr(64 + i)];<br />
haeufigkeit[i].tripel := tri;<br />
IF I IF F haeufigkeit[i].anzahl > max_anzahl THEN THEN<br />
THEN<br />
max_anzahl := haeufigkeit[i].anzahl;<br />
END END; END END<br />
END E END N D; { BuchstabenHaeufigkeit }<br />
FUNCTION FUNCTION erfasse (typ, nn: integer): integer;<br />
VAR V VAR A R i : integer;<br />
tri : str3;<br />
BEGIN<br />
BEGIN<br />
tri := ‚ ‚;<br />
FOR F FOR O R i := 1 TO TO TTO TO O typ DO DO<br />
DO<br />
tri[i] := gross(textvorlage[nn + i - typ]);<br />
i := 0;<br />
IF I IF F aktuelle_anzahl = 0 THEN THEN BEGIN BEGIN i := i + 1;<br />
ELSE ELSE BEGIN BEGIN<br />
aktuelle_anzahl := i;<br />
haeufigkeit[i].tripel := tri;<br />
haeufigkeit[i].anzahl := 1;<br />
END EEND END N D { THEN }<br />
REPEAT REPEAT i := i + 1;<br />
UNTIL UNTIL (haeufigkeit[i].tripel = tri) OR O OR R (i = aktuelle_anzahl);<br />
IF I IF F haeufigkeit[i].tripel = tri THEN<br />
THEN<br />
haeufigkeit[i].anzahl := haeufigkeit[i].anzahl + 1 ELSE<br />
ELSE<br />
BEGIN BEGIN<br />
END END; END<br />
i := i + 1;<br />
aktuelle_anzahl := i;<br />
haeufigkeit[i].tripel := tri;<br />
haeufigkeit[i].anzahl := 1;<br />
END E END N D; { ELSE }<br />
erfasse := aktuelle_anzahl;<br />
END END EEND END N D; { erfasse }<br />
40