Kap 9. Bitoperationen und -strukturen

Größe: px
Ab Seite anzeigen:

Download "Kap 9. Bitoperationen und -strukturen"

Transkript

1 Kap 9. Bitoperationen und -strukturen

2 9.1 Anwendung von Bits Im Gegensatz zu den üblicherweise Byte-orientierten Daten gibt es auch Bit-Anwendungsbeispiele Statusanzeigen bei Ein-/Ausgabe (Stream-Klassen) Zugriffsrechte auf Dateien Abfrage von Ports Status-/Steuerungsangaben für Maschinen oder Anlagen Betriebssystemprogramme/Router/Gerätetreiber Grafik: Bitmaps, Farbtiefe (z.b. bis 8 bpp=bits per Pixel bei GIF) Konvertierung von Formaten/Komprimierung Dr. Norbert Spangler / Grundlagen der Informatik

3 9.2 Bitoperatoren UND 0 & & & & 1 1 & bitweises UND bitweises ODER ^ bitweises exklusives ODER (XOR) ~ Komplement NICHT << Links-Shift >> Rechts-Shift Ergebnis NICHT Ergebnis ~0 1 ~1 0 Die Operanden müssen von ganzzahligem Typ sein. ODER Ergebnis XOR Ergebnis 0 ^ ^1 1 1 ^ ^ 1 0 Die Bitoperatoren sollte man nicht mit den logischen Operatoren && bzw. verwechseln, welche stets auf die gesamte Zahl wirken und nicht auf die einzelnen Bits-> Beispiel folgt. Dr. Norbert Spangler / Grundlagen der Informatik

4 Operatoren prinzipielle Wirkungsweise Sei a = b= Ergebnis a op b a&b bitweises UND Nur dort wo in beiden Variablen eine 1 ist, steht auch im Ergebnis eine 1. Sei a = (entspricht bisher true) b= (entspricht bisher true) a&b bitweises UND a&&b logisches UND Damit entspricht a&b false, wohingegen a&&b true ist!! Die Abfragen if ( a&b) bzw. if ( a&&b) führen in diesem Fall zu unterschiedlichen Ergebnissen!!! -> Tippfehler ist schwer zu entdecken Dr. Norbert Spangler / Grundlagen der Informatik

5 Operatoren prinzipielle Wirkungsweise Sei a = b= Ergebnis a op b a b bitweises ODER Nur dort wo in beiden Variablen eine 0 ist, steht auch im Ergebnis eine 0. a^b bitweises exklusives ODER (XOR) Nur dort wo in beiden Variablen unterschiedliche Bits sind, steht auch im Ergebnis eine 1. ~a Komplement NICHT Alle Bits werden invertiert. Dr. Norbert Spangler / Grundlagen der Informatik

6 Shift-Operatoren prinzipielle Wirkungsweise Sei a = a<<2 Links-Shift ( um 2 Bits) a>>2 Rechts-Shift (um 2 Bits) aber auch Die weggeschobenen Bits entfallen. Beim Links-Shift wird stets mit Nullen aufgefüllt. Beim Rechts-Shift ist entscheidend, ob die Variable - vom Typ unsigned ist: es werden links Nullen aufgefüllt - Vom Typ signed ist : es wird das Vorzeichen aufgefüllt Dies ist jedoch compilerabhängig. Anmerkung: ein Links-Shift um 1 entspricht einer Multiplikation mit 2, ein Rechts-Shift analog einer ganzzahligen Division durch 2. Diese Operationen sind schneller als die übliche Multiplikation. Dr. Norbert Spangler / Grundlagen der Informatik

7 Shift-Operatoren Beispiel void main() short a=0x8000,b=a>>2;//1 aufgefuellt da negativ cout<<a<<" "<<b<<endl; short c=0x4000,d=c>>2;//0 aufgefuellt da positiv cout<<c<<" "<<d<<endl; unsigned short e=0x8000,f=e>>2;//0 aufgefuellt da unsigned cout<<e<<" "<<f<<endl; Entspricht Division durch 4 Dr. Norbert Spangler / Grundlagen der Informatik

8 9.3 Elementare Aufgaben Typische Aufgaben im Umgang mit Bits sind Ein spezielles Bit einer Variablen a - abfragen - auf 0 setzen - auf 1 setzen - umkehren ( 0-> 1 bzw. 1-> 0) Dies lässt sich erweitern auf mehrere Bits der Variablen. Prinzipielle Vorgehensweise: Man bildet eine Variable maske ( Anzahl der Bits wie bei der Variablen a) und verknüpft die Variablen a und maske mit einem Bitoperator, um das gewünschte Ergebnis zu erhalten: Ergebnis = a op maske Dr. Norbert Spangler / Grundlagen der Informatik

9 Konstruktion von Masken Masken lassen sich am besten in hexadezimaler Schreibweise angeben short maske=0xe303; Damit ist maske = E Die Berechnung des Zahlenwerts ist eher mühsam: void main() short maske=0xe303; cout <<maske<<" entspricht "<< hex <<uppercase<< maske<<endl; Dr. Norbert Spangler / Grundlagen der Informatik

10 #include <iostream> #include <iomanip> using namespace std; Konstruktion von Masken Masken mit nur einer 1 kann man auch leicht durch Shift-Operationen erzeugen. Beispiel: maske mit einer 1 an der Position n von rechts. n ist einzulesen. void main() int n; cout<<" Position der 1: "; cin>>n; short maske=1<<n; cout <<maske<<" entspricht "<< hex <<setw(4)<<setfill('0')<<uppercase<< maske<<endl; Dr. Norbert Spangler / Grundlagen der Informatik

11 9.4 Bits abfragen Ist x ein Bit so liefert die Operation x&0 stets 0 x&1 stets x Will man also in einer Variablen ein spezielles Bit abfragen, so muss man sich eine Maske für den & Operator konstruieren, welche an der gewählten Position eine 1 hat und an allen anderen eine 0. Wenn also das 3. Bit (von links) abgefragt wird muss maske= sein, also maske = 0x2000 oder maske=1<<13. void main() int a; cout<<"zahl eingeben "; cin>>a; short maske=1<<13; if ( a & maske ) cout<<"stelle ist 1 "<<endl; else cout<<"stelle ist 0 "<<endl; Dr. Norbert Spangler / Grundlagen der Informatik

12 9.5 Bits 0 setzen Ist x ein Bit so liefert die Operation x&0 stets 0 x&1 stets x Will man also ein spezielles Bit einer Variablen a auf 0 setzen, so muss man sich eine Maske als Operand für den & Operator konstruieren, welche an der gewählten Position eine 0 hat und an allen anderen eine 1. Wenn also das 3. Bit (von links) 0 gesetzt werden soll muss maske= sein. Allgemein: Wo in der Maske eine 0 steht, wird das Bit von a 0 gesetzt Wo in der Maske eine 1 steht, bleibt das Bit von a erhalten Sei a = maske = a&maske = Dr. Norbert Spangler / Grundlagen der Informatik

13 9.6 Bits 1 setzen Ist x ein Bit so liefert die Operation x 0 stets x x 1 stets 1 Will man also ein spezielles Bit einer Variablen a auf 1 setzen, so muss man sich eine Maske als Operand für den Operator konstruieren, welche an der gewählten Position eine 1 hat und an allen anderen eine 0. Wenn also das 3. Bit (von links) 1 gesetzt werden soll muss maske= sein. Allgemein: Wo in der Maske eine 1 steht wird das Bit von a 1 gesetzt Wo in der Maske eine 0 steht bleibt das Bit von a erhalten Sei a = maske = a maske = Dr. Norbert Spangler / Grundlagen der Informatik

14 9.7 Bits invertieren Ist x ein Bit so liefert die Operation x^0 stets x x^1 stets ~x Will man also ein spezielles Bit einer Variablen a invertieren, so muss man sich eine Maske als Operand für den ^ Operator konstruieren, welche an der gewählten Position eine 1 hat und an allen anderen eine 0. Wenn also das 3. Bit (von links) 1 gesetzt werden soll muss maske= sein. Allgemein: Wo in der Maske eine 1 steht wird das Bit von a 1 gesetzt Wo in der Maske eine 0 steht bleibt das Bit von a erhalten Sei a = maske = a^maske = Schreibt man speziell ~ a so werden alle Bits von a invertiert Dr. Norbert Spangler / Grundlagen der Informatik

15 Zusammenfassung a & maske a maske a ^ maske setzt alle Bits von a 0, die in maske 0 sind setzt alle Bits von a 1, die in maske 1 sind invertiert alle Bits von a, die in maske 1 sind ~a invertiert alle Bits von a Dr. Norbert Spangler / Grundlagen der Informatik

16 9.8 Sonstige Aufgaben Beispiele Anzeige der Bits eines Typs Berechnung der Anzahl der Bits eines Typs Bestimmung von Parity-Bits (entspricht einer 1-Bit Prüfziffer) damit die Anzahl aller Bits gerade ist ( even Parity) die Anzahl aller Bits ungerade ist ( odd Parity) Dies dient zur Fehlererkennung bei Datenübertragungen Dr. Norbert Spangler / Grundlagen der Informatik

17 Anzeige der Bits Es soll eine Funktion bittostring geschrieben werden, welche die Bits eines Typs in einem String bereitstellt. Da der Algorithmus typunabhängig ist empfiehlt sich ein Template. Algorithmus: Eine Schleife die das erste Bit bestimmt im String anhängt das erste Bit beseitigt bis alle Bits verarbeitet sind Erforderlich: Maske mit 1 an vorderster Stelle Dr. Norbert Spangler / Grundlagen der Informatik

18 Anzeige der Bits template <typename T> string bittostring(t p) string bits; int s=sizeof(t);//anzahl der Bytes von T T m=0x80;//maske mit 1 an Bit 7 m=m<<(s-1)*8;//1 an erster Stelle for ( int i=0;i<8*s;i++)//alle Bits if ( m&p )//vorderstes Bit abfragen bits+='1'; else bits+='0'; p=p<<1;// um 1 nach links verschieben return bits; Dr. Norbert Spangler / Grundlagen der Informatik

19 Anzeige der Bits void main() char c='5'; short s=5; int i=5,j=-5; cout<<c<<" = "<<bittostring(c)<<endl; cout<<s<<" = "<<bittostring(s)<<endl; cout<<i<<" = "<<bittostring(i)<<endl; cout<<j<<" = "<<bittostring(j)<<endl; Dr. Norbert Spangler / Grundlagen der Informatik

20 Anzahl der Bits einer Zahl void main() int anzahlbits(unsinged short); short i; cin>>i; cout<<endl<<i<<" hat "<<anzahlbits(i)<<" gesetzte Bits"; int anzahlbits(unsigned short n) int summe=0; short maske=1;// entspricht while ( n!=0 ) if ( n & maske )//letztes Bit ist 1 summe++; n=n>>1;//rechtsshift um 1 return summe; 55 = Dr. Norbert Spangler / Grundlagen der Informatik

21 Paritybit Es soll eine Funktion parity geschrieben werden, welche das Paritybit (even) für Variablen vom Typ unsigned short bestimmt, d.h. die Zahl aller Bits der Variablen + Parity-Bit ist gerade. Ausgangssituation: kein Bit verarbeitet Paritybit ist 0 Algorithmus: Solange Bits!=0 vorhanden nächstes Bit prüfen falls Bit=0 -> keine Änderung =1 -> Paritybit invertieren Erforderlich: Maske mit 1 an letzter Stelle Dr. Norbert Spangler / Grundlagen der Informatik

22 Paritybit unsigned short parity(unsigned short n) unsigned short par=0;//paritybit while ( n!=0 ) // noch Einsen vorhanden par^=(n & 0x0001); n>>=1; return par; Bit(n) par neu entspricht XOR Zusammengesetzte Operatoren op= Dr. Norbert Spangler / Grundlagen der Informatik

23 Paritybit void main() int parity(unsigned short); unsigned short a=1,b=2,c=3; cout<<a<<" hat Paritybit "<<parity(a)<<endl; cout<<b<<" hat Paritybit "<<parity(b)<<endl; cout<<c<<" hat Paritybit "<<parity(c)<<endl; Dr. Norbert Spangler / Grundlagen der Informatik

24 Paritybit/rekursiv int parity(unsigned short n) if ( n == 0 ) return 0; else return parity(n>>1) ^ (n & 0x0001); Rest letztes par entspricht XOR Dr. Norbert Spangler / Grundlagen der Informatik

25 Anzahl der Bits Es soll eine Funktion anzahl geschrieben werden, welche die Anzahl der Einsen für Variablen vom Typ unsigned short bestimmt. Ausgangssituation: kein Bit verarbeitet anzahl ist 0 Algorithmus: Solange Bits!=0 vorhanden nächstes Bit prüfen falls Bit=1 um 1 erhöhen Erforderlich: Maske mit 1 an letzter Stelle. Dr. Norbert Spangler / Grundlagen der Informatik

26 Anzahl der Bits //rekursive Variante int anzahlbit(unsigned short n) if ( n==0 ) return 0; else return anzahlbit(n>>1) + (n & 0x0001); Naiver Algorithmus es gibt bessere Dr. Norbert Spangler / Grundlagen der Informatik

27 Anzahl der Bits void main() unsigned short a=8, b=15, c=1000, d=010; int i=5,j=-5; cout<<a<<" = "<<bittostring(a)<<" Anzahl der Bits "<<anzahlbit(a)<<endl; cout<<b<<" = "<<bittostring(b)<<" Anzahl der Bits "<<anzahlbit(b)<<endl; cout<<c<<" = "<<bittostring(c)<<" Anzahl der Bits "<<anzahlbit(c)<<endl; cout<<d<<" = "<<bittostring(d)<<" Anzahl der Bits "<<anzahlbit(d)<<endl; Dr. Norbert Spangler / Grundlagen der Informatik

28 9.5 Bitstrukturen und -container Ein Nachteil der bitweisen Verarbeitung ganzer Zahlen besteht darin, dass einzelne Bits nur über Masken angesprochen werden können und die Bedeutung für die Anwendung nicht klar wird. So lassen sich zwar in einer Variablen vom Typ char 8 Statusbits verstecken, es ist jedoch ohne zusätzliche Angaben nicht klar, was beispielsweise das 5. Bit bedeutet. Dies lässt sich mit Bitfeldern besser beschreiben. Dr. Norbert Spangler / Grundlagen der Informatik

29 Bitfelder struct Feld unsigned sensor1 :1; unsigned sensor2 :1; unsigned switch :1; unsigned :4; unsigned power :1; unsinged status :4; unsigned id :4; ; Bitfelder werden als Datenelemente einer Struktur definiert. Die Struktur hier besteht aus 16 Bits. Die ersten 3 Bitfelder sind sensor1,sensor2 und switch. Sie haben je 1 Bit. Die nächsten 4 Bits werden nicht genutzt; Danach folgt das Bitfeld power ( 1 Bit), dann status ( 4 Bits) und id ( 4 Bits). Vorteil: die einzelnen Bits bzw. Bitteile haben Bezeichnungen und können wie bei Strukturen über den Punkoperator angesprochen werden. Dr. Norbert Spangler / Grundlagen der Informatik

30 Bitfelder Deklaration: Feld geraet; Zugriff: if ( geraet.sensor1 )... geraet.power=0; usw. Die Maximallänge ist ein Speicherwort ( z.b. 4 Bytes) Dr. Norbert Spangler / Grundlagen der Informatik

31 Bitset Es gibt eine Containerklasse bitset ( Headerdatei <bitset>), welche Bitmengen beliebiger Länge ermöglicht inkl. zahlreicher Methoden, z.b. für Ein-/Ausgabe und indizierten Zugriff. #include <iostream> #include <bitset> using namespace std; void main() bitset <4> b; cin>>b; b[2]= ~ b[2]; cout<<b; 4 Bits << und >> Operator ist überladen Indexoperator ist überladen Dr. Norbert Spangler / Grundlagen der Informatik

5. Elementare Befehle und Struktogramme

5. Elementare Befehle und Struktogramme 5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen

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

Operatoren und Ausdrücke

Operatoren und Ausdrücke Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 11 Motivation Es gibt eine Reihe

Mehr

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

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

Mehr

Informatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4

Informatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4 Informatik 1 (251-0832-00) D-MAVT F2010 Logik, Schleifen Nachbesprechung Blatt 2 Aufgabe 3c): double(9/2) 4.0 double Zuerst wird die Operation ausgeführt und dann erst die Konversion! Allgemein: Dateiendungen:.c

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101

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

Mapra: C++ Teil 8. Felix Gruber, Michael Rom. IGPM, RWTH Aachen. 21. Juni 2016

Mapra: C++ Teil 8. Felix Gruber, Michael Rom. IGPM, RWTH Aachen. 21. Juni 2016 Mapra: C++ Teil 8 Felix Gruber, Michael Rom IGPM, RWTH Aachen 21. Juni 2016 Felix Gruber, Michael Rom (IGPM, RWTH Aachen) Mapra: C++ Teil 8 21. Juni 2016 1 / 10 Themen vom letzten Mal Ein-/Ausgabe über

Mehr

Prinzipieller Grundaufbau eines einfachen C-Programmes

Prinzipieller Grundaufbau eines einfachen C-Programmes Prinzipieller Grundaufbau eines einfachen C-Programmes C unterscheidet zwischen Groß- und Kleinschreibung! Siehe zu den folgenden Erklärungen auch das Programm am Ende der nächsten Seite. Am Anfang aller

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

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

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Benutzerdefinierte und zusammengesetzte Datentypen

Benutzerdefinierte und zusammengesetzte Datentypen - Aufzählungstypen - Felder: Der C++-Standardtyp vector - Zeichenketten: Der C++-Standardtyp string - Strukturierte Datentypen Strukturen Unions Bitfelder Programmieren in C++ Informatik FH Trier C++06-1

Mehr

Bit-Operationen KAPITEL 11

Bit-Operationen KAPITEL 11 KAPITEL 11 Bit-Operationen Sein oder nicht sein, das ist hier die Frage. Shakespeare über Boolesche Algebra In diesem Kapitel besprechen wir bitorientierte Operationen. Ein Bit ist die kleinste Informationseinheit;

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

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

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

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 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung.

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung. Zahldarstellung Lernziele: Vertiefen der Kenntnisse über Zahldarstellungen. Aufgabe 1: Werte/Konstanten Ergänzen Sie die Tabelle ganzzahliger Konstanten auf einem 16- Bit- System. Die Konstanten in einer

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

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

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

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 ( / 15 Pkt.) Für eine

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2009/0 : Technik vs. Iteration Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund 2 Definition (einfache,

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

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

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

Mehr

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

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Kap 09. Funktionen/Ergänzungen

Kap 09. Funktionen/Ergänzungen Kap 09. Funktionen/Ergänzungen 9.1 Inline-Funktionen Der Mechanismus der Parameterübergabe hat einen "hohen" organisatorischen Aufwand z.b. durch kopieren der Parameteretc. Ist die Funktion vergleichsweise

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2016/2017 WIng Bachelor 4. Aufgabenblatt Modularisierung, Funktionen, Unterprogramme

Hochschule Darmstadt Informatik-Praktikum WS 2016/2017 WIng Bachelor 4. Aufgabenblatt Modularisierung, Funktionen, Unterprogramme Ziele sind das Arbeiten mit Funktionen, sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 4: Diese Aufgabe basiert auf der Aufgabe 3.

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

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

4 Schleifen und Dateien

4 Schleifen und Dateien 4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort

Mehr

Java für Anfänger Teil 3: Integer-Typen. Programmierkurs Manfred Jackel

Java für Anfänger Teil 3: Integer-Typen. Programmierkurs Manfred Jackel Java für Anfänger Teil 3: Integer-Typen Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Einfache Datentypen in Java Ganzzahlig (integer) Byte -128..127 Short -32.768.. +32.767 Int -2.147.483.648.. +2.147.483.647

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

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

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

Annehmende Schleife do while

Annehmende Schleife do while Annehmende Schleife do while Schleife mit nachfolgender Bedingungsprüfung: annehmende Schleife B S Mit B wird eine Bedingung (logischer Ausdruck) bezeichnet, S ist ein Strukturblock. Zuerst wird S ausgeführt,

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

ESP Tutorium. Studienassistent: Ewald Moitzi. E-Mail: prog-tutor-ewald@iicm.edu. Gruppe 9

ESP Tutorium. Studienassistent: Ewald Moitzi. E-Mail: prog-tutor-ewald@iicm.edu. Gruppe 9 ESP Tutorium Studienassistent: Ewald Moitzi E-Mail: prog-tutor-ewald@iicm.edu Gruppe 9 Plan für Heute Zip am pluto Datentypen? If, Schleifen Debugging Fehlerquellen Compiler-Fehlermeldungen Fehlersuche

Mehr

[E-1] Wolf, Jürgen: C von A bis Z. Galileo Computing, 3. Auflage, 2009 http://download2.galileo-press.de/openbook/galileocomputing_c_von_a_bis_z.

[E-1] Wolf, Jürgen: C von A bis Z. Galileo Computing, 3. Auflage, 2009 http://download2.galileo-press.de/openbook/galileocomputing_c_von_a_bis_z. Literatur [E-1] Wolf, Jürgen: C von A bis Z. Galileo Computing, 3. Auflage, 2009 http://download2.galileo-press.de/openbook/galileocomputing_c_von_a_bis_z.zip [E-2] M.K. Johnson, E.W. Troan: Anwendungen

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

Steueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 2 32

Steueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 2 32 Steueranweisungen Bisher Programme mit Funktionen als einfache Folge von Befehlen Ablauf von Programmen darüber hinaus steuerbar über Bedingte Ausführung: Ausführung von Programmteilen (Befehlen oder Programmblöcken)

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

Einführung in die Programmierung

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

Mehr

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19 C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Grundstruktur eines C-Programms

Grundstruktur eines C-Programms Grundstruktur eines C-Programms // Kommentare werden durch zwei Schrägstriche (Slash) eingeleitet /* Oder durch Slash Stern Stern Slash eingeschlossen */ #include // Präprozessor-Anweisungen

Mehr

Teil IV. Grundlagen der Programmierung

Teil IV. Grundlagen der Programmierung Teil IV Grundlagen der Programmierung Überblick 1 Einleitung zu C und C++ Aufbau von Programmen/Dateien Steueranweisungen Funktionen Mehr zu Datentypen: Felder, Zeiger und Strukturen Arbeit mit Dateien

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

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.

Mehr

Weitere Operatoren und Datentypen. Speicherklassen. Speicherklassen: static

Weitere Operatoren und Datentypen. Speicherklassen. Speicherklassen: static Weitere Operatoren und Datentypen Speicherklassen Zugriffsmodifikation Aufzähltypen Typdefinitionen mit typedef Bitoperatoren Der ternäre?: Operator Zuweisungsoperatoren Der Komma-Operator Zusammenfassung:

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

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

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Die wichtigsten Unterlagen/Tools Für das Praktikum Unterlagen/Kenntnisse/Tools wichtig: Datenblatt des AT80USB1287 µc Schaltplan des im Praktikum verwendeten

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Primitive Datentypen

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

Mehr

C-Vorrangregeln. Version 1.3 6.7.2009. email: tb@ostc.de Web: www.ostc.de

C-Vorrangregeln. Version 1.3 6.7.2009. email: tb@ostc.de Web: www.ostc.de C-Vorrangregeln Version 1.3 6.7.2009 email: tb@ostc.de Web: www.ostc.de Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen

Mehr

Aufbau von Programmen/Dateien

Aufbau von Programmen/Dateien Aufbau von Programmen/Dateien Typen von Dateien Header-Dateien (.h): enthalten Deklarationen (auch Signatur, Prototyp, Rumpf) von Funktionen, Variablen, Konstanten und in C++ auch Klassendefinitionen eines

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Projektverwaltung Problem Lösung: Modulare Programmierung

Projektverwaltung Problem Lösung: Modulare Programmierung Projektverwaltung Problem Der Sourcecode ür ein Programm wird immer länger und unübersichtlicher Eine Funktion, die in einem alten Projekt verwendet wurde, soll auch in einem neuen Projekt verwendet werden

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

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

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

Die Programmiersprache C Eine Einführung

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

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Winter 2009/2010, 18. Februar 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name:

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

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

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

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

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben

Mehr

Schleifenanweisungen

Schleifenanweisungen Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung

Mehr

CRC Einführung. Version: Datum: Autor: Werner Dichler

CRC Einführung. Version: Datum: Autor: Werner Dichler CRC Einführung Version: 0.0.1 Datum: 04.03.2013 Autor: Werner Dichler Inhalt Inhalt... 2 Polynom-Division... 3 Allgemein... 3 Beispiel... 3 CRC Grundlagen... 4 Allgemein... 4 Dyadische Polynom-Division...

Mehr

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene

Mehr

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden mitp Inhaltsverzeichnis Einleitung 19 Grundlagen 21 Entwicklung und Eigenschaften von C++ 22 Objektorientierte Programmierung 24 Erstellen

Mehr

Kap 4. Befehle und Struktogramme

Kap 4. Befehle und Struktogramme Kap 4. Befehle und Struktogramme 4.1 Elementare Befehle Befehlstypen Zuweisung (eigentlich kein Befehl) Verzweigung Wiederholung/Schleife Block (zusammengesetzt) Ein-/Ausgabe (eigentlich kein Befehl) Beispiel

Mehr

Softwareentwicklung Ausdrücke und Typkonversionen

Softwareentwicklung Ausdrücke und Typkonversionen Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Ausdrücke und Typkonversionen E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institut für Informationsverarbeitung

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

JAVA - Methoden - Rekursion

JAVA - Methoden - Rekursion Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen

Mehr