Algorithmen und Datenstrukturen (für ET/IT)

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen (für ET/IT)"

Transkript

1 Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München

2 Organisatorisches Nächste Woche keine Vorlesung! Es finden nächste Woche keine Vorlesungen statt! Mittwoch, 31. Oktober 2012: FVV (Fachschaftsvollversammlung) Donnerstag, 1. November 2012: Feiertag (Allerheiligen) Der Übungsbetrieb (Zentralübung, Montag 29. Oktober 2012, sowie die Fragestunden, Freitag, 2. November 2012) findet statt! 2

3 Wiederholung letzte Vorlesung Ganze Zahlen in C, C++ Ganze Zahlen in C, C++ 8 Bits: unsigned char {0,...,255} signed char { 128,...,127} 16 Bits: unsigned short {0,...,65535} signed short { 32768,...,32767} 32 Bits: unsigned long {0,...,2 32 1} signed long { 2 32,...,2 32 1} 64 Bits: unsigned long long {0,...,2 64 1} signed long long { 2 64,...,2 64 1} signed kann weggelassen werden (ausser bei char!) unsigned int und signed int sind je nach System 16, 32 oder 64 Bit 11 3

4 Wiederholung letzte Vorlesung Floating Point Zahlen II 1 Bit 1 Bit Ganze Zahlen in C, C++ 11 Bit 8 Bit 23 Bit 32 Bit float V Exponent E Mantisse M 64 Bit double wissenschaftliche Darstellung mit Basis 2 Ganze Zahlen in C, C++ f =( 1) V (1 + M) 2 E bias 8 Bits: unsigned char {0,...,255} signed char Vorzeichen { 128,...,127} Bit V 16 Bits: unsigned Mantisse short M{0,...,65535} hat immer die Form 1.abc, alsowirderstestelle signed weggelassen short { 32768,...,32767} ( hidden bit ) 32 Bits: unsigned Exponent long {0,...,2 E wird 32 vorzeichenlos 1} abgespeichert, verschoben um signed bias long { 2 32,...,2 32 1} 64 Bits: unsigned long bei 32long bit float: {0,...,2 bias = , 1} bei 64 bit float: bias = 1023 signed long long { 2 64,...,2 64 1} 52 Bit 15 signed kann weggelassen werden (ausser bei char!) unsigned int und signed int sind je nach System 16, 32 oder 64 Bit 11 3

5 Wiederholung letzte Vorlesung Logische Werte und Verknüpfungen 1 Bit Ganze Zahlen in C, C++ Grundrechenarten mit logischen Werten: Konjunktion: : B B B ähnlich zu Multiplikation bei Zahlen Floating Point Zahlen II auch bezeichnet als UND bzw. AND 11 Bit 64 Bit double 1 Bit 8 Bit 23 Bit 32 Bit float Disjunktion: : B B B V Exponent E ähnlich zu Mantisse Addition M bei Zahlen auch bezeichnet als ODER bzw. OR wissenschaftliche Darstellung mit Basis 2 Ganze Zahlen in C, C++ Negation: f =( 1) V : B B 8 Bits: unsigned char {0,...,255} auch bezeichnet (1 + M) als NICHT 2 E bias bzw. NOT signed char Vorzeichen { 128,...,127} Bit V 16 Bits: unsigned Mantisse short M{0,...,65535} hat immer die Form 1.abc, alsowirderstestelle signed weggelassen short { 32768,...,32767} ( hidden bit ) 32 Bits: unsigned Exponent long {0,...,2 E wird 32 vorzeichenlos 1} abgespeichert, verschoben um signed bias long { 2 32,...,2 32 1} 64 Bits: unsigned long bei 32long bit float: {0,...,2 bias = , 1} bei 64 bit float: bias = 1023 signed long long { 2 64,...,2 64 1} 52 Bit Wahrheitstabelle: a b a b a b a b a a signed kann weggelassen werden (ausser bei char!) unsigned int und signed int sind je nach System 16, 32 oder 64 Bit 11 3

6 Wiederholung letzte Vorlesung Logische Werte und Verknüpfungen Grundrechenarten mit logischen Werten: Wahrheitstabelle: Konjunktion: : B B B a b a b ähnlich zu Multiplikation bei Zahlen Floating Point Zahlen II auchlogische bezeichnet als Ausdrücke UND bzw. AND in C, C Bit 11 Bit 52 Bit 64 Bit double 1 Bit 8 Bit 23 Bit logische Variablen: 32 Bit float bool a,b; Disjunktion: : B B B a b a b V Exponent E ähnlich zu Mantisse Addition logische M bei Zahlen Werte: true und false auch bezeichnet Ganze Zahlen in C, C++ NOT als ODER Operator: bzw.!a OR AND Operator: a && b wissenschaftliche Darstellung mit Basis Ganze Zahlen in C, C++ OR Operator: a b Negation: : B B a a f =( 1) V (1 + M) 2 E bias 8 Bits: unsigned char {0,...,255} auch bezeichnet als NICHT bzw. NOT 0 1 Beispiele: 1 0 signed char Vorzeichen { 128,...,127} Bit V ( (2 == 2) && (3 > 1) ) 16 Bits: unsigned Mantisse short M{0,...,65535} hat immer die Form 1.abc, ergibt (true alsowird && erste false), Stellealso false signed weggelassen short { 32768,...,32767} ( hidden bit ) (!(2 == 2) (3 < 1) ) 32 Bits: unsigned Exponent long {0,...,2 E wird 32 vorzeichenlos 1} abgespeichert, ergibt (false verschoben true), umalso true signed bias long { 2 32,...,2 32 1} Kurzform für!(2 == 2) ist (2!= 2) 64 Bits: unsigned long bei 32long bit float: {0,...,2 bias = , 1} bei 64 bit float: bias = 1023 signed long long { 2 64,...,2 64 1} signed kann weggelassen werden (ausser bei char!) unsigned int und signed int sind je nach System 16, 32 oder 64 Bit 11 3

7 Programm heute 1 Einführung 2 Mathematische Grundlagen Mengen Abbildungen Zahldarstellung Boolesche Logik 3 Elementare Datenstrukturen Zeichenfolgen Felder 4

8 Definition Datenstruktur Definition Datenstruktur (nach Prof. Eckert) Eine Datenstruktur ist eine logische Anordnung von Datenobjekten, die Informationen repräsentieren, den Zugriff auf die repräsentierte Information über Operationen auf Daten ermöglichen und die Information verwalten. Zwei Hauptbestandteile: Datenobjekte z.b. definiert über primitive Datentypen Operationen auf den Objekten z.b. definiert als Funktionen 5

9 Primitive Datentypen in C, C++ Natürliche Zahlen, z.b. unsigned short, unsigned long Wertebereich: bei n Bit von 0 bis 2 n 1 Operationen: +, -, *, /, %, <, ==,!=,> Ganze Zahlen, z.b. int, long Wertebereich: bei n Bit von 2 n 1 bis 2 n 1 1 Operationen: +, -, *, /, %, <, ==,!=,> Floating Point Zahlen, z.b. double, float Wertebereich: abhängig von Größe Operationen: +, -, *, /, <, ==,!=,> Logische Werte, bool Wertebereich: true, false Operationen: &&,,!, ==,!= Was ist mit Zeichen und Zeichenfolgen? 6

10 Bits und Bytes Bit 7 Bit 0 1 Byte = 8 Bit Bytes als Maßeinheit für Speichergrössen: 2 10 Bytes = 1024 Bytes = 1 kb, ein kilo Byte (großes B) 2 20 Bytes = 1 MB, ein Mega Byte 2 30 Bytes = 1 GB, ein Giga Byte 2 40 Bytes = 1 TB, ein Tera Byte 2 50 Bytes = 1 PB, ein Peta Byte 2 60 Bytes = 1 EB, ein Exa Byte 7

11 Bits und Bytes Bit 7 Bit 0 1 Byte = 8 Bit Bytes als Maßeinheit für Speichergrössen: 2 10 Bytes = 1024 Bytes = 1 kb, ein kilo Byte (großes B) 2 20 Bytes = 1 MB, ein Mega Byte 2 30 Bytes = 1 GB, ein Giga Byte 2 40 Bytes = 1 TB, ein Tera Byte 2 50 Bytes = 1 PB, ein Peta Byte 2 60 Bytes = 1 EB, ein Exa Byte Hinweis: auch Bits werden als Maßangabe verwendet, z.b. 16 Mbit oder 16 Mb (kleines b). 7

12 Bytes und ASCII Interpretation eines Bytes als Zeichen (anstatt Zahlen) z.b. ASCII Code 7BitASCIICode: Code A..B..C..D..E..F 0.. nul soh stx etx eot enq ack bel bs ht lf vt ff cr so si 1.. dle dc1 dc2 dc3 dc4 nak syn etb can em sub esc fs gs rs us 2.. sp! # $ % & ( ) * +, -. / : ; < = >? A B C D E F G H I J K L M N O 5.. P Q R S T U V W X Y Z [ \ ] ˆ 6.. a b c d e f g h i j k l m n o 7.. p q r s t u v w x y z { } del 8

13 ASCII Erweiterungen, Unicode ASCII verwendet nur 7 Bit von einem Byte enthält z.b. keine Umlaute (ä, ö, ü) oder Akzente (é, ç) 9

14 ASCII Erweiterungen, Unicode ASCII verwendet nur 7 Bit von einem Byte enthält z.b. keine Umlaute (ä, ö, ü) oder Akzente (é, ç) es gibt verschiedene Erweiterungen von ASCII auf 8 Bit in Europa ist ISO Latin-1 verbreitet (ISO Norm ) belegt die Codes von (bzw. 80-FF in hex) 9

15 ASCII Erweiterungen, Unicode ASCII verwendet nur 7 Bit von einem Byte enthält z.b. keine Umlaute (ä, ö, ü) oder Akzente (é, ç) es gibt verschiedene Erweiterungen von ASCII auf 8 Bit in Europa ist ISO Latin-1 verbreitet (ISO Norm ) belegt die Codes von (bzw. 80-FF in hex) Unicode wurde als 16 Bit Codierung eingeführt erste 128 Zeichen stimmen mit ASCII überein die nächsten 128 Zeichen mit ISO Latin-1 danach z.b. kyrillische, arabische, japanische Schriftzeichen 9

16 ASCII Erweiterungen, Unicode ASCII verwendet nur 7 Bit von einem Byte enthält z.b. keine Umlaute (ä, ö, ü) oder Akzente (é, ç) es gibt verschiedene Erweiterungen von ASCII auf 8 Bit in Europa ist ISO Latin-1 verbreitet (ISO Norm ) belegt die Codes von (bzw. 80-FF in hex) Unicode wurde als 16 Bit Codierung eingeführt erste 128 Zeichen stimmen mit ASCII überein die nächsten 128 Zeichen mit ISO Latin-1 danach z.b. kyrillische, arabische, japanische Schriftzeichen UTF-8 ist eine Mehrbyte-Codierung von Unicode (1-6 Bytes) Code-Länge wird durch die ersten Bits codiert 9

17 Zeichen und Strings Repräsentation eines ASCII Zeichens in C, C++: char Zeichen-Literale in einfachen Anführungszeichen Beispiele: A, u, D char zeichen = A ; Vorsicht bei nicht-ascii Zeichen! 10

18 Zeichen und Strings Repräsentation eines ASCII Zeichens in C, C++: char Zeichen-Literale in einfachen Anführungszeichen Beispiele: A, u, D char zeichen = A ; Vorsicht bei nicht-ascii Zeichen! Repräsentation einer Zeichenfolge? (Englisch: String) String-Literale in doppelten Anführungszeichen Beispiel: AuD in C gespeichert als Folge von Zeichen, terminiert durch \0 'A' 'u' 'D' '\0' 10

19 Strings in C Strings in C: dargestellt als Array von chars fester Länge: char test_string[8]; C Arrays werden indiziert von 0! (hier also von 0 bis 7) immer genug Platz für terminierendes \0 einplanen! 11

20 Strings in C Strings in C: dargestellt als Array von chars fester Länge: char test_string[8]; C Arrays werden indiziert von 0! (hier also von 0 bis 7) immer genug Platz für terminierendes \0 einplanen! dargestellt als Array von chars dynamischer Länge (mittels Pointer): char *test_string; Speicher muss explizit über malloc/free angefordert/freigegeben werden! Größe des Arrays komplett in eigener Verantwortung! sehr fehleranfällig, bitte vermeiden wenn möglich! 11

21 Programm: Strings in C # include <stdio.h> # include < string.h> int { main() char test_string[5] = " test"; // Laenge ist 4+1 printf(" test_string: %s\n", test_string); char AuD_string[4]; AuD_string[0] = A ; AuD_string[1] = u ; AuD_string[2] = D ; AuD_string[3] = \0 ; // terminierende 0 printf(" AuD_string: %s\n", AuD_string); printf(" Laenge: %lu\n", strlen(aud_string) ); } return 0; 12

22 Strings in C - Operationen Operationen auf C Strings: definiert in string.h strlen(str): liefert Länge des Strings str strcpy(ziel, quelle): kopiert String quelle nach ziel ziel wird als groß genug vorausgesetzt! strcat(ziel, quelle): hängt String quelle an String ziel hinten an ziel wird als groß genug vorausgesetzt! strcmp(str1, str2): vergleicht die Strings str1 und str2 ist das Ergebnis 0, sind die Strings gleich 13

23 Programm: Strings in C (Fortsetzung) # include <stdio.h> # include < string.h> int { main() char test_string[] = " test"; char AuD_string[] = " AuD"; char resultat_string[20]; // gross genug strcpy(resultat_string, AuD_string); printf(" strcpy Ergebnis: %s\n", resultat_string); int vergleich = strcmp(resultat_string, AuD_string); printf(" strcmp Ergebnis: %d\n", vergleich); strcat(resultat_string, test_string); printf(" strcat Ergebnis: %s\n", resultat_string); } return 0; 14

24 Strings in C - Probleme Probleme mit C Strings: terminierende \0 wird vergessen Zuweisung nach Initialisierung schwierig Größenvoraussetzungen werden nicht automatisch geprüft Verwaltung von Strings dynamischer Länge eine Quelle der häufigsten Programmierfehler aber gerade Strings dynamischer Länge werden gebraucht! 15

25 Strings in C++ Strings in C++: dargestellt als std::string std::string test_string; Zugriff wie bei C Strings über [] Operator, indiziert von 0 std::string test_string = " test"; test_string[1] = a ; automatische Verwaltung der Größe nicht terminiert mit \0, sondern speichert Größe direkt Operationen direkt in std::string eingebaut 16

26 Programm: Strings in C++ # include <iostream > # include <string > using namespace std; int { main() string test_string = " test"; cout << " test_string: " << test_string << endl; string AuD_string = " BvE"; AuD_string[0] = A ; AuD_string[1] = u ; AuD_string[2] = D ; cout << " AuD_string: " << AuD_string << endl; cout << " Laenge: " << AuD_string.length() << endl;... 17

27 Programm: Strings in C++ (Fortsetzung)... string resultat_string; resultat_string = AuD_string; cout << " Kopieren: " << resultat_string << endl; bool vergleich = (resultat_string == AuD_string); cout << " Vergleich: " << vergleich << endl; resultat_string = resultat_string + test_string; // oder kuerzer: // resultat_string += test_string; cout << " Anhaengen: " << resultat_string << endl; } return 0; 18

28 Programm heute 1 Einführung 2 Mathematische Grundlagen Mengen Abbildungen Zahldarstellung Boolesche Logik 3 Elementare Datenstrukturen Zeichenfolgen Felder 19

29 Definition Feld Definition Feld Ein Feld A ist eine Folge von n Datenelementen (d i ) i=1,...,n, mit n N 0. A = d 1, d 2,...,d n Die Datenelemente d i sind beliebige Datentypen (z.b. primitive). Beispiele: A sind die natürlichen Zahlen von 1 bis 10, aufsteigend geordnet: A =1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Ist n = 0, so ist das Feld leer. 20

30 Feld als sequentielle Liste Repräsentation von Feld A als sequentielle Liste (oder Array) feste Anzahl n von Datenelementen zusammenhängend gespeichert in linearer Reihenfolge mit Index Zugriff auf i-tes Element über Index i: A[i]... Feld A: A[n] A[n-1] A[2] A[1] A[0] 21

31 Beispiel sequentielle Liste Feld A=0,8,15, Länge 3 Beispiel in C: Beispiel in C++: int A[3]; A[0] = 0; A[1] = 8; A[2] = 15; std::vector <int> A(3); A[0] = 0; A[1] = 8; A[2] = 15; 22

32 Eigenschaften sequentielle Liste Feld A mit Länge n als sequentielle Liste (Array) Vorteile: direkter Zugriff auf Elemente in konstanter Zeit mittels A[i] sequentielles Durchlaufen sehr einfach Nachteile: Verschwendung von Speicher falls Liste nicht voll belegt Verlängern der sequentiellen Liste sehr aufwendig Hinzufügen und Löschen von Elementen sehr aufwendig 23

33 CBeispiel:sequentiellesDurchlaufen Code: Ausgabe: int felda[5]; int i; // sequentielles Durchlaufen printf(" felda: "); for (i = 0; i < 5; ++i) { felda[i] = i * i; printf("%d ", felda[i]); } printf("\n"); felda:

34 Verlängern der sequentiellen Liste Gegeben: Feld A, Länge n, als sequentielle Liste Gewünscht: Feld A erweitert auf Länge n+1 neuen Speicher der Größe n+1 reservieren alte Liste in neuen Speicher kopieren... Feld A: A[n] A[n-1] A[2] A[1] A[0] neues Feld A: A[n+1] A[n] A[n-1]... A[2] A[1] A[0] 25

35 CBeispiel:Verlängern der Liste Code: int neuesfelda[6]; // altes Feld kopieren: for (i = 0; i < 5; ++i) neuesfelda[i] = felda[i]; // neues Element: neuesfelda[5] = 25; // neuesfelda ausgeben: printf(" neuesfelda nach Verlaengern: "); for (i = 0; i < 6; ++i) printf("%d ", neuesfelda[i]); printf("\n"); Ausgabe: neuesfelda nach Verlaengern:

36 Löschen von Element aus Liste Gegeben: Feld A, Länge n, als sequentielle Liste Gewünscht: Element i aus Feld A löschen Element i entfernen Listenelemente nach i umkopieren

37 CBeispiel:Löschen von Element Code: // loesche erstes Element for (i = 1; i < 6; ++i) neuesfelda[i-1] = neuesfelda[i]; // setze letztes Element auf -1 neuesfelda[5] = -1; // neuesfelda ausgeben: printf(" neuesfelda nach Loeschen: "); for (i = 0; i < 6; ++i) printf("%d ", neuesfelda[i]); printf("\n"); Ausgabe: neuesfelda nach Loeschen:

38 Einfügen von Element in Liste Gegeben: Feld A, Länge n, als sequentielle Liste Gewünscht: neues Element in Feld A an Stelle i einfügen Listenelemente nach i umkopieren Element i einfügen

39 CBeispiel:Einfügen von Element Code: // neues Element (8) an 3. Stelle einfuegen for (i = 5; i > 2; --i) neuesfelda[i] = neuesfelda[i-1]; neuesfelda[2] = 8; // neuesfelda ausgeben: printf(" neuesfelda nach Einfuegen: "); for (i = 0; i < 6; ++i) printf("%d ", neuesfelda[i]); printf("\n"); Ausgabe: neuesfelda nach Einfuegen:

40 C++ Beispiel: sequentielle Listen Code: vector <int> felda(5); // sequentielles Durchlaufen for ( int i = 0; i < 5; ++i) { felda[i] = i * i; } // Verlaengern der Liste felda.resize(6); felda[5] = 25; // loesche erstes Element felda.erase( felda.begin() ); felda[5] = -1; // neues Element (8) an 3. Stelle einfuegen felda.insert( felda.begin() + 2, 8); 31

41 Ausblick: Anwendung von sequentiellen Listen in 2D und 3D Bildern! 32

42 Zusammenfassung 1 Einführung 2 Mathematische Grundlagen Mengen Abbildungen Zahldarstellung Boolesche Logik 3 Elementare Datenstrukturen Zeichenfolgen Felder 33

Algorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser

Algorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische

Mehr

Escape-Sequenzen. Dr. Norbert Spangler

Escape-Sequenzen. Dr. Norbert Spangler Escape-Sequenzen Einzelzeichen Bedeutung ASCII- ASCII-Code \a alert BEL 07 \b backspace BS 08 \t horizontal tab HT 09 \n line feed LF 0A \v vertical tab VT 0B \f form feed FF 0C \r carriage return CR 0D

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Literalkonstanten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 11

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 11 Kapitel 11 Zeichenverarbeitung Seite 1 von 11 Zeichenverarbeitung - Jedem Zeichen ist ein Zahlencode zugeordnet. - Dadurch wird ermöglicht, zwischen verschiedenen Systemen Texte auszutauschen. - Es werden

Mehr

Einführung in die Programmierung Wintersemester 2008/09

Einführung in die Programmierung Wintersemester 2008/09 Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen

Mehr

Programmieren in C Einführung

Programmieren in C Einführung Programmieren in C Einführung Aufbau eines Programms Einfache Programme Datentypen und Vereinbarungen Das Entwicklungswerkzeug Seite Einfache Programme Kugeltank-Berechnung #include void main

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

Zahlen und Zeichen (1)

Zahlen und Zeichen (1) Zahlen und Zeichen () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

Datentypen printf und scanf. Programmieren in C Dr. Michael Zwick

Datentypen printf und scanf. Programmieren in C Dr. Michael Zwick Datentypen printf und scanf Programmieren in C Dr. Michael Zwick April June 2015 Monday Tuesday Wednesday Thursday Friday 17 20 Apr 21 22 23 24 Arbeitsblatt 1-1 Ausgabe Arbeitsblatt 1 Beginn Tutorium Arbeitsblatt

Mehr

Was ist Wirtschaftsinformatik?

Was ist Wirtschaftsinformatik? 1. Grundlagen, 1.1 Grundverständnis der Wirtschaftsinformatik Was ist Wirtschaftsinformatik? BWL Betriebswirtschaftliche Problemstellung: Wie kann IT im Unternehmen angewendet werden, z.b. im Bereich Beschaffung

Mehr

Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände

Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände 1 2 Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände 3 Die Zuordnung der Himmelsrichtungen zu den dreistelligen Binärzahlen, also Norden 000 Süden 001

Mehr

3. Informationsdarstellung

3. Informationsdarstellung Fakultät Informatik Institut Systemarchitektur Professur Datenschutz und Datensicherheit WS 204/205 3. Informationsdarstellung Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de 3 Informationsdarstellung Bitfolgen

Mehr

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

Darstellung von Informationen

Darstellung von Informationen Darstellung von Informationen Bit, Byte, Speicherzelle und rbeitsspeicher Boolesche Operationen, Gatter, Schaltkreis Bit Speicher (Flipflop) Binär- Hexadezimal und Dezimalzahlensystem, Umrechnungen Zweierkomplement

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

Rechnerorganisation. IHS 2015/2016 H.-D. Wuttke, K. Henke

Rechnerorganisation. IHS 2015/2016 H.-D. Wuttke, K. Henke Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18 C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen

Mehr

Thema 1 -- Fortsetzung. Computersystem, Informationsdarstellung

Thema 1 -- Fortsetzung. Computersystem, Informationsdarstellung Thema 1 -- Fortsetzung Computersystem, Informationsdarstellung Codierung! Bei der Codierung erfolgt eine eindeutige Zuordnung der Zeichen eines Zeichenvorrates (Urmenge, Quellalphabet) zu denjenigen eines

Mehr

4 ZEICHEN UND ZEICHENKETTEN

4 ZEICHEN UND ZEICHENKETTEN 4 ZEICHEN UND ZEICHENKETTEN Leitideen: Jedes Zeichen aus dem Basiszeichensatz wird mittels einer kleinen ganzen Zahl (Länge 1 Byte = 8 Bit) gespeichert, die seiner Position im Zeichensatz entspricht. C-Zeichenketten

Mehr

6. Bearbeitung von Strings in C Bearbeitung von Strings in C

6. Bearbeitung von Strings in C Bearbeitung von Strings in C Bearbeitung von Strings in C 6-1 Definition des String: 6. Bearbeitung von Strings in C Zeichenstrings werden als Felder von Zeichen abgespeichert: char [ ] ; Wie die Daten (Zeichenfolge)

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp

Mehr

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Kapitel 3. Grunddatentypen, Ausdrücke und Variable Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen

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

Skript. EDV Grundlagen

Skript. EDV Grundlagen PAUL-EHRLICH-SCHULE Frankfurt-Höchst Berufs-, Fach-, Fachoberschule Informatik FOS FS Skript EDV Grundlagen Datum: Name: Klasse: 1. Daten die Welt der Bits und Bytes Daten begegnen uns im Alltag in vielfältiger

Mehr

Programmieren in C / C++ Grundlagen C 2

Programmieren in C / C++ Grundlagen C 2 Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen

Mehr

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners

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

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum

Mehr

Informatikgrundlagen I Grundlagen der Informatik I

Informatikgrundlagen I Grundlagen der Informatik I Informatikgrundlagen I Grundlagen der Informatik I Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

C++ Notnagel. Ziel, Inhalt. Programmieren in C++ C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt

Mehr

Wie werden die Barcode Prüfziffern berechnet?

Wie werden die Barcode Prüfziffern berechnet? KB Consult; K. Bögli Bergwiesenstrasse 23 CH-8484 Weisslingen Telefon: [41] 052 / 384 16 96 Fax: [41] 052 / 384 25 20 E-Mail: kurt.boegli@kbconsult.ch Wie werden die Barcode Prüfziffern berechnet? Nachfolgend

Mehr

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

Kapitel 5. Datentypen und Operatoren

Kapitel 5. Datentypen und Operatoren Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen

Mehr

Grundlagen der Informationstechnik

Grundlagen der Informationstechnik Grundlagen der Informationstechnik 2 Um die Funktionsweise der Computernetze zu verstehen, ist ein grundlegendes Verständnis der Informationstechnik (IT) nötig. Bei diesen Grundlagen handelt es sich um

Mehr

Kapitel 5: Daten und Operationen

Kapitel 5: Daten und Operationen Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter

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

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

Mehr

Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber

Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber 1) Welche Antworten zur Operatorüberladung sind richtig? (1) a) C++ - Operatoren können zusammen mit Objekten funktionieren b) C++ - Operatoren wird

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable 1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem

Mehr

Praxis der Programmierung

Praxis der Programmierung Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen

Mehr

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen Beispiele elementarer Datentypen Ganze Zahlen (integer) - Werte sind ganze Zahlen in vorgegebenen Bereich (z. B. -2 31 bis 2 31-1) - Übliche Operationen: Arithmetik (z. B. +,-,*, Division mit Rest, Rest

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

Einführung in die Programmierung Wintersemester 2008/09

Einführung in die Programmierung Wintersemester 2008/09 Einführung in die Programmierung Wintersemester 28/9 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

Mehr

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9 Java Einführung Objekt-Datentypen und Strings Kapitel 8 und 9 Inhalt Was sind Objekt-Datentypen Sonderheiten bei Zuweisung und Vergleich Zeichenketten (Strings) Zeichencodes Char, Char-Arrays und Strings

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Motivation und Überblick

Motivation und Überblick Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Zusammengehörige Daten struct. Strukturierte Datentypen und Funktionszeiger. Zugriff auf struct-elemente. Variablendeklarationen mit struct

Zusammengehörige Daten struct. Strukturierte Datentypen und Funktionszeiger. Zugriff auf struct-elemente. Variablendeklarationen mit struct Zusammengehörige Daten Anstatt logisch zusammengehörende Daten in mehreren unabhängigen Variablen zu speichern, kann man für sie einen eigenen Datentyp ( Verbund, Record ) definieren, der diesen Zusammenhang

Mehr

2.5 Primitive Datentypen

2.5 Primitive Datentypen 2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

Grundlagen der Informationstechnik

Grundlagen der Informationstechnik Grundlagen der Informationstechnik 2 Um die Funktionsweise der Computernetze zu verstehen, ist ein grundlegendes Verständnis der Informationstechnik (IT) nötig. Bei diesen Grundlagen handelt es sich um

Mehr

DAP2 Praktikum Blatt 1

DAP2 Praktikum Blatt 1 Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1

Mehr

2. Datentypen und Deklarationen

2. Datentypen und Deklarationen 2. Datentypen und Deklarationen Programm = Datenstrukturen+Kontrollstruktur Programme verarbeiten Daten. Daten werden in C durch Datenstrukturen aus verschiedenen Datentypen beschrieben. Es gibt (wie in

Mehr

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

Datentypen in C. Informatik Universität Hamburg Proseminar: C-Grundlagen und Konzepte Jan Branitzki

Datentypen in C. Informatik Universität Hamburg Proseminar: C-Grundlagen und Konzepte Jan Branitzki Datentypen in C Informatik Universität Hamburg Proseminar: C-Grundlagen und Konzepte Jan Branitzki 31.05.13 Inhalt 1. Der Aufzählungstyp enum 2. Bit Shifting/Bitweise Operatoren a. Beispiel: Int b. Nutzen

Mehr

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 10 Pkt.) a) Geben

Mehr

Inhalt. Zeichen und Zeichenketten (engl. Strings)

Inhalt. Zeichen und Zeichenketten (engl. Strings) Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Kap 9. Bitoperationen und -strukturen

Kap 9. Bitoperationen und -strukturen Kap 9. Bitoperationen und -strukturen 9.1 Anwendung von Bits Im Gegensatz zu den üblicherweise Byte-orientierten Daten gibt es auch Bit-Anwendungsbeispiele Statusanzeigen bei Ein-/Ausgabe (Stream-Klassen)

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

Hydroinformatik I: Hello World

Hydroinformatik I: Hello World Hydroinformatik I: Hello World Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 28. Oktober 2016 1/15

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

3. Datentypen, Ausdrücke und Operatoren

3. Datentypen, Ausdrücke und Operatoren 3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14 C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung

Mehr

Einführung in die STL

Einführung in die STL 1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

EIN NEUES KAPITEL: SPEICHERUNG UND INTERPRETATION VON INFORMATION

EIN NEUES KAPITEL: SPEICHERUNG UND INTERPRETATION VON INFORMATION Auf diesem Computerschirm sieht man verschiedene Arten von Information dargestellt. Wie wird sie eigentlich im Computer abgespeichert. Was man sieht, ist nur eine Graphik! EIN NEUES KAPITEL EIN NEUES KAPITEL:

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

3D Programmierpraktikum: Einführung in C++ - Teil 1

3D Programmierpraktikum: Einführung in C++ - Teil 1 3D Programmierpraktikum: Einführung in C++ - Teil 1 Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 27. April 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum

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

Grundlagen der Informatik 11. Zeiger

Grundlagen der Informatik 11. Zeiger 11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

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

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Für eine

Mehr

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung WS 06/07 Thema 4: Zahlensysteme / Codierung 1 Übung zur Winfo I - Themenplan - Informationsverarbeitung in Unternehmen Tabellenkalkulation Anwendungen PC-Komponenten Zahlensysteme / Codierung Boole sche

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

7. Übung zur Vorlesung Grundlagen der Informatik

7. Übung zur Vorlesung Grundlagen der Informatik 7. Übung zur Vorlesung Grundlagen der Informatik 13.Interne Darstellung von Daten In der Vorlesung wurde bereits darauf hingewiesen, dass ein Rechner intern lediglich die Zustände 0 (kein Signal liegt

Mehr

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Wie entwerfe ich ein Programm?

Wie entwerfe ich ein Programm? Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +

Mehr

16. März 2016 artb5-v1.1

16. März 2016 artb5-v1.1 C 16. März 2016 artb5-v1.1 Inhaltsverzeichnis C 2 Was ist ein Programm?........................ 2 Was ist C?............................... 3 Grundgerüst - Hallo Welt....................... 3 Tools und

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Z = a 0 B 0 + a 1 B 1 + a 2 B a n-1 B n-1

B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Z = a 0 B 0 + a 1 B 1 + a 2 B a n-1 B n-1 Polyadisches Zahlensystem B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Ganze Zahlen: n-1 Z= a i B i i=0 Z = a 0 B 0 + a 1 B 1 + a 2 B 2 +... + a n-1 B n-1 Rationale Zahlen: n-1 Z= a i B i

Mehr

Einführung in die Programmierung Wintersemester 2014/15

Einführung in die Programmierung Wintersemester 2014/15 Einführung in die Programmierung Wintersemester 2014/15 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Zeiger Inhalt Zeiger Zeigerarithmetik Zeiger für

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE

Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE 754 Standard festgelegt. Es stehen sogenannte einfach

Mehr

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes Zeichen Datentyp char char ch = 'x'; Zeichenvariable Zeichenkonstante (unter einfachen Hochkommas) Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes ASCII (American Standard

Mehr

Kap 2. Aufbau eines Programms Variablen, Konstanten und Deklarationen

Kap 2. Aufbau eines Programms Variablen, Konstanten und Deklarationen Kap 2. Aufbau eines Programms Variablen, Konstanten und Deklarationen 1 Beispielprogramm // Ein kleines C++ Programm #include using namespace std; /*4*/ void main(void) /*5*/ { /*6*/ cout

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...? Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?

Mehr