Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!

Größe: px
Ab Seite anzeigen:

Download "Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!"

Transkript

1 Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 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 Programm heute Definition Datenstruktur 1 Einführung 2 Mathematische Grundlagen Mengen Abbildungen Zahldarstellung Boolesche Logik 3 Elementare Datenstrukturen Zeichenfolgen Felder 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 4 5

2 Primitive Datentypen in C, C++ Bits und Bytes Natürliche Zahlen, z.b. unsigned short, unsigned long Wertebereich: bei n Bit von 0 bis 2 n 1 Operationen: +, -, *, /, %, <, ==,!=, > Bit 7 Bit 0 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? 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). 6 7 Bytes und ASCII ASCII Erweiterungen, Unicode Interpretation eines Bytes als Zeichen (anstatt Zahlen) z.b. ASCII Code 7 Bit ASCII 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 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 8 9

3 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' 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! Programm: Strings in C Strings in C - Operationen # 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 ) ); 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 return 0; 12 13

4 Programm: Strings in C (Fortsetzung) Strings in C - Probleme # 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 ); 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! strcat ( resultat_string, test_ string ); printf (" strcat Ergebnis : %s\n", resultat_string ); return 0; 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 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 ;

5 Programm: Strings in C++ (Fortsetzung) Programm heute... string resultat_ string ; 1 Einführung 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; 2 Mathematische Grundlagen Mengen Abbildungen Zahldarstellung Boolesche Logik 3 Elementare Datenstrukturen Zeichenfolgen Felder Definition Feld Feld als sequentielle Liste 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 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-1] A[n-2] A[2] A[1] A[0] Ist n = 0, so ist das Feld leer

6 Beispiel sequentielle Liste Eigenschaften 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; 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 C Beispiel: sequentielles Durchlaufen Verlängern der sequentiellen Liste 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"); Gegeben: Feld A, Länge n+1, als sequentielle Liste Gewünscht: Feld A erweitert auf Länge n+2 neuen Speicher der Größe n+2 reservieren alte Liste in neuen Speicher kopieren... Feld A: A[n] A[n-1] A[2] A[1] A[0] Ausgabe: felda : neues Feld A: A[n+1] A[n] A[n-1]... A[2] A[1] A[0] 24 25

7 C Beispiel: Verlängern der Liste int neuesfelda [6]; // altes Feld kopieren : for ( i = 0; i < 5; ++ i) neuesfelda [i] = felda [i]; // neues Element : neuesfelda [5] = 25; Ausgabe: // neuesfelda ausgeben : printf (" neuesfelda nach Verlaengern : "); for ( i = 0; i < 6; ++ i) printf ("%d ", neuesfelda [i ]); printf ("\n"); neuesfelda nach Verlaengern : 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 C Beispiel: Löschen von Element Ausgabe: // 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"); neuesfelda nach Loeschen : 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

8 C Beispiel: Einfu gen von Element C++ Beispiel: sequentielle Listen vector < int > felda (5); // neues Element (8) an 3. Stelle einfuegen for ( i = 5; i > 2; --i ) neuesfelda [ i ] = neuesfelda [i -1]; neuesfelda [2] = 8; // sequentielles Durchlaufen for ( int i = 0; i < 5; ++ i ) { felda [ i ] = i * i ; // neuesfelda ausgeben : printf ( " neuesfelda nach Einfuegen : " ); for ( i = 0; i < 6; ++ i ) printf ( " % d ", neuesfelda [ i ]); printf ( " \ n " ); // Verlaengern der Liste felda. resize (6); felda [5] = 25; // loesche erstes Element felda. erase ( felda. begin () ); felda [5] = -1; Ausgabe: neuesfelda nach Einfuegen : // neues Element (8) an 3. Stelle einfuegen felda. insert ( felda. begin () + 2, 8); 30 Ausblick: Anwendung von sequentiellen Listen 31 Zusammenfassung 1 Einfu hrung 2 Mathematische Grundlagen Mengen Abbildungen Zahldarstellung Boolesche Logik 3 Elementare Datenstrukturen Zeichenfolgen Felder in 2D und 3D Bildern! 32 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 13. Klassenbibliotheken Klassenbibliotheken Seite 2 Sammlung von Algorithmen und Klassen in Klassenbibliotheken: Konzept:

Mehr

Barcode- Referenzhandbuch

Barcode- Referenzhandbuch Barcode- Referenzhandbuch Version 0 GER/AUS/SWI-GER 1 Einführung 1 Übersicht 1 1 Dieses Referenzhandbuch bietet Informationen zum Drucken von Barcodes über Steuerbefehle, die direkt an ein Brother-Druckergerät

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

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

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

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

Objektorientierte Programmierung. Kapitel 10: Strings

Objektorientierte Programmierung. Kapitel 10: Strings 10. Strings 1/16 Objektorientierte Programmierung Kapitel 10: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/ 10.

Mehr

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar 3. Kodierung Wir wollen Kodierung nicht als Verschlüsselung zum Zwecke der Geheimhaltung auffassen, sondern als Mittel zur Darstellung von Sachverhalten so, daß eine Rechner mit diesen Sachverhalten umgehen

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 arithmetik für dynamischen Speicher Anwendungen Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU

Mehr

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 4: Felder und Zeichenketten Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung vom 9.

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

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

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

Voyager 9520/40 Voyager GS9590 Eclipse 5145 Kurzanleitung

Voyager 9520/40 Voyager GS9590 Eclipse 5145 Kurzanleitung Voyager 9520/40 Voyager GS9590 Eclipse 5145 Kurzanleitung VG-ECL-DE-QS Rev C 6/12 Erste Schritte Schalten Sie den Computer aus, bevor Sie den Scanner anschließen. Starten Sie den Computer neu, nachdem

Mehr

5. Abgeleitete Datentypen

5. Abgeleitete Datentypen 5. Abgeleitete Datentypen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Felder (Arrays)!Zeichenketten (Strings)!Strukturen (Structs) Copyright: M. Gross, ETHZ, 2003 2 Arrays! Ein Array ist

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

C für Java-Programmierer

C für Java-Programmierer Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im

Mehr

Zeichenketten (Strings) in C

Zeichenketten (Strings) in C Zeichenketten (Strings) in C Jörn Loviscach Versionsstand: 7. Oktober 2011, 11:27 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.j3l7h.de/videos.html

Mehr

Assoziative Container in C++ Christian Poulter

Assoziative Container in C++ Christian Poulter Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...

Mehr

Einführung in die STL anhand eines ausgewählten Beispiels

Einführung in die STL anhand eines ausgewählten Beispiels Einführung in die STL anhand eines ausgewählten Beispiels Frank M. Thiesing http://home.t-online.de/home/ frank.thiesing/stl/stl-folien.pdf Inhalt Überblick über die C++ STL Container Iteratoren Algorithmen

Mehr

Zusammengesetzte Datentypen -- Arrays und Strukturen

Zusammengesetzte Datentypen -- Arrays und Strukturen Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

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

Zeiger und dynamischer Speicher

Zeiger und dynamischer Speicher Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr

Mehr

Vektoren 105. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier

Vektoren 105. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier Vektoren 105 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

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

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

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!

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

Praxis der Programmierung

Praxis der Programmierung Zeichenketten (Strings), Ein- und Ausgabe Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Zeichenketten (Strings)

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

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

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

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

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

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

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

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

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

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

Variablen und Datentypen

Variablen und Datentypen Programmieren mit Python Modul 1 Variablen und Datentypen Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Schreiben von Computerprogrammen 3 2.1 Computerprogramme bestehen aus Daten und Instruktionen.......

Mehr