Kryptologie - Informatik
Kryptologie - Informatik Kryptologie - Informatik
Anlage 2 : String-Routinen S := concat ( s1,s2,…,sn ); P := pos ( teil, quelle ); L := length ( quelle ); S := copy ( quelle, anf, anz ); S := omit ( quelle, anf, anz ); insert ( teil, quelle, anf ); delete ( quelle, anf, anz ); numToString ( num, str ); stringToNum( str, num ); char-Funktionen C := pred ( c ); C := succ ( c ); C := chr ( n ); N := ord ( c ); 6 Verkettung der Teilstrings s1, s2, …… , sn zu einem Gesamtstring S. Position P des Beginns eines Teilstrings „teil“ im Gesamt-string „quelle“; P ist 0, falls „quelle“ nicht „teil“ enthält. Länge L des Strings „quelle“. Kopiert ab der Position „anf“ aus „quelle“ einen Teilstring der Länge „anz“. Aus dem String „quelle“ ab der Position „anf“ genau „anz“ Zeichen entfernen. Fügt den „teil“-String ab der Position „anf“ in den String „quelle“ ein. Löscht im „quelle“-String „anz“ Zeichen ab „anf“. wandelt eine longInt-Zahl in einen str255-String um. wandelt einen str255-String in eine longInt-Zahl um. Vorgänger des Zeichens „c“ Nachfolger des Zeichens „c“ Zeichen der Ordnungszahl „n“ Ordnungszahl von „c“
PROGRAM PROGRAM PROGRAM stringTests; stringTests; { --------- Beispielprogramm --------- } VAR VAR V VAR A R num : longInt; L, P, N : integer; xStr, yStr : string; zStr : str255; c : char; { ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Ausgabe } BEGIN BEGIN xStr := ‚Berta ist eine gute‘; writeln(‚xStr :‘, xStr); xStr :=concat(‚Tante ‚, xStr,‘ Frau’); { xStr: Berta ist eine gute } writeln(‚xStr :‘, xStr); P := pos(‚gute‘, xStr); { xStr: Tante Berta ist eine gute Frau } writeln(‚pos(„gute“, xStr) =’, P); xStr := omit(xStr, P, 5); { pos(„gute“, xStr) = 22 } writeln(‚xStr :‘, xStr); L := length(xStr); { xStr :Tante Berta ist eine Frau } writeln(‚length(xStr) =‘, L); yStr := copy(xStr, 7, L - 6); { length(xStr) = 25 } writeln(‚yStr :‘, yStr); P := pos(‚eine‘, yStr); insert(‚k‘, yStr, P); { yStr: Berta ist eine Frau } writeln(‚yStr :‘, yStr); delete(yStr, 3, 16); { yStr: Berta ist keine Frau } writeln(‚yStr :‘, yStr); c:=yStr[2]); { yStr: Beau } writeln(‚yStr[2] : ‚, c); { yStr[2] : e } writeln(‚pred(yStr[2]) : ‚, pred(c); { pred(yStr[2]) : d } writeln(‚succ(yStr[2]) : ‚, succ(c); { succ(yStr[2]) : f } writeln(‚chr(64) = ‚, chr(64)); { chr(64) = @ } writeln(‚chr(65) = ‚, chr(65)); { chr(65) = A } writeln(‚ord(„B“) = ‚, ord(‚B‘) : 2); { ord(„B“) = 66 } writeln(‚ord(„C“) = ‚, ord(‚C‘) : 2); zStr := ‚123‘; stringToNum(zStr, num); { ord(„C“) = 67 } writeln(‚num :‘, num); num := 3 * 123; numToString(num, zStr); { num: 123 } writeln(‚zStr :‘, zStr); END END. END { zStr: 369 } | ---- Steuerzeichen ---- | ----------------------------- Schriftzeichen ---------------------------------- | HEX 00 10 20 30 40 50 60 70 0 NUL 0 DLE 16 320 48@ 64P 80 96p 112 1 SOH 1 DC1 1 7 ! 331 49A 65Q 81a 97q 113 2 STX 2 DC2 1 8 " 342 50B 66R 82b 98r 114 3 ETX 3 DC3 1 9 # 353 51C 67S 83c 99s 115 4 EOT 4 DC4 2 0 $ 364 52D 68T 84d 100 t 116 5 ENQ 5 NAK 2 1 % 375 53E 69U 85e 101 u 117 6 ACK 6 SYN 22& 386 54F 70V 86f 102 v 118 7 BEL 7 ETB 23' 397 55G 71W 87g 103 w 119 8 BS 8 CAN 2 4 ( 408 56H 72X 88h 104 x 120 9 HT 9 EM 2 5 ) 419 57I 73Y 89i 105 y 121 A LF 10SUB 2 6 * 4 2 : 58J 74Z 90j 106 z 122 B VT 11ESC 2 7 + 4 3 ; 59K 7 5 [ 91k 1 07 { 123 C FF 12FS 2 8 , 4 4 < 60L 7 6 \ 92l 1 08 | 124 D CR 13OS 29- 4 5 = 61M 7 7 ] 93m 1 09 } 125 E SO 14RS 3 0 . 4 6 > 62N 78^ 94n 1 10 — 126 F SI 15US 3 1 / 4 7 ? 63O 79_ 95o 111 DEL 127 7
- Seite 1 und 2: Stichworte: Pascal-Datentypen: •
- Seite 3 und 4: Unterrichtsbeschreibung zur Kryptol
- Seite 5: Anlage 2: Das File-Konzept in THINK
- Seite 9 und 10: Anlage 4 : Protokoll der Projektspe
- Seite 11 und 12: 1.6 PROCEDURE PROCEDURE PROCEDURE M
- Seite 13 und 14: 2.3 Vorgehensweise bei Buchstaben:
- Seite 15 und 16: 3. Textanalyse Platz 04 Ein Program
- Seite 17 und 18: 4. Codierung mit fester ZuordnungPl
- Seite 19 und 20: 5.3 Layout alt neu Text Interaktive
- Seite 21 und 22: 6.2 Entschlüsselung: Um die Vigen
- Seite 23 und 24: Anlage 6 : Kursarbeit 1. Im nachfol
- Seite 25 und 26: Anlage 7 : Programmlauf : Bereinigt
- Seite 27 und 28: ————— Bigramme sortiert
- Seite 29 und 30: Anlage 8 : Lauffähiges Programm in
- Seite 31 und 32: PROCEDURE PROCEDURE text_ausgeben;
- Seite 33 und 34: PROCEDURE PROCEDURE sichern; VAR V
- Seite 35 und 36: PROCEDURE PROCEDURE codierung; VAR
- Seite 37 und 38: BEGIN BEGIN { analyse } FOR FOR F F
- Seite 39 und 40: PROCEDURE PROCEDURE textAnalyse (si
- Seite 41 und 42: FUNCTION FUNCTION uebernehmen_von (
- Seite 43 und 44: BEGIN BEGIN { Bild_zeichnen } WITH
- Seite 45 und 46: PROCEDURE PROCEDURE PROCEDURE warte
- Seite 47 und 48: BEGIN BEGIN { Interaktion } hinweis
- Seite 49 und 50: PROCEDURE PROCEDURE behandle_Klick_
- Seite 51: Anlage 9 : PGP-Algoritmus private k
Anlage 2 : String-Routinen<br />
S := concat ( s1,s2,…,sn );<br />
P := pos ( teil, quelle );<br />
L := length ( quelle );<br />
S := copy ( quelle, anf, anz );<br />
S := omit ( quelle, anf, anz );<br />
insert ( teil, quelle, anf );<br />
delete ( quelle, anf, anz );<br />
numToString ( num, str );<br />
stringToNum( str, num );<br />
char-Funktionen<br />
C := pred ( c );<br />
C := succ ( c );<br />
C := chr ( n );<br />
N := ord ( c );<br />
6<br />
Verkettung der Teilstrings<br />
s1, s2, …… , sn<br />
zu einem Gesamtstring S.<br />
Position P des Beginns eines<br />
Teilstrings „teil“ im Gesamt-string<br />
„quelle“; P ist 0, falls „quelle“ nicht<br />
„teil“ enthält.<br />
Länge L des Strings „quelle“.<br />
Kopiert ab der Position „anf“ aus<br />
„quelle“ einen Teilstring der Länge<br />
„anz“.<br />
Aus dem String „quelle“ ab der<br />
Position „anf“ genau „anz“ Zeichen<br />
entfernen.<br />
Fügt den „teil“-String ab der Position<br />
„anf“ in den String „quelle“ ein.<br />
Löscht im „quelle“-String<br />
„anz“ Zeichen ab „anf“.<br />
wandelt eine longInt-Zahl in einen<br />
str255-String um.<br />
wandelt einen str255-String in eine<br />
longInt-Zahl um.<br />
Vorgänger des Zeichens „c“<br />
Nachfolger des Zeichens „c“<br />
Zeichen der Ordnungszahl „n“<br />
Ordnungszahl von „c“