28
Profil- Informatik GeWi Klasse 10

Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Embed Size (px)

Citation preview

Page 1: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Profil- Informatik GeWi Klasse 10

Page 2: 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

Page 3: 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

Page 4: Profil- Informatik GeWi Klasse 10. 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

Page 5: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Verschlüsselungsverfahren• Cäsarchiffre• Kryptographie• Beale- Ciffre• Enigma Vortrag?• Vigenere- Verfahren• …

Page 6: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Vigenere- Verfahren• Blaise Vigenère

(1523-?)

Page 7: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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

Page 8: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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

Page 9: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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.

Page 10: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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

Page 11: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Lösung:• Kiduh wwhqv pygtm gi knbh sqvq sgnghtd

elz mnuyg qtomk axxtd. Jla vjgh, ayad.

Page 12: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Algorithmus• Darunter versteht man in der Informatik

und der Mathematik Handlungsvorschriften, also eine Folge von Anweisungen, die folgenden Kriterien genügen:

Page 13: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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)

Page 14: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Weiteres Bsp: Kryptogramme

Page 15: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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.

Page 16: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Übung Lösung

723+115 = 838 32+205 = 237 755+320 =1075

Page 17: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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

Page 18: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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

Page 19: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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

1111 0010 F2

Page 20: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Ü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

Page 21: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Ü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

Page 22: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Ü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

Page 23: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Ü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

Page 24: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

Eigenschaften von Algorithmen

Determiniertheit• Ein Algorithmus ist deterministisch, wenn zu jedem

Zeitpunkt der Algorithmusausführung der nächste Handlungsschritt eindeutig definiert ist

Page 25: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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.

Page 26: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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.

Page 27: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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.

Page 28: Profil- Informatik GeWi Klasse 10. Algorithmen Gestern und heute Algorithmen verarbeiten Daten Algorithmische Grundstrukturen Algorithmen in Programmen

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.