Präsentation zu Algorithmen - e

Download Report

Transcript Präsentation zu Algorithmen - e

Profil- Informatik
GeWi Klasse 10
Algorithmen
•
•
•
•
Gestern und heute
Algorithmen verarbeiten Daten
Algorithmische Grundstrukturen
Algorithmen in Programmen
Algorithmen
•
•
•
•
Gestern und heute
Algorithmen verarbeiten Daten
Algorithmische Grundstrukturen
Algorithmen in Programmen
Geheimdokument…
Tipp
LEPPS PMWE,
MGL KPEYFI MGL FMR ZIVPMIFK MR
HMGL. AIRR HY QMGL EYGL IMR
FMWWGLIR QEKWX;OSQQ QSVKIR
REGLQMXXEK YQ ZMIV MR HMI
IMWHMIPI. MGL AEVXI EYJ HMGL. HIMR
GLVMWXSTL
Verschlüsselungsverfahren
•
•
•
•
•
•
Cäsarchiffre
Kryptographie
Beale- Ciffre
Enigma  Vortrag?
Vigenere- Verfahren
…
Vigenere- Verfahren
• Blaise Vigenère
(1523-?)
Vigenere- Verfahren
Aufgabe: recherchiere im Internet um
folgenden Text nach dem Vignere- Verfahren
zu codieren!
Hallo Chris, ich werde da sein. Dann können wir
über alles reden. Bis dann, Lisa.
So wird’s gemacht:
• Wähle ein Schlüsselwort
• Ersetze in Text und Schlüsselwort alle
Umlaute
• Schreibe das Schlüsselwort immer wieder
unter den zu verschlüsselnden Text, bis
unter jedem Buchstaben des Textes ein
Buchstabe des Schlüsselwortes steht
So wird’s gemacht:
• Ordne jedem Buchstaben des
Schlüsselwortes als zahl seinen Platz im
Alphabet zu (A1, B2…)
• Verschiebe jetzt die Buchstaben des zu
verschlüsselnden Wortes um diese Zahl.
Wenn du dabei ans Ende des Alphabetes
kommst, fange von vorn wieder an.
So wird´s gemacht
H
A
L
L
O
C
H
R
I
S
C
H
R
I
S
T
O
P
H
C
3
8
18
9
19
20
15
16
8
3
K
I
D
U
H
W
W
H
Q
V
I
C
H
W
E
R
D
E
H
R
I
S
T
O
P
H
8
18
9
19
20
15
16
8
Q
U
Q
P
Y
G
T
M
Lösung:
• Kiduh wwhqv pygtm gi knbh sqvq sgnghtd
elz mnuyg qtomk axxtd. Jla vjgh, ayad.
Algorithmus
• Darunter versteht man in der Informatik
und der Mathematik
Handlungsvorschriften, also eine Folge
von Anweisungen, die folgenden Kriterien
genügen:
Algorithmus
• Darunter versteht man in der Informatik und der Mathematik
Handlungsvorschriften, also eine Folge von Anweisungen, die
folgenden Kriterien genügen:
1. Eindeutigkeit (mit jeder Anweisung ist auch die
nächstfolgende festgelegt- bei gleicher Ausführung
(gleiche Voraussetzungen) = gleiche Ergebnisse
2. Endlichkeit (endlich viele Anweisungen führen zum
Resultat)
3. Ausführbarkeit (verständlich und eindeutig ausführbar)
Weiteres Bsp: Kryptogramme
Kryptogramme
• Man benötigt kein Spezialwissen für das
Entschlüsseln von Symbolrätseln. Wer die
Grundrechenarten kennt, kann sie lösen.
• Der Reiz der Symbolrätsel liegt darin, dass jedes
Rätsel in eine kleine selbstständige Zahlenwelt
führt. Für jedes Rätsel muss man sich eine neue
Strategie zurechtlegen. Es gibt keinen
allgemeingültigen Lösungsweg.
Übung
Lösung
723+115 = 838
32+205 = 237
755+320 =1075
Algorithmen in der Informatik
• Jedes Computerprogramm besteht aus
Teilalgorithmen  bilden zusammen einen
komplexen Algorithmus
• Zum Abarbeiten verwendet der Computer
Maschinensprache (Binärcode oder
Bitcode) bzw. Hexadezimalcode
Binärcode/ Hexadezimalcode
512
256
128
64
32
16
8
4
2
1
2^9
2^8
2^7
2^6
2^5
2^4
2^3
2^2
2^1
2^0
0
1
1
0
0
1
0
1
0
0
0110010100  404
Hexadezimalcode
Bei Hexadezimalcode handelt
es sich um eine verkürzte
Darstellung von Binärcode
1111 0010  F2
Übung
S
E
N
D
+
M
O
R
E
M
O
N
E
Y
- M = 1, weil es die einzige Möglichkeit für einen Übertrag der Summe zweier
Ziffern aus Spalte 4 nach Spalte 5 ist.
- Um einen Übertrag von Spalte 4 auf Spalte 5 zu bekommen, müsste S = 8 oder
9, S + M = 9 oder 10 und O = 0 oder 1 sein. Da aber M = 1 ist, muss O = 0 sein.
- Wenn es ein Übertrag von Spalte 3 nach Spalte 4 gäbe, dann müsste E = 9 und
N = 0 sein. Da aber O = 0 ist, existiert kein Übertrag und S = 9.
- Wenn es keinen Übertrag von Spalte 2 nach Spalte 3 gäbe, dann müsste E = N
sein, was unmöglich ist. Also existiert ein Übertrag und es gilt N = E + 1
Übung
S
E
N
D
+
M
O
R
E
M
O
N
E
Y
- Wenn es keinen Übertrag von Spalte 1 nach Spalte 2 gäbe, dann
müsste N + R = E mod 10. Mit N = E + 1 folgt daraus E + 1 + R = E mod
10 und damit R = 9. Da aber S = 9 ist, existiert ein Übertrag und R = 8.
- Um einen Übertrag von Spalte 1 nach Spalte 2 zu bekommen, muss D +
E = 10 + Y sein. Da Y ≠ 0 oder 1, ist D + E ≥ 12. Wenn D = 7 ist, dann
muss E ≥ 5 sein. Wenn N ≤ 7 und E = N - 1 ist, dann muss E ≤ 6 sein.
Daher ist E = 5 oder 6
- Wenn E = 6 ist, dann müsste D = 7 sein. Da aber wegen N = E + 1 dann
N ebenfalls 7 ist muss E = 5 sein. Damit ist N = 6.
- Da D + E ≥ 12 ist, muss D = 7 und somit Y = 2 sein.
Übung
S
E
N
D
+
M
O
R
E
M
O
N
E
Y
9
5
6
7
+
1
0
8
5
1
0
6
5
2
- Lösung:
Übung
Kryptogramm
Lösung(en)
Beispiel
EINS + EINS = ZWEI
11 Lösungen
1407 + 1407 = 2814
ZWEI + ZWEI = VIER
12 Lösungen
1397 + 1397 = 2794
EINS + VIER = FUENF
24 Lösungen
9406 + 3495 = 12901
ZWEI + VIER = SECHS
12 Lösungen
8624 + 3427 = 12051
VIER + VIER = ACHT
77 Lösungen
1345 + 1345 = 2690
EINS + ACHT = NEUN
168 Lösungen
2948 + 1306 = 4254
EINS + NEUN = ZEHN
6 Lösungen
2930 + 3283 = 6213
Eigenschaften von Algorithmen
Determiniertheit
• Ein Algorithmus ist deterministisch, wenn zu jedem
Zeitpunkt der Algorithmusausführung der nächste
Handlungsschritt eindeutig definiert ist
Eigenschaften von Algorithmen
Abstraktion
• Durch einen Algorithmus wird ein
Problemlösungsprozess auf einem bestimmten
Abstraktionsniveau beschrieben, das durch die
elementaren Algorithmen, die elementaren Objekte und
den verwendeten Formalismus festgelegt wird.
Eigenschaften von Algorithmen
Allgemeinheit
• Ein Algorithmus ist eine allgemeine
Tätigkeitsbeschreibung, mit der nicht nur die Lösung
einer einzelnen konkreten Aufgabe ermittelt wird,
sondern die Lösung verschiedener (eventuell aller)
Aufgaben einer bestimmten Klasse oder eines
bestimmten Typs.
Eigenschaften von Algorithmen
Finitheit
• Statische Finitheit
– Die Beschreibung des Algorithmus besitzt eine
endliche Länge, der Quelltext muss also aus einer
begrenzten Anzahl von Zeilen bestehen.
• Dynamische Finitheit
– Ein Algorithmus darf zu jedem Zeitpunkt seiner
Ausführung nur begrenzt viel Speicherplatz benötigen.
Eigenschaften von Algorithmen
Terminiertheit
• Ein Algorithmus hält nach endlich vielen
Schritten an (bricht kontrolliert ab). Dies gilt für
jede mögliche Eingabe.
• Würde ein Algorithmus nicht terminieren (und
somit zu keinem Ergebnis kommen), wäre die
Folge eine so genannte Endlosschleife.