Wie rechnet ein Rechner? Werner Struckmann Vorkurs Wintersemester 2014/2015

Größe: px
Ab Seite anzeigen:

Download "Wie rechnet ein Rechner? Werner Struckmann Vorkurs Wintersemester 2014/2015"

Transkript

1 Wie rechnet ein Rechner? Werner Struckmann Vorkurs Wintersemester 2014/2015

2 Was machen wir? Warum sollte man wissen, wie ein Rechner rechnet? Wie rechnet ein Rechner? Speicherung von Zahlen Verarbeitung von Zahlen Fazit Etwas zum Algorithmusbegriff Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 2

3 Wie rechnet ein Rechner? Warum sollte man es wissen, wenn man mit ihm rechnet? Das wollen wir uns ansehen! Ein bisschen rechnen wir erstmal selbst. Dann sehen wir uns an, wie er rechnet. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 3

4 Beispiel: Multiplikation zweier Zahlen =?

5 Beispiel: Multiplikation zweier Zahlen =? 2 7 6

6 Beispiel: Multiplikation zweier Zahlen =?

7 Beispiel: Multiplikation zweier Zahlen =? = (1 10+2) (2 10+3) = ( ) = = 276

8 Beweis der abessinischen Bauernmethode zur Multipliaktion Gegeben: x, y N mit x, y 1. Es gilt die Gleichung: y falls x = 1, x x y = (y + y) falls x > 1 und x gerade ist, 2 y + x 1 (y + y) falls x > 1 und x ungerade ist. 2 Durch diese Gleichung und die Rekursion wird die Multiplikation auf die Addition, Verdoppelung und Halbierung zurückgeführt. Das Einmaleins brauchen wir nicht. Dieses Verfahren war schon im Altertum bekannt. In Deutschland wurde es wohl bis ins Mittelalter verwendet. Wir können also auf mehrere Arten und Weisen multiplizieren. Jetzt sehen wir uns Rechner an. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 5

9 Beispiel: Multiplikation zweier Zahlen

10 Beispiel: Multiplikation zweier Zahlen Mit einem Java-Programm kontrollieren wir unsere Ergebnisse und berechnen außerdem

11 Beispiel: Multiplikation zweier Zahlen public class Mult01 { public s t a t i c void main ( S t r i n g [ ] args ) { System. out. p r i n t l n ( 1 * 1 ) ; System. out. p r i n t l n ( 1 2 * 1 2 ) ; System. out. p r i n t l n (123*123); System. out. p r i n t l n (1234*1234); System. out. p r i n t l n (12345*12345); System. out. p r i n t l n (123456*123456); } }

12 Beispiel: Multiplikation zweier Zahlen public class Mult01 { public s t a t i c void main ( S t r i n g [ ] args ) { System. out. p r i n t l n ( 1 * 1 ) ; System. out. p r i n t l n ( 1 2 * 1 2 ) ; System. out. p r i n t l n (123*123); System. out. p r i n t l n (1234*1234); System. out. p r i n t l n (12345*12345); System. out. p r i n t l n (123456*123456); } } Ausgabe:

13 Beispiel: Multiplikation zweier Zahlen public class Mult01 { public s t a t i c void main ( S t r i n g [ ] args ) { System. out. p r i n t l n ( 1 * 1 ) ; System. out. p r i n t l n ( 1 2 * 1 2 ) ; System. out. p r i n t l n (123*123); System. out. p r i n t l n (1234*1234); System. out. p r i n t l n (12345*12345); System. out. p r i n t l n (123456*123456); } } Ausgabe: Das Quadrat einer Zahl ist nicht negativ. Hat sich der Rechner verrechnet?

14 Ein zweites Beispiel Wir sehen uns noch ein Beispiel in Java an: public class Mult02 { public s t a t i c void main ( S t r i n g [ ] args ) { i n t z = 256*256*256* ; System. out. p r i n t l n ( z * z ) ; } } Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 8

15 Ein zweites Beispiel Wir sehen uns noch ein Beispiel in Java an: public class Mult02 { public s t a t i c void main ( S t r i n g [ ] args ) { i n t z = 256*256*256* ; System. out. p r i n t l n ( z * z ) ; } } Ausgabe: 1 Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 8

16 Ein zweites Beispiel Wir sehen uns noch ein Beispiel in Java an: public class Mult02 { public s t a t i c void main ( S t r i n g [ ] args ) { i n t z = 256*256*256* ; System. out. p r i n t l n ( z * z ) ; } } Ausgabe: 1 Hat sich der Rechner schon wieder verrechnet? Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 8

17 Ariane-Rakete Der Film zeigte den Start bzw. Absturz einer Ariane-Rakete. Wikipedia: The launch ended in failure due to an error in the software design caused by inadequate protection from integer overflow. This resulted in the rocket veering off its flight path 37 seconds after launch, beginning to disintegrate under high aerodynamic forces, and finally self-destructing by its automated flight termination system. The failure has become known as one of the most infamous software bugs in history. The failure resulted in a loss of more than US $ 370 million. Es war also im Prinzip der gleiche Fehler, den wir eben zweimal gesehen hatten. Jetzt sehen wir uns an, wie es zu solchen Fehlern kommen kann! Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 9

18 Dualzahlen: Darstellung 12 = = = = (1100) = = = = ( ) 2 Außer zur Basis 2 werden auch andere Basen verwendet. Beispiel: 60 = (74) 8 = (3, C) 16 (Oktal- und Hexadezimalzahlen) Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 10

19 Dualzahlen: Speicherung Computer speichern Zahlen meistens als Dualzahlen. Jede Null und jede Eins wird durch ein eigenes Bit repräsentiert. Java: Der Datentyp int soll zum Rechnen mit ganzen Zahlen, d. h. mit einigen Elementen der Menge Z = {..., 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5,...} verwendet werden. Eine Zahl vom Typ int wird durch 32 Bits gespeichert. Deshalb können höchstens 2 32 = Zahlen zum Typ int gehören. Java deckt damit den Bereich von 2 31 = bis = ab. Die Zahl wird maxint genannt. Das Ergebnis der Multiplikation ist Diese Zahl ist größer als maxint und kann daher nicht verarbeitet werden. Das obige Programm hat sich also schon bei einer einzigen Multiplikation um ( ) = , d. h. um 17 Milliarden 179 Millionen 869 Tausend 184, verrechnet.

20 Dualzahlen: Speicherung Es gibt verschiedene Möglichkeiten, ganze Zahlen als Dualzahlen zu speichern. Eine sehen wir uns an, das. sog. Zweierkomplement: maxint: = minint: = Es geht bei los. In jedem Schritt geht es um eins weiter. So macht es zum Beispiel Java. Für den Datentyp int werden 32 Bits benutzt.

21 Dualzahlen: Speicherung Zugegeben: In Java gibt es den Datentyp long, der größere Zahlen verarbeiten kann. Der Typ nimmt 64 Bits. Aber auch für diesen Datentyp gibt es eine Maximalzahl. Warum verwenden viele Rechner nicht ein Bit als Vorzeichen? Dann hätte die Zahl 0 zwei Darstellungen. Dann müssten viel mehr Prüfungen durchgeführt werden. Nicht alle Programmiersprachen behandeln Zahlen gleich. Es kommt sogar vor, dass eine Programmiersprache Zahlen auf verschiedenen Rechnern unterschiedlich bearbeitet. Computeralgebrasysteme, zum Beispiel Maple, behandeln Zahlen anders:» *123456; » z:=256*256*256* ; z:= » z*z;

22 Wertebereiche Die folgende Tabelle gibt die Wertebereiche der ganzahligen Typen int und long sowie der Gleitkommatypen float und double an: Typ: Wertebereich: int: = long: = float: ± double: ± Gleitkommatypen können also viel größere Zahlen bearbeiten. Jetzt sehen wir uns einen Gleitkommatypen an. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 14

23 Gleitkommazahlen können größere Werte verarbeiten! Ein Java-Beispiel: double a = 1. 0 / 3. 0, b = a 10.0, c ; i f ( a == b ) c = 0; else c = 1 / ( a b ) ; System. out. p r i n t f ( " %20.5 f%n ", c ) ; Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 15

24 Gleitkommazahlen können größere Werte verarbeiten! Ein Java-Beispiel: double a = 1. 0 / 3. 0, b = a 10.0, c ; i f ( a == b ) c = 0; else c = 1 / ( a b ) ; System. out. p r i n t f ( " %20.5 f%n ", c ) ; Ausgabe: Java sagt also: - 1 Billiarde 637 Billionen 672 Milliarden 591 Millionen 771 Tausend und 89,5 Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 15

25 Gleitkommazahlen können größere Werte verarbeiten! Ein Java-Beispiel: double a = 1. 0 / 3. 0, b = a 10.0, c ; i f ( a == b ) c = 0; else c = 1 / ( a b ) ; System. out. p r i n t f ( " %20.5 f%n ", c ) ; Ausgabe: Java sagt also: - 1 Billiarde 637 Billionen 672 Milliarden 591 Millionen 771 Tausend und 89,5 korrekter Wert: 0 Kann der Rechner schon wieder nicht rechnen? Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 15

26 Dezimalzahlen: Rationale Zahlen Die Dezimalbruchentwicklung von rationalen Zahlen, d. h. von Elementen aus Q, ist periodisch: 17 4 = 4, = 4,250 = 4, = 2, = 2, Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 16

27 Dezimalzahlen: Rationale Zahlen Die Dezimalbruchentwicklung von rationalen Zahlen, d. h. von Elementen aus Q, ist periodisch: 17 4 = 4, = 4,250 = 4, = 2, = 2, Die Dezimalbruchentwicklung von irrationalen Zahlen, d. h. von Elementen aus R Q, ist nicht periodisch: 2 = 1, π = 3, e = 2, Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 16

28 Dualzahlen: Rationale Zahlen Die gleichen Aussagen gelten für Dualzahlen: 1 2 = 0, = 0,50 = (0,10) 2 = (0,1) = 3, = 3,750 = (11,110) 2 = (11,11) = 0,1 = (0, ) 2 = (0,00011) = 0,2 = (0, ) 2 = (0,0011) 2 2 = 1, = (10, )2 π = 3, = (11, ) 2 e = 2, = (10, ) 2 Wenn also endlich viele Bits zur Speicherung von rationalen Zahlen in der Dualzahldarstellung benutzt werden, dann kann also nicht einmal die Zahl 0,1 korrekt gespeichert werden.

29 Wie werden rationale Zahlen gespeichert? Die Gleitkommadarstellung ist eine Methode zur näherungsweisen Darstellung von reellen Zahlen auf Rechenanlagen. Man spricht von Pseudoarithmetik: Es lassen sich nur endlich viele Zahlen darstellen. Für sie gelten die bekannten Rechenregeln im Allgemeinen nicht. Inbesondere gibt es Probleme bei der Summe von Zahlen unterschiedlicher Größenordnung (x + y = x, falls x >> y, y muss nicht 0 sein), der Differenz von nahezu gleich großen Zahlen (Auslöschung, s. obiges Beispiel) und dem Test von Zahlen auf Gleichheit (ein Beispiel sehen wir gleich). Bei fast jeder Operation einlesen, berechnen,... entstehen Rundungsfehler. Die Gleitkommadarstellung sehen wir uns kurz an. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 18

30 Gleitkommadarstellung 234, 5678 = 0, Vorzeichen: Mantisse: Exponent: 3 Für Dualzahlen wird es analog gemacht. Als Vorkommastelle wird aber typisch die erste 1 verwendet. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 19

31 Gleitkommadarstellung Wir betrachten ein Beispiel für Dualzahlen: Die Zahl +0,2 hat die Darstellung +0, = +0,0011. Normalisiert ergibt dies: +0, = +0, oder +1, = +1, Vorzeichen: + Mantisse: Exponent: -3 Auf 6 Nachkommastellen gerundet ergibt dies: 0, Zurückkonvertiert: 0, = = 0, Der Test 0,2 = 0, wird daher bei einer Speicherung von nur 6 binären Nachkommastellen leider den Wert true liefern. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 20

32 Gleitkommadarstellung: Speicherung von Werten Java verwendet die beiden IEEE-754-Fließkommatypen für seine Datentypen float und double. float-zahlen werden durch 32 Bits dargestellt. double-zahlen werden durch 64 Bits dargestellt. Die Aufteilung erfolgt folgendermaßen: float double Vorzeichenbit 1 1 Exponent 8 11 Mantisse Anzahl der Bits Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 21

33 Gleitkommadarstellung: Speicherung von float-werten Die interne Darstellung einer Gleitkommazahl vom Typ float in einem 32-Bit-Wort nach dem IEEE-Standard sieht wie folgt aus: V E M Das Vorzeichen V wird durch 1 Bit gespeichert. Der Exponententeil E wird durch 8 Bits dargestellt und liegt im Bereich von 0 bis 255. Die Werte E = 0 und E = 255 sind für spezielle Zahlen (Null, denormalisierte Werte, Unendlich, Not-a-Number) reserviert. Der Mantissenteil M beansprucht 23 Bits. Im Normalfall, das heißt mit Ausnahme der speziellen Zahlen, ist M der Anteil der Mantisse nach dem Dezimalpunkt. Vor dem Dezimalpunkt steht eine 1, die nicht abgespeichert wird. Man sagt, die Mantisse sei normalisiert. Im normalisierten Fall, das heißt 1 E 254, besitzt eine Gleitkommazahl mit dem Vorzeichen V, dem Exponententeil E und dem Mantissenteil M den folgenden Wert: ( 1) V 1.M 2 E 127 Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 22

34 Gleitkommadarstellung: Speicherung von float-werten Durch den Ausdruck wird die Zahl ( 1) V 1.M 2 E 127 0, 2 = +1, als float-wert also wie folgt gespeichert: Vorzeichen: 1 Bit: 0 ( 1) 0 = 1 Exponent: 8 Bits: = Mantisse: 23 Bits: s. oben So sehen die 32 Bits aus: Das letzte Bit wurde aufgerundet: Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 23

35 Gleitkommadarstellung: Speicherung von Werten Gleitkommazahlen sind nicht gleichverteilt. So kann man es sich vorstellen: 0 Es gibt also eine kleinste positive und eine größte negative Gleitkommazahl. Wir haben gesehen, wie ganze Zahlen und rationale Zahlen typischerweise gespeichert werden. Durch die Einschränkung auf größte und kleinste Werte sowie die Genauigkeit kann es zu großen Rechenfehlern führen. Typischerweise bieten Programmiersprachen die Möglichkeit an, die Darstellung auszugeben. Gleich sehen wir es uns etwas an, wie mit diesen Speicherungen gerechnet wird. Andere Systeme, zum Beispiel Computer-Algebra-Systeme, können genauer rechnen als viele Programmiersprachen. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 24

36 Addition Wieviel ist 53+91? 53 = = (110101) 2 91 = = ( ) ( ) 2 = = 144 Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 25

37 Addition Diese Seite habe ich aus dem Informatik-Handbuch von P. Rechenberg und G. Pomberger abgeschrieben: Die Summe zweier einstelliger Dualzahlen kann durch ein Schaltnetz mit logischen Operationen implementiert werden: Summe: Übertrag: a b a XOR b a UND b Solch ein Schaltnetz heißt Halbaddierer. Sollen zwei mehrstellige Dualzahlen addiert werden, wird der Halbaddierer für die letzte Stelle verwendet. Bei den anderen Stellen muss evtl. ein Übertrag berücksichtigt werden. Die Subtraktion, die Multiplikation und die Division lassen sich mithilfe der Addition realisieren.

38 Subtraktion Wie kann man die Subtraktion a b auf die Addition zurückführen? ergänzen die Ziffern von 14 auf (Komplement von 14) Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 27

39 Subtraktion Wie kann man die Subtraktion a b auf die Addition zurückführen? ergänzen die Ziffern von 14 auf (Komplement von 14) Beweis: Komplement: b = 10 k 1 b, 10 k > b, das kleinste solche k. b = 10 k 1 b a b = a (10 k 1 b) = a + b 10 k + 1 (s. obiges Beispiel) Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 27

40 Subtraktion Diesen Algorithmus darf man auch für Dualzahlen verwenden: = 21: ist das Komplement von Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 28

41 Subtraktion Diesen Algorithmus darf man auch für Dualzahlen verwenden: = 21: ist das Komplement von Die Subtraktion von Dualzahlen kann also auf die Addition und das Umwandeln von Bits (logisches NOT) zurückgeführt werden. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 28

42 Was haben wir bis jetzt gesehen? Computer können etliche Rechenaufgaben lösen. Sie speichern Zahlen als Dualzahlen. Die Addition kann auf logische Operationen zurückgeführt werden. Andere Operationen, z. B. die Subtraktion, kann auf die Addition, also auch auf logische Operationen zurückgeführt werden. Dabei können es Probleme geben: Größte, kleinste Zahlen, Genauigkeit, Vergleich, Operationen,... Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 29

43 Multiplikation Wie vorhin gesehen gilt: ( ) 2 = = = 144 Die Verdoppelung und Halbierung ist für Dualzahlen einfach. Eine 0 muss angefügt bzw. gelöscht werden: 1 Bit-Shift nach links bzw. rechts. Die Multiplikation kann also auf Bit-Shifts und die Addition zurückgeführt werden.

44 Division 13 8 = = = (1,101) 2 = 1, = (1101) 2 8 = (1000) : = 1, Die Subtraktion bei der Division kann auf die Addition zurückgeführt werden.

45 Fazit Wir haben also gesehen, dass die Bedienung von Rechnern zu schlimmen Fehlern führen kann. Wenn man mit einem Rechner arbeitet, sollte man sich also die Sprache und die Rechnung genau anschauen erschien das Buch: Christian Hesse: Wer falsch rechnet, den bestraft das Leben. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 32

46 Gibt es weitere Möglichkeiten für Fehler? Ja, dafür gibt es viele. Nur ein Beispiel: Ein Seitenairbag darf nicht eingeschaltet werden, wenn ein Baby auf dem Beifahrersitz sitzt. Richtige Reihenfolge: airbag = ein; if (kindersitz == belegt) { airbag = aus; } Falsche Reihenfolge: if (kindersitz == belegt) { airbag = aus; } airbag = ein; Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 33

47 Gibt es weitere Möglichkeiten für Fehler? Ja, dafür gibt es viele. Nur ein Beispiel: Ein Seitenairbag darf nicht eingeschaltet werden, wenn ein Baby auf dem Beifahrersitz sitzt. Richtige Reihenfolge: airbag = ein; if (kindersitz == belegt) { airbag = aus; } Falsche Reihenfolge: if (kindersitz == belegt) { airbag = aus; } airbag = ein; 1999 wurde dieser Fehler gemacht und führte zum Tode von einem Baby. Der Fehler trat nur in der Software eines speziellen Fahrzeugmodells auf. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 33

48 Der intuitive Algorithmusbegriff Gegeben sei ein Problem. Eine Handlungsvorschrift, deren mechanisches Befolgen ohne Verständnis des Problems zur Lösung des Problems führt, wird Algorithmus genannt. Etwas präziser: Ein Algorithmus ist eine wohldefinierte Rechenvorschrift, die eine (evtl. leere) Menge von Größen als Eingabe verwendet und eine Menge von Größen als Ausgabe erzeugt. Ein Algorithmus ist also eine Abfolge von Rechenschritten, die die (evtl. leere) Eingabe in eine Ausgabe umwandelt. Der Algorithmus muss durch einen endlichen Text in einer wohldefinierten Sprache beschrieben sein. Die Objekte der Berechnung müssen klar sein. Die Operationen müssen mechanisch ausführbar sein. Die Reihenfolge der Operationen muss feststehen. Ein Problem, für dessen Lösung ein Algorithmus existiert, heißt berechenbar. In der Definition wird nicht gefordert, dass die Abfolge der Rechenschritte stets terminiert (Halteproblem). intuitiv = nicht erlernt

49 Churchsche These Gibt es für das Problem einen Algorithmus? Berechenbarkeit/Entscheidbarkeit. Zur Beantwortung dieser Frage wird eine formale Definition des Algorithmenbegriffs benötigt. Alonzo Church stellte 1936 die folgende These auf, die bisher nicht widerlegt wurde. Church sche These: Der intuitive Algorithmenbegriff wird durch das Modell der Turing-Maschine adäquat definiert. Die Church sche These kann natürlich nicht bewiesen werden, da sie den intuitiven Algorithmenbegriff verwendet. Über intuitive Dinge können keine formalen Beweise geführt werden. Es wurde gezeigt, dass viele formale Algorithmusdefinitionen äquivalent sind. Daher könnte in der Church schen These die Turing-Maschine durch etliche andere formale Definitionen des Algorithmus ersetzt werden. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 35

50 Einige formale Definitionen Es gibt formale Definitionen für den Algorithmus. Einige sind: Turing-Maschine λ-kalkül Markov-Algorithmus Sprache der While-Programme partiell-rekursive (µ-rekursive) Funktionen Registermaschine Post-Kalkül... Man kann beweisen, dass diese Begriffe gleichmächtig sind. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 36

51 Eine formale Definition: Markov-Algorithmus Ein Markov-Algorithmus M = (Σ, P ) besteht aus einem endlichen Alphabet Σ und einer endlichen Menge P von sortierten Ableitungsregeln für Wörter über Σ. Ein Alphabet ist eine Menge von Zeichen. Die Menge der Wörter über Σ bezeichnet man mit Σ. Eine Ableitungsregel v w ist ein Paar (v, w) P Σ Σ. Außerdem ist eine Teilmenge P t P von terminalen Ableitungsregeln gegeben. Die Teilmenge P t der terminalen Ableitungsregeln kann auch leer sein. Ein Markov-Algorithmus sieht die Eingabe e eines Algorithmus als Wort über Σ an, d. h. e Σ. Die Ausgabe wird folgendermaßen durch Anwendungen von Ableitungsregeln berechnet: Es wird die erste Ableitungsregel v w der sortierten Menge P ausgewählt, deren Wort v ein Teilwort des zu bearbeitenden Wortes ist. Das am weitesten links stehende Vorkommen von v wird durch w ersetzt. Dieser Schritt wird wiederholt, bis eine Regel aus P t angewendet wird oder keine Regel aus P mehr anwendbar ist. Das Wort, das nicht mehr verändert wird, ist die Ausgabe a der Eingabe e. Ein Ableitungsschritt wird mit bezeichnet. λ ist das leere Wort. Im folgenden Beispiel zeigen wir, dass ein Markov-Algorithmus zwei Zahlen multiplizieren kann.

52 Ein Beispiel für den Markov-Algorithmus: Multiplikation Gegeben sei der Markov-Algorithmus M = (Σ, P ) mit Σ = {a, A, B, #} und der folgenden Menge der Ableitungsregeln: P Ba ab Aa aba A λ a# #A #a # # λ B a Zudem setzen wir P t =. M übersetzt das Eingabewort a i #a j mit i, j N in das Ausgabewort a k mit k = i j. Als Beispiel berechnen wir das Produkt 2 3: aa#aaa a#aaaa a#abaaa a#ababaa a#aabbaa a#aabbaba a#aababba a#aaabbba a#aaabbb... #aaabbbbbb... #BBBBBB BBBBBB abbbbb... aaaaaa Es gilt also 2 3 = 6. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 38

53 Berechenbarkeit: Satz von Rice Es sei M 0, M 1, M 2,... eine Aufzählung aller Algorithmen. ϕ 0, ϕ 1, ϕ 2,... seien die zugehörigen berechneten Funktionen. Definition: Eine Menge von Indizes J N respektiert Funktionen, wenn für alle i, j N die Aussage i J, ϕ i = ϕ j j J gilt. Satz: (Henry Gordon Rice, 1953) Es sei J N eine Menge von Indizes, die Funktionen respektiert. Dann gilt J ist entscheidbar J = oder J = N. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 39

54 Satz von Rice: Beispiele Offenbar respektieren die folgenden Indexmengen Funktionen. 1. A = {i 7 liegt im Wertebereich von ϕ i }, 2. B = {i ϕ i ist total}, 3. C = {i ϕ i ist überall undefiniert}, 4. D = {i ϕ i = ξ} für eine gegebene partielle Funktion ξ N N. Da die Mengen A, B, C und D nicht leer und ungleich N sind sowie Funktionen respektieren, sind die folgenden Probleme nicht entscheidbar. 1. Gibt ein beliebiger Algorithmus für eine geeignete Eingabe die Zahl 7 aus? 2. Hält ein beliebiger Algorithmus bei jeder Eingabe? 3. Hält ein beliebiger Algorithmus bei keiner Eingabe? 4. Berechnet ein beliebiger Algorithmus die gegebene partielle Funktion ξ N N? Die Definition und der Satz können auf n-stellige Indexmengen J N n, n 2, übertragen werden. Man erhält beispielsweise, dass die Menge {(i, j) ϕ i = ϕ j } Funktionen respektiert und daher nicht entscheidbar ist. Also ist das Äquivalenzproblem für Algorithmen nicht entscheidbar. Es ist also so gut wie kein Problem algorithmisch lösbar.

55 Dirk W. Hoffmann: Grenzen der Mathematik Die Tragweite des Satzes von Rice ist enorm! In einem Rundumschlag macht er die Hoffnung zunichte, irgendeine nichttriviale funktionale Eigenschaft über Turing-Maschinen algorithmisch entscheiden zu können. Die Grenzen, die uns dieser Satz auferlegt, reichen tief in die Praxis der realen Software-Entwicklung hinein. So folgt daraus unmittelbar, dass es keinen Algorithmus geben kann, der für ein beliebiges Programm verifiziert, ob es sich entsprechend seiner Spezifikation verhält. Selbst so einfache Probleme wie die Frage nach der Existenz von Endlosschleifen entziehen sich einer algorithmischen Lösung. Seine Allgemeinheit macht den Satz von Rice zu einer der wertvollsten Aussagen der Berechenbarkeitstheorie. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 41

56 Kann ein Rechner wenigstens jede Rechenaufgabe lösen? Definition Eine lineare diophantische Gleichung mit zwei Unbekannten x und y ist eine Gleichung der Form ax + by = c (*) für gegebene ganze Zahlen a, b, c. Gesucht werden ganze Zahlen x und y, die die Gleichung erfüllen. Satz Die Gleichung (*) besitzt genau dann eine Lösung, wenn ggt(a, b) c gilt. Beispiel Zum Beispiel besitzt die Gleichung 36x + 52y = 24 eine ganzzahlige Lösung, weil ggt(36, 52) = 4 ein Teiler von 24 ist: = 24. Den größten gemeinsamen Teiler zu berechnen ist einfach: Der euklidsche Algorithmus. Wie solch eine Lösung gefunden wird, lernen Sie im 1. Semester.

57 Kann ein Rechner jede Rechenaufgabe lösen? Definition Eine allgemeine diophantische Gleichung mit den Unbekannten x 1, x 2,..., x n ist eine Gleichung der Form p(x 1, x 2,..., x n ) = 0, wobei p ein ganzzahliges Polynom mit n Variablen ist. Problem Gibt es einen Algorithmus, der entscheiden kann, ob eine allgemeine diophantische Gleichung ganzzahlige Lösungen besitzt? Dies ist das berühmte zehnte Hilbertsche Problem aus dem Jahr Fakt Solch einen Algorithmus gibt es nicht bewies dies Yuri Matijasevič. Es gibt also sehr sehr... sehr viele Probleme, die mit keinem Computer gelöst werden können!

58 Rechnen mit einem Rechner Wir wissen jetzt also: Computer können etliche Rechenaufgaben lösen. Können dabei aber auch Probleme haben: Größte, kleinste Zahlen, Genauigkeit, Vergleich, Operationen,... Es gibt auch Rechenaufgaben, die nicht algorithmisch gelöst werden können. Es gibt auch sehr viele andere Aufgaben, für die kein Algorithmus existiert. Wer mit einem Computer arbeitet, sollte sich also ansehen, wie er arbeitet. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 44

59 Beispiel: Der euklidische Algorithmus in fünf Programmiersprachen Java (objektorientierte Sprache) C-Shell (Skriptsprache) s t a t i c i n t ggt ( i n t a, i n t b ) { i n t r ; while ( b!= 0) { r = a % b ; a = b ; b = r ; } return a ; } Prolog (logische Sprache) ggt (A, 0,A ). ggt (A, B, Z ) : U is A mod B, ggt (B,U, Z ). Haskell (funktionale Sprache) ggt : : Integer > Integer > Integer ggt a b b == 0 = a otherwise = ggt b ( a mod b ) set a =... ; set b =... while ( $b!= r = $a % $b set a = $b set b = $r end echo $a C (imperative Sprache) i n t ggt ( i n t a, i n t b ) { i n t r ; while ( b!= 0) { r = a % b ; a = b ; b = r ; } return a ; }

60 Herzlichen Dank für Ihre Aufmerksamkeit! Wir freuen uns, dass Sie sich für Braunschweig als Studienort entschieden haben und begrüßen Sie als neue Student(inn)en. Für Ihr Studium wünschen wir Ihnen viel Erfolg. Vorkurs WS 2014/2015 Werner Struckmann Wie rechnet ein Rechner? Seite 46

Das Studium der Informatik in Braunschweig

Das Studium der Informatik in Braunschweig Das Studium der Informatik in Braunschweig Vorkurs SS 2012 W. Struckmann, Ch. Peltz, 23. März 2012 Berufsbild des Informatikers Bologna-Prozess Informatik-Studium in Braunschweig Etwas Informatik aus den

Mehr

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013 Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013 Im folgenden soll ein Überblick über die in Computersystemen bzw. Programmiersprachen verwendeten Zahlen inklusive ausgewählter Algorithmen (in

Mehr

Grundstrukturen: Speicherorganisation und Zahlenmengen

Grundstrukturen: Speicherorganisation und Zahlenmengen Zahlendarstellung Zahlen und ihre Darstellung in Digitalrechnern Grundstrukturen: Speicherorganisation und Zahlenmengen Linear organisierter Speicher zu einer Adresse gehört ein Speicher mit 3 Bit-Zellen

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen Algebra und Diskrete Mathematik, PS3 Sommersemester 2016 Prüfungsfragen Erläutern Sie die Sätze über die Division mit Rest für ganze Zahlen und für Polynome (mit Koeffizienten in einem Körper). Wodurch

Mehr

Teil II. Schaltfunktionen

Teil II. Schaltfunktionen Teil II Schaltfunktionen 1 Teil II.1 Zahlendarstellung 2 b-adische Systeme Sei b IN mit b > 1 und E b = {0, 1,..., b 1} (Alphabet). Dann ist jede Fixpunktzahl z (mit n Vorkomma und k Nachkommastellen)

Mehr

Technische Informatik I

Technische Informatik I Technische Informatik I Vorlesung 2: Zahldarstellung Joachim Schmidt jschmidt@techfak.uni-bielefeld.de Übersicht Geschichte der Zahlen Zahlensysteme Basis / Basis-Umwandlung Zahlsysteme im Computer Binärsystem,

Mehr

Lösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1

Lösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 Lösungen: zu 1. a.) 0 0 1 1 b.) 1 1 1 1 c.) 0 1 1 0 + 1 1 0 0 + 0 0 1 1 + 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 vorzeichenlose Zahl: 15 vorzeichenlose Zahl: 18 vorzeichenlose Zahl: 13 Zweierkomplement: - 1

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Zahlen in Haskell Kapitel 3

Zahlen in Haskell Kapitel 3 Einführung in die Funktionale Programmiersprache Haskell Zahlen in Haskell Kapitel 3 FH Wedel IT-Seminar: WS 2003/04 Dozent: Prof. Dr. Schmidt Autor: Timo Wlecke (wi3309) Vortrag am: 04.11.2003 - Kapitel

Mehr

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

Das Rechnermodell - Funktion

Das Rechnermodell - Funktion Darstellung von Zahlen und Zeichen im Rechner Darstellung von Zeichen ASCII-Kodierung Zahlensysteme Dezimalsystem, Dualsystem, Hexadezimalsystem Darstellung von Zahlen im Rechner Natürliche Zahlen Ganze

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Kapitel 2. Zahlensysteme, Darstellung von Informationen Kapitel 2 Zahlensysteme, Darstellung von Informationen 1 , Darstellung von Informationen Ein Computer speichert und verarbeitet mehr oder weniger große Informationsmengen, je nach Anwendung und Leistungsfähigkeit.

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Zahldarstellung und Rundungsfehler Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Überblick 2 Darstellung ganzer Zahlen,

Mehr

2 Rechnen auf einem Computer

2 Rechnen auf einem Computer 2 Rechnen auf einem Computer 2.1 Binär, Dezimal und Hexadezimaldarstellung reeller Zahlen Jede positive reelle Zahl r besitzt eine Darstellung der Gestalt r = r n r n 1... r 1 r 0. r 1 r 2... (1) := (

Mehr

Erzeugende Funktionen

Erzeugende Funktionen Hallo! Erzeugende Funktionen sind ein Mittel um lineare Rekursionen schneller ausrechnen zu können. Es soll die Funktion nicht mehr als Rekursion angeschrieben werden, sondern so, dass man nur n einsetzen

Mehr

Lösung zur Klausur zu Krypographie Sommersemester 2005

Lösung zur Klausur zu Krypographie Sommersemester 2005 Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,

Mehr

Wie viel Mathematik kann ein Computer?

Wie viel Mathematik kann ein Computer? Wie viel Mathematik kann ein Computer? Die Grenzen der Berechenbarkeit Dr. Daniel Borchmann 2015-02-05 Wie viel Mathematik kann ein Computer? 2015-02-05 1 / 1 Mathematik und Computer Computer sind schon

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Das Maschinenmodell Datenrepräsentation

Das Maschinenmodell Datenrepräsentation Das Maschinenmodell Datenrepräsentation Darstellung von Zahlen/Zeichen in der Maschine Bit (0/1) ist die kleinste Informationseinheit Größere Einheiten durch Zusammenfassen mehrerer Bits, z.b. 8 Bit =

Mehr

Prof. S. Krauter Dezimalbruchdarstellung rationaler Zahlen DezDarst.doc. Über die Darstellung von rationalen Zahlen als Dezimalbrüche.

Prof. S. Krauter Dezimalbruchdarstellung rationaler Zahlen DezDarst.doc. Über die Darstellung von rationalen Zahlen als Dezimalbrüche. 1 Prof. S. Krauter Dezimalbruchdarstellung rationaler Zahlen DezDarst.doc Über die Darstellung von rationalen Zahlen als Dezimalbrüche. Anmerkung: Die Beschränkung auf die Dezimaldarstellung ist unnötig.

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen: Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der

Mehr

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Großübung 1: Zahlensysteme Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Lehrender: Dr. Klaus Richter, Institut für Informatik; E-Mail: richter@informatik.tu-freiberg.de

Mehr

Differenzengleichungen. und Polynome

Differenzengleichungen. und Polynome Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck Technikerstr. 13/7, A-600 Innsbruck, Österreich franz.pauer@uibk.ac.at 1 Einleitung Mit linearen Differenzengleichungen

Mehr

Information in einem Computer ist ein

Information in einem Computer ist ein 4 Arithmetik Die in den vorhergehenden Kapiteln vorgestellten Schaltungen haben ausschließlich einfache, Boole sche Signale verarbeitet. In diesem Kapitel wird nun erklärt, wie Prozessoren mit Zahlen umgehen.

Mehr

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13 Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren,

Mehr

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer? Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

9.2 Invertierbare Matrizen

9.2 Invertierbare Matrizen 34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist

Mehr

Numerisches Programmieren, Übungen

Numerisches Programmieren, Übungen Technische Universität München SoSe 0 Institut für Informatik Prof Dr Thomas Huckle Dipl-Math Jürgen Bräckle Nikola Tchipev, MSc Numerisches Programmieren, Übungen Musterlösung Übungsblatt: Zahlendarstellung,

Mehr

2. Negative Dualzahlen darstellen

2. Negative Dualzahlen darstellen 2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt

Mehr

2.0 Zahlendarstellung, Konvertierungsalgorithmen und arithmetische Algorithmen

2.0 Zahlendarstellung, Konvertierungsalgorithmen und arithmetische Algorithmen 2.0 Zahlendarstellung, Konvertierungsalgorithmen und arithmetische Algorithmen Ziele dieses Kapitels Kennenlernen wesentlicher Zahlensysteme und die Konvertierung von Zahlen zwischen unterschiedlichen

Mehr

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB.

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen. while-schleifen. Zahlarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen In der letzten Sitzung haben wir kennengelernt, wie wir Zahlen mit Operationen

Mehr

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten

Mehr

D A T E N... 1 Daten Micheuz Peter

D A T E N... 1 Daten Micheuz Peter D A T E N.....! Symbole, Alphabete, Codierung! Universalität binärcodierter Daten! Elementare Datentypen! Speicherung binärcodierter Daten! Befehle und Programme! Form und Bedeutung 1 Daten Micheuz Peter

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/10. 14.

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/10. 14. Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Wintersemester 2009/0 4. Januar 200 Instabilitäten

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Repräsentation von Daten Repräsentation natürlicher Zahlen (Wiederholung) Repräsentation von Texten Repräsentation ganzer Zahlen Repräsentation rationaler Zahlen Repräsentation

Mehr

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen Kapitel 1: rekursive Mengen 1 rekursive Mengen 1.1 Definition 1.1.1 informal Eine Menge heißt rekursiv oder entscheidbar, wenn ihre charakteristische Funktion berechenbar ist. 1.1.2 formal Eine Menge A

Mehr

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 2 Grundlegende Konzepte 1 2.1 Zahlensysteme Römisches System Grundziffern I 1 erhobener Zeigefinger V 5 Hand mit 5 Fingern X 10 steht für zwei Hände L 50 C 100 Centum heißt Hundert D 500 M 1000

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Lösungen Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Kapitel I: Mengen Aufgabe

Mehr

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2 Leseprobe Taschenbuch Mikroprozessortechnik Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-4331- Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-4331-

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

Richtig Rechnen. // Program: fahrenheit.c // Convert temperatures from Celsius to Fahrenheit.

Richtig Rechnen. // Program: fahrenheit.c // Convert temperatures from Celsius to Fahrenheit. Fliesskommazahlen Richtig Rechnen // Program: fahrenheit.c // Convert temperatures from Celsius to Fahrenheit. #include int main() { // Input std::cout

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!

Mehr

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14 Zahlensysteme Inhalt: 1 Dualsystem 1 1.1 Dualzahlen mit Vorzeichen 4 2 Hexadezimalsystem 8 2.1 Hexadezimalzahlen mit Vorzeichen 10 3 Oktalsystem 13 4 Zahlenring 14 Definition: Ein polyadisches Zahlensystem

Mehr

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10 Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...

Mehr

Lineare Abhängigkeit

Lineare Abhängigkeit Lineare Abhängigkeit Vorbemerkung. Es sei X eine Menge. Eine Familie von Elementen von X ist eine Abbildung I X, i x i. I heißt dabei Indexmenge. Man verwendet dabei oft die Schreibweise (x i ) oder (x

Mehr

Wozu wird ein Rechensystem genutzt? Informationsverarbeitung Information. Information. Interpretation, Abstraktion. Repräsentation.

Wozu wird ein Rechensystem genutzt? Informationsverarbeitung Information. Information. Interpretation, Abstraktion. Repräsentation. Wozu wird ein Rechensystem genutzt? Wunsch: Informationsverarbeitung Information Repräsentation Daten Informationsverarbeitung Datenverarbeitung Wirklichkeit: Datenverarbeitung Information Daten Interpretation,

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

SWE1 / Übung 2 (19.10.2011)

SWE1 / Übung 2 (19.10.2011) SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn

Mehr

Fehler in numerischen Rechnungen

Fehler in numerischen Rechnungen Kapitel 1 Fehler in numerischen Rechnungen Analyse numerischer Rechnungen: - Welche möglichen Fehler? - Einfluss auf Endergebnis? - Nicht alles in der Comp.Phys./Numerical Analysis dreht sich um Fehler

Mehr

Primitive Datentypen und Felder (Arrays)

Primitive Datentypen und Felder (Arrays) Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

Mehr

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik Kapitel 1 Zahlendarstellung Prof. Dr. Dirk W. Hoffmann Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik Zahlensystemkonvertierung Motivation Jede nichtnegative Zahl z lässt

Mehr

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt: Informatik 13: Gierhardt Theoretische Informatik III Berechenbarkeit Nicht-berechenbare Funktionen Nach der Church-Turing-These kann alles, was berechenbar ist, mit einer Turing-Maschine oder einer While-Maschine

Mehr

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Technische Grundlagen der Informatik Kapitel 8 Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Kapitel 8: Themen Zahlensysteme - Dezimal - Binär Vorzeichen und Betrag Zweierkomplement Zahlen

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Brückenkurs Mathematik

Brückenkurs Mathematik Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 1 Logik,, Doris Bohnet Universität Hamburg - Department Mathematik Mo 6.10.2008 Zeitplan Tagesablauf: 9:15-11:45 Vorlesung Audimax I 13:00-14:30 Übung Übungsräume

Mehr

Zahlensysteme. Formale Methoden der Informatik WiSe 2010/2011 Folie 1 (von 71)

Zahlensysteme. Formale Methoden der Informatik WiSe 2010/2011 Folie 1 (von 71) Zahlensysteme Formale Methoden der Informatik WiSe / Folie (von 7) Teil I: Zahlensysteme. Einführung und Zahlensysteme. Zahlensysteme / Algorithmik. Zahlendarstellung im Rechner. Gleitkommazahlen / Fließpunktzahlen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Prof. Dr. Rudolf Berrendorf Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg URM - Programmierung Dipl.-Inf. Sigrid Weil Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg Einordnung Programmier-Paradigma:

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Mathematik 1 für Informatik Inhalt Grundbegrie

Mathematik 1 für Informatik Inhalt Grundbegrie Mathematik 1 für Informatik Inhalt Grundbegrie Mengen, speziell Zahlenmengen Aussagenlogik, Beweistechniken Funktionen, Relationen Kombinatorik Abzählverfahren Binomialkoezienten Komplexität von Algorithmen

Mehr

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme Grundlagen der Informatik 2 Grundlagen der Digitaltechnik 1. Zahlensysteme Prof. Dr.-Ing. Jürgen Teich Dr.-Ing. Christian Haubelt Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen der Digitaltechnik

Mehr

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Kapitel 3. Natürliche Zahlen und vollständige Induktion Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine

Mehr

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung 1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen,

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Gleitkommaarithmetik Erhöhen der Genauigkeit Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Guard Bit, Round Bit und Sticky Bit Bei der Darstellung der Addition und Multiplikation haben wir

Mehr

Brückenkurs Mathematik

Brückenkurs Mathematik Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 3 Geometrie Doris Bohnet Universität Hamburg - Department Mathematik Mi 8.10.2008 1 Geometrie des Dreiecks 2 Vektoren Länge eines Vektors Skalarprodukt Kreuzprodukt

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Corinne Schenka Vorkurs Mathematik WiSe 2012/13. Die kleineren Zahlbereiche sind jeweils Teilmengen von größeren Zahlbereichen:

Corinne Schenka Vorkurs Mathematik WiSe 2012/13. Die kleineren Zahlbereiche sind jeweils Teilmengen von größeren Zahlbereichen: 2. Zahlbereiche Besonderheiten und Rechengesetze Die kleineren Zahlbereiche sind jeweils Teilmengen von größeren Zahlbereichen: 2.1. Die natürlichen Zahlen * + besitzt abzählbar unendlich viele Elemente

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Mengenlehre. Spezielle Mengen

Mengenlehre. Spezielle Mengen Mengenlehre Die Mengenlehre ist wie die Logik eine sehr wichtige mathematische Grundlage der Informatik und ist wie wir sehen werden auch eng verbunden mit dieser. Eine Menge ist eine Zusammenfassung von

Mehr