Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten...

Preview:

Citation preview

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…

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

Tipp

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.

Schlüsselwort: Christoph

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 (A1, B2…)

• 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 gemachtH A L L O

C H R I S

3 8 18 9 19

K I D U H

C H R I S

T O P H C

20 15 16 8 3

W W H Q V

I C H

H R I

8 18 9

Q U Q

W E R D E

S T O P H

19 20 15 16 8

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/ Hexadezimalcode512 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

HexadezimalcodeBei Hexadezimalcode handelt es sich um eine verkürzte Darstellung von Binärcode

1111 0010 F2

Übung- 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

S E N D

+ M O R E

M O N E Y

Übung- 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.

S E N D

+ M O R E

M O N E Y

Übung- Lösung:

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

Ü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.

Recommended