Aufgaben zum Tutorium C++ für Geoökologen

Größe: px
Ab Seite anzeigen:

Download "Aufgaben zum Tutorium C++ für Geoökologen"

Transkript

1 Aufgaben zum Tutorium C++ für Geoökologen Sylvia Moenickes September 19, 2007

2 1 Block Programmentwicklung 1.1 Kompilieren und Ausführen des Programms Lassen Sie sich die Datei 1 hello.cpp geben, legen Sie sie in Ihrem bevorzugten Arbeitsverzeichnis ab und bewegen Sie sich innerhalb der Eingabeaufforderung dorthin. 1. Der schlichteste Befehl zum Kompilieren von Quellcode mit dem Namen quelle.cpp lautet g++ quelle.cpp Kompilieren Sie hiermit die Datei 1 hello.cpp. Lesen Sie dann den Inhalt des Ordners Lektion1: Es wurde eine Datei mit dem Namen a.out erstellt. 2. Der schlichteste Befehl zum Ausführen eines Programmes mit dem Namen pro.gramm lautet./pro.gramm Die Zeichen./ bedeuten hierbei, dass das Programm mit dem Namen pro.gramm auszuführen ist, das sich in dem aktuellen Verzeichnis befindet. Führen Sie das Programm a.out aus. 3. Wollen Sie nicht, dass Ihre Programme alle a.out heißen, kompilieren Sie mit g++ -o quelle.out quelle.cpp 1.2 Gewollte Fehler beim Programmieren Der Sinn der Übung ist, die Reaktion des Kompilers auf fehlerhafte Programme kennenzulernen. 1. Schreiben Sie das Programm Hello, World! nun einmal selber, zunächst fehlerfrei. Testen Sie Ihr Programm. 2. Kommentieren Sie einzelne Zeichen oder Zeilen aus. Was passiert jeweils? 1.3 Schreiben von anspruchsvolleren Texten Schreiben Sie nun ein Programm, das Ihr Lieblingsgedicht in die shell schreibt. Nützlich könnten sein: "\n" neue Zeile "\t " horizontaler Tabulator "\v" vertikaler Tabulator "\\ " Backslash "\" " Apostroph "\a " Alarm "\b" Backspace

3 2 Block Funktionen 2.1 Die Schreibfunktion Speichern Sie nun eine korrekte Version des Programms von 1.2 oder 1.3 unter 2 funktion.cpp ab und verändern Sie sie, wie im Lektionsteil gesehen. 1. Definieren Sie eine Funktion Schreibe vor der main()-definition. 2. Ersetzen Sie die bisherige Schreibanweisung innerhalb des main() durch den Aufruf Ihrer Funktion. Testen Sie Ihr Programm. 3. Verschieben Sie nun die Funktionsdefinition von vor dem main() auf dahinter. Wie reagiert der Kompiler? 4. Wenn Sie nun vor dem main() die Zeile int Schreibe(); einfügen, die sich Deklaration nennt, wie reagiert der Kompiler dann? 2.2 Mehrere Funktionen Versuchen Sie, verschiedene Funktionen zu deklarieren, zu definieren und anzuwenden. Gestalten Sie Ihr Programm durch Kommentare sehr übersichtlich. 3 Block Variablen und Konstanten 3.1 Verschiedene Variablentypen Neben der uns noch nicht weiter bekannten Ausgabe von Text 1 cout << H e l l o World! <<endl ; gibt es auch die Ausgabe von Variablen 1 cout << Die Summe l a u t e t <<ergebnis <<.\ n ; Hier hätte auch direkt stehen können 1 cout << Die Summe l a u t e t << ( a + b) <<.\ n ; Des weiteren nehmen wir zunächst einfach hin, dass die mathematischen Zeichen +, -, * und / offenbar in C++ zu Diensten stehen. 1. Erstellen Sie ein Programm, in dem zwei Integer a=1 und b=3 und zwei Double c und d mit gleichem Wert initialisiert werden. Geben Sie diese zunächst einfach aus. 2. Geben Sie dann die Quotienten a/b, c/d, a/d und c/b aus. Wie ist das Ergebnis zu interpretieren? 3. Initialisieren Sie einen Float und einen Double so, dass sie außerhalb ihres Wertebereiches liegen. Geben Sie sie aus. Was erhalten Sie?

4 3.2 Arrays 1. Erstellen Sie eine Liste aus 5 Integern und lassen Sie sich zunächst die Werte ausgeben. Weisen Sie den Listenelementen dann Werte zu und geben Sie auch diese aus. Was passiert, wenn Sie einem nicht-existierenden Listenelement einen Wert zuweisen? 2. Erstellen Sie ein zweidimensionales Array hier, das in der ersten Dimension drei und in der zweiten Dimension zwei Elemente aufweist. Weisen Sie allen Elementen den Wert null zu. Geben Sie sie dann aus, außerdem: 1 cout <<h i e r [0][0] < < endl ; cout <<h i e r [0]<< endl ; 3 cout <<hier <<endl ; 3.3 Strukturen Strukturen sind abgeleitete Datentypen. Es handelt sich um Zusammenstellungen von anderen Variablentypen. Diese können vom Programmierer selber deklariert werden, beispielsweise: 1 struct mensch { int Gewicht ; 3 double Groesse ; } ; Möchte der Programmierer diesen Datentyp verwenden, das heißt, eine Variable diesen Typs definieren, so entsteht 1 mensch adam ; mensch eva ; Die Initialisierung erfolgt dann mit folgender Schreibweise: adam. Gewicht =80; 2 adam. Groesse =1.60; Versuchen Sie sich an einer solchen Struktur. Deklarieren, definieren, initialisieren Sie und lassen Sie sich die Variablen ausgeben. 4 Block Funktionen und Variablen 4.1 Gültigkeitsbereich und Lebensdauer Lassen Sie sich die fünf verschiedenen Dateien gueltig...cpp geben. Bevor Sie sie kompilieren und ausführen, überlegen Sie, ob sie sich kompilieren lassen und wenn ja, was beim Ausführen passieren wird.

5 4.2 Funktionen schreiben In dieser Übung werden wir endlich etwas Objekt-Orientierung in unser Programm bringen! 1. Erstellen Sie ein Programm, das eine Funktion Addiere enthält, die zwei Integer addiert und entsprechend das Ergebnis als Integer zurückgibt. Testen Sie Ihr Programm. 2. Fügen Sie nun eine Funktion hinzu, die analog zwei Double addiert. Geben Sie der Funktion denselben Namen Addiere. Testen Sie wieder. Anmerkung Man nennt dies Überladen von Funktionen. Es ermöglicht, zwei Objekte zu addieren, ohne dass sich der Programmierer Gedanken machen muss, welche Funktion zum Addieren seiner konkreten Objekte geeignet ist. Wichtig beim Überladen ist, dass sich die Funktionen gleichen Namens in der Eingabeparameterliste unterscheiden. das jede Variante der Funktion vor deren Verwendung deklariert ist. Zur nachmittäglichen Vertiefung Schreiben Sie noch Funktionen zur Subtraktion für Integer und Double. Versuchen Sie dann, eine Headerdatei anzulegen. 1. Legen Sie eine Datei funktionen.h an, in der nur die Funktionsdeklarationen stehen. 2. Legen Sie eine Datei funktionen.cpp an, in der nur die Funktionsdefinitionen stehen. 3. Löschen Sie beides aus Ihrer Hauptdatei Plusminus.cpp, binden Sie aber die Deklaration der Funktionen, also funktionen.h ein, damit das Hauptprogramm die Funktionen kennt: #include funktionen.h. 4. Sie müssen dann beide Dateien zusammen kompilieren: g++ Plusminus.cpp funktionen.cpp -o Plusminus.out 4.3 Funktionen und Gültigkeiten Überzeugen Sie sich davon, dass bei der Übergabe von Eingabeparametern an Funktionen diese nur kopiert werden, indem Sie eine Funktion unglaeubig schreiben, die einen Integer als Eingabeparameter erwartet, diesen Wert innerhalb der Funktion verdoppelt, in die shell schreibt. Lassen Sie die Variable vor und nach der Ausführung dieser Funktion innerhalb des main ebenfalls in die shell schreiben.

6 5 Block Funktionen und Zeiger Schreiben Sie selber ein Programm, das den erwähnten Nutzen von Zeigern als Eingabeparameter von Funktionen aufweist. 6 Block Bedingte Ausführung Anton und Bert unterhalten sich. Bert hat sich zwei Zahlen gedacht und Anton will wissen, wie sie sich zueinander verhalten. Leider hört er schlecht. Dabei kommt folgendes Gespräch zustande. Anton: x >y? Bert: Anton: nicht x >y? Bert: Anton: x <y? Bert: Anton: nicht x <y? Bert: Anton: nicht x >y und auch nicht x <y? Bert: Anton: x =y? Bert: Erstellen Sie ein Programm, das dieses Gespäch auf der shell ausgibt, natürlich mit den Antworten von Bert, zunächst für zwei fest verdrahtete gedachte Zahlen von Bert. Von Wert könnte dazu die Tabelle der Rangfolgen 1 sein sowie der Gedanke, für die Bertschen Antworten eine Funktion zu erstellen. Lassen Sie den Anwender Ihres Programmes die zwei Zahlen vorgeben. Dazu müssen Sie zwei Zahlen definieren und einen Programmteil einfügen ähnlich int a ; 6 cout << Geben Sie d i e Zahl ein. <<endl ; c i n >>a ; 8 cout << Die Zahl l a u t e t <<a<<endl ; 7 Block Schleifen 7.1 Die while -Schleifen Sie glauben Herrn Gauß nicht, dass das Addieren der Zahlen 1, 2, 3,... N dasselbe ist wie (N + 1) N. Deshalb schreiben Sie ein Programm, das die Summe mit der Gaußschen 2 1 Nach: Jesse Liberty, Jetzt lerne ich C++, Markt u Technik, München, 1998

7 Rang Bezeichnung Operator 1 Zugriffsoperator :: 2 Elementauswahl, Indizierung, Funktionsaufrufe, Inkrement. -> () und Dekrement in Postfix-Notation 3 Inkrement und Dekrement in Präfix-Notation, Adressoperator, ++! & * Dereferenz, new, delete, Typumwandlung, sizeof, Negation 4 Elementauswahl für Zeigern.* ->* 5 Multiplikation, Division, Modulo * / % 6 Addition, Subtraktion Verschiebung << >> 8 Vergleichsoperatoren < <= > >= 9 Gleich-, Ungleichoperator ==!= 10 logisches und && 11 logisches oder 12 Zuweisungsoperatoren = *= /= %= += -= 13 Komma, Table 1: Rangfolge der Operatoren. Formel vergleicht, zunächst für den historischen Fall N = 100. Versuchen Sie zunächst, die while-schleife zu verwenden. 7.2 for-schleifen Beschreiben Sie, was folgende Schleifen tun: 1. Welchen Wert hat Stunden am Ende? 2 int stunden ; for ( int i =0; i <10; i++) 4 { stunden=i ; 6 } 2. Wie oft steht durch in der shell? int i =10; 2 for ( ; i >0; i ) cout<< durch <<endl ; 3. Was passiert hier? for ( int k=20,m=0;m<k ; cout<< nun m: <<m++<< und nun k : <<k <<endl ) ;

8 8 Block Projektmäßige Programmentwicklung Es soll ein Programm entstehen, das bei der Auswertung von Klimadaten behilflich ist. Zunächst geht es um einen Data Logger, der stündlich die Temperatur misst. Von Interesse sind auf der Basis von Tagen das Minimum, das Maximum, der Mittelwert. Der Data Logger schreibt tageweise in eine Datei mit dem Namen temp.dat, diese wird vom Programm gelesen werden müssen. Das Programm wiederum schreibt seine Ergebnisse in eine neue Datei mit dem Namen temp.val. Das Programm entsteht im Team. Deshalb hat selbiges zunächst festgelegt, die Gruppen Datei lesen und schreiben, Berechnung von Minimum und Maximum, Berechnung des Mittelwertes entstehen zu lassen. Um die Programmteile hinterher gut zusammenfügen zu können, einigt sich das Team darauf, die Temperaturdaten als float-liste mit 24 Elementen zu speichern und zu verarbeiten. Berechnung von Minimum und Maximum Es sollen zwei Programmteile entstehen: eines, das die Temperaturdaten erwartet und das Minimum ausgibt, und eines, das die Temperaturdaten erwartet und das Maximum ausgibt. Berechnung des Mittelwertes Es soll ein Programmteil entstehen, das die Temperaturdaten erwartet und den Mittelwert ausgibt. Datei lesen und schreiben Es sollen zwei Programmteile entstehen: eines, das die Temperaturdaten aus der Datei temp.dat einliest und speichert, und eines, das die Ergebnisse der Berechnungen in die Datei temp.val speichert. 8.1 Erweiterungen Mögliche Erweiterungen sind: 1. Die Temperaturmessung funktioniert manchmal nicht. Dann trägt der Data Logger die Zahl -999 in die Datei. Berücksichtigen Sie dies in den Berechnungen.

9 2. Das Programm dauert zu lange. Einsparungen erkennt das Team in der Zusammenlegung der einzelnen Programmteile zu Berechnung von Minimum, Maximum und Mittelwert. 3. Es interessiert außerdem der Range. 4. Zu Minimum und Maximum soll der Zeitpunkt derselben gespeichert werden. Die erste Messung findet um 0.30 Uhr statt. 5. Das Programm soll täglich automatisch aufgerufen werden. Deswegen soll die Datei temp.val immer nur ergänzt werden, zusätzlich muss das aktuelle Datum vorgehalten werden. 9 Block Klassen deklarieren bis Methoden definieren 9.1 Klassen definieren und aufrufen Schreiben Sie nun eine Klasse Wald. Folgende Eigenschaften eines Waldes sollen gespeichert werden können: Anzahl Bäume Prozentanteil Nadelbäume Prozentanteil Laubbäume Jahreszahl der letzten Durchforstung Schadenklasse des Waldes Rote-Liste-Arten gefunden? Entwickeln Sie verschiedene Konstruktoren. Rechnen Sie mit der Dummheit des Benutzers. Ergänzen Sie den Konstruktor um einen Test: Wenn der Prozentsatz Laub- und der Prozentsatz Nadelwald nicht zusammen 100 ergibt, lassen Sie eine Warnung in die Shell schreiben. Folgende Methoden sollen bereitstehen: Ausgabe der Waldeigenschaften in die shell Forstmaßnahmen (, die zu einer Reduktion der Anzahl Bäume, vielleicht auch zu einer anteilsmäßigen Verschiebung führen) Sorgen Sie dafür, dass im Falle von Rote-Liste-Arten keine Forstmaßnahmen stattfinden.

10 10 Block Öffentliche und private Variable und Methoden 10.1 Geschützter Zugriff Überarbeiten Sie ihre Klasse Wald derart, dass die Variablen geschützt sind. Ergänzen Sie den Methodenkatalog entsprechend um Get- und Set-Funktionen Verwendung von Objekten von Klassen in Methoden Nun wollen Sie mit Ihrer Klasse Wald mehr tun als nur Objekte anlegen und verändern. Sie wollen Wälder vereinen, quasi Addieren. Dazu haben Sie verschiedene Möglichkeiten. 1. Sie erstellen einen Konstruktor, der als Eingabeparameter zwei Objekte der Klasse Wald erwartet und dann die Summe bildet. Testen Sie den Konstruktor, indem Sie im main() zwei Objekte der Klasse Wald erzeugen und unterschiedliche Eigenschaften zuordnen. Anschießend erzeugen Sie ein drittes Objekt der Klasse Wald mit dem soeben erstellten Konstruktor. Überprüfen Sie Ihr Ergebnis. 2. Erstellen Sie eine Methode SetAddierend, die als Eingabeparameter zwei Objekte der Klasse Wald erwartet und dann die Summe bildet. Schießlich wird diese Summe als Eigenschaften des aktuellen Objektes gespeichert. Überprüfen Sie Ihr Ergebnis. 3. Sie erstellen eine Methode Hinzufuegen, die zu einem Objekt, z.b. ihrwald ein Objekt seinwald addiert und das Ergebnis als neue Eigenschaften von ihrwald speichert. Überprüfen Sie Ihr Ergebnis. 11 Block Vererbung 11.1 Gebäudemanager Sie verwenden nun die verschiedenen Möglichkeiten der Vererbung. Wälder können Sie nicht mehr sehen? Wie wäre es mit Gebäuden? 1. Sie wollen Ihren lausigen Stadtplaner feuern und entwerfen ein Programm, dass seine Arbeit übernimmt. Sie finden in seinen Ordnern, nachdem Sie sich über das große Chaos geärgert haben, Krankenhäuser, Wohnsilos, Schulen, Villen, Universitätsgebäude, Reihenhäuser, Gerichte Sie planen ein Basisgebäude, als erste Einteilung dann öffentliche und private Einrichtungen, und dann fallen Ihnen noch andere Aufschlüsselungen ein. 3. Ihr Basisgebäude soll nur eine Nummer und Breite kennen. Ihr Sekretär hilft Ihnen bei der Verteilung weiterer Eigenschaften auf den tieferen Stufen (Ästhetikindex, Besteuerbarkeit,...)

11 4. Allerdings haben Sie kein Vertrauen zum Lehrkörper. Deshalb machen Sie es unmöglich, bei der Verwaltung von Bildungseinrichtungen auf irgendwelche höher gelegenen Informationen zuzugreifen. 5. Lassen Sie Ihren Gebäudepark mit verschiedenen Print-Funktionen ausgeben. 12 Block Zeiger 12.1 Zeiger Implementieren Sie folgendes Programm: 1 #include <iostream> using namespace std ; 3 int main ( ) 5 { float pasta = new float ; 7 float papst =3.0; 9 pasta=&papst ; 11 cout<< pasta << pasta<<endl ; cout<< papst << papst<<endl ; 13 cout<< &pasta << &pasta<<endl ; 15 cout<< &papst << &papst<<endl ; 17 cout<< pasta << pasta<<endl ; 19 float p i z z a = new float ; 21 p i z z a =4.4; papst= p i z z a ; 23 cout<< p i z z a << pizza <<endl ; 25 cout<< papst << papst<<endl ; 27 cout<< &p i z z a << &pizza <<endl ; cout<< &papst << &papst<<endl ; } cout<< p i z z a << pizza <<endl ; return 0 ;

12 Sie finden es unter Freigegeben Sylvia. Diskutieren Sie paarweise, um was für Entitäten es sich handelt, insbesondere, welche Ausgabe Sie auf der shell erwarten. Führen Sie es dann aus und vergleichen Sie Dynamische Listen Verwenden Sie Ihre Klasse Wald und arbeiten Sie in folgenden Schritten die Verwendung Ihrer Klasse in dynamischen Listen ein. 1. Erstellen Sie im main() einen Zeiger der Klasse Wald mit dem Namen Lehndorf. Verwenden Sie Ihre Print-Funktion, um dessen Greifbarkeit zu testen. 2. Deklarieren Sie in Ihrer Klasse zwei neue öffentliche Variable, zwei Zeiger der Klasse Wald. Sie sollen Naechster und Letzter heißen. Verändern Sie Ihre Konstruktoren so, dass Sie sie als null initialisieren, z.b. Wald Letzter = 0; 3. Testen Sie Ihre neuen Klassenvariablen, indem sie im main() noch einen Zeiger der Klasse Wald erzeugen und zwar Volkmarode. Speichern Sie Volkmarode als Naechster von Lehndorf. Speichern Sie Lehndorf als Letzter von Volkmarode. 4. Erzeugen Sie nun noch einen Zeiger der Klasse Wald, Gliesmarode. Speichern Sie Gliesmarode als Naechster von Volkmarode. Speichern Sie Volkmarode als Letzter von Gliesmarode. 5. Nun sind Ihre Wälder verkettet. 6. Leider haben Sie alle Wälder mit dem Standardkonstruktor erstellt. Deshalb sind die Wälder hinter den Zeigern alle mit denselben Werten für die Variablen ausgestattet. So können Sie sie nicht unterscheiden! Ordnen Sie deshalb Lehndorf die Schadensklasse 1, Volkmarode als Schadensklasse 10 und Gliesmarode die Schadensklasse 20 zu. Prüfen Sie, ob das geklappt hat. 7. Von Ihren Letzter und Naechster sind noch zwei nicht zugeordnet! Letzter von Lehndorf und Naechster von Gliesmarode erhalten die Nun brauchen Sie nur noch den Listenkopf zu speichern. Erstellen Sie einen Zeiger der Klasse Wald mit dem Namen Liste und setzen Sie ihn mit Lehndorf gleich. 9. Fügen Sie dann folgende magische Zeilen ein und versuchen Sie, sie zu verstehen, bevor Sie sie kompilieren und ausführen. for (Wald i t e r a t o r=l i s t e ; i t e r a t o r ; i t e r a t o r=i t e r a t o r >Naechster ) 2 { cout << i t e r a t o r >GetSchadensklasse ( ) << h i e r vorgefunden. \ n ; 4 } 10. Sie finden noch den Wald Querum und legen ihn als Zeiger an. Er hat die Schadensklasse 15. Weisen Sie sie ihm zu. Nun genießen Sie die ganze Freiheit dynamischer Listen, indem Sie Querum durch Umlegen der richtigen Naechster und Letzter an die entsprechende Stelle in der Liste einfügen, nämlich zwischen Volkmarode und Gliesmarode.

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Variablen, Konstanten und Datentypen

Variablen, Konstanten und Datentypen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

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

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

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 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.) Was liefert

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 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 ( / 12 Pkt.) Was liefert

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

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe. 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: ( / 25 Pkt.) Gegeben ist das folgende

Mehr

Wissenschaftliches Rechnen

Wissenschaftliches Rechnen Institut für Numerische und Angewandte Mathematik 11.04.2012 FB Mathematik und Informatik der Universität Münster Prof. Dr. Christian Engwer, Dipl. Math. Dipl. Inf. Sebastian Westerheide Übung zur Vorlesung

Mehr

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 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 ( / 12 Pkt.) Was liefert

Mehr

Funktionales C++ zum Ersten

Funktionales C++ zum Ersten Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme? Liebe Leserin, lieber Leser 10 Kapitel i: Schnelleinstieg 13 Kapitel 2: Was sind Programme? 17 Was ist ein Programm? 18 Sprechen Sie Computer? 18 Von der Idee zum Programm 19 Von Windows, Fenstern und

Mehr

Zeiger: Der Adressoperator &

Zeiger: Der Adressoperator & Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat

Mehr

C++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16

C++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16 C++ Teil 5 Sven Groß IGPM, RWTH Aachen 12. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 12. Nov 2014 1 / 16 Themen der letzten Vorlesung Eingabestrom, Verhalten von cin Namensräume Live Programming

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

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

8. Referenzen und Zeiger

8. Referenzen und Zeiger 8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 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.) Was liefert

Mehr

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

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 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) Wer

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

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5 Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in

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

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 64 1 Einführung Java Geschichte 2 Programmieren in Java Einführung

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 27. März 2009 Gruppe: E Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: E Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 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.) Was liefert

Mehr

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017 Familienname: Vorname: Matrikelnummer: Aufgabe 1 (3 Punkte): Aufgabe 2 (1 Punkt): Aufgabe 3 (2 Punkte): Aufgabe 4 (4 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (2 Punkte): Aufgabe 7 (4 Punkte): Aufgabe 8

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 9 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 ( / 12 Pkt.) Was liefert

Mehr

Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache:

Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache: Kapitel 8 Operatoren Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache: Operatoren definieren Es ist in C++ möglich, Operatoren wie +, oder für

Mehr

Programmiervorkurs Einführung in Java Tag 1

Programmiervorkurs Einführung in Java Tag 1 Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 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 ( / 6 Pkt.) a) Geben

Mehr

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen der Informatik 2. Operatoren 2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren

Mehr

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Informatik. Wiederholung Felder (Arrays), string. Vorlesung Informatik Vorlesung 04 Wiederholung Felder (Arrays), string 19. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Ein C++ Programm: Wiederholung #include

Mehr

Pseudo-Programmiersprache

Pseudo-Programmiersprache 1 Erste Schritte in C++ 4 Beschreibungsmöglichkeiten für Algorithmen Struktogramm Das gezeigte Struktogramm enthält die elementaren Grundstrukturen Folge, Auswahl und Schleife. Diese werden in einem der

Mehr

Übungen zur Vorlesung EINI (WS 2010) Blatt 11

Übungen zur Vorlesung EINI (WS 2010) Blatt 11 Martin Apel Informatik VI, GB5/R 431; Tel.: 4775 Nicola Beume Informatik XI, OH14/R 233; Tel.: 7704 Jürgen Mäter Informatik IV, GB5/R 402; Tel.: 2411 Dortmund, den 14. Januar 2011 Übungen zur Vorlesung

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

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Programmierkurs C/C++

Programmierkurs C/C++ Blockkurs: "Einführung in C/C++" Programmierkurs C/C++ Donnerstag Sandro Andreotti andreott@inf.fu-berlin.de WS 2008/09 1 Structs Blockkurs: "Einführung in C/C++" 2 Structs sind Bündel von Variablen (unter

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Reihentyp (Array)

Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Reihentyp (Array) Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Aufgabe 3: Diese Aufgabe baut auf der 2. Aufgabe auf und erweitert diese. Die Funktionalität der 2. Aufgabe wird also

Mehr

Zeiger. Zeiger ist eine Variable deren Wert eine Adresse enthält. Zeiger werden im Programm definiert. int *pmyinteger; Type *PointerName ;

Zeiger. Zeiger ist eine Variable deren Wert eine Adresse enthält. Zeiger werden im Programm definiert. int *pmyinteger; Type *PointerName ; Zeiger & Variable ist ein Speicherort im C++ Programm und hat eine Adresse. Variable - Zugriff auf Variable und/oder Adresse * & Operator liefert die Adresse einer Variablen im Speicher Adresse int myvariable

Mehr

Übung zur Vorlesung EidP (WS 2018/19) Blatt 4

Übung zur Vorlesung EidP (WS 2018/19) Blatt 4 Lutz Oettershagen Jurij Kuzmic Dortmund, den 8. November 2018 Übung zur Vorlesung EidP (WS 2018/19) Blatt 4 Block gelb Es können 4 Punkte erreicht werden. Abgabedatum: 15. November 2018, 2:59 Uhr Hinweise

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

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Christian-Albrechts-Universität zu Kiel CAU 9-1 Studentendatei Sie sollen ein Programm zur Verwaltung von Studenten (Büchern, Autos, Supermarktartikeln, etc...) schreiben.

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

10.4 Konstante Objekte

10.4 Konstante Objekte 10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 10 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 ( / 6 Pkt.) a) Erklären

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 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 ( / 4 Pkt.) Gegeben

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Hochschule Darmstadt Informatik-Praktikum SS 2018 EIT Bachelor 3. Aufgabenblatt Funktionen - Unterprogramme

Hochschule Darmstadt Informatik-Praktikum SS 2018 EIT Bachelor 3. Aufgabenblatt Funktionen - Unterprogramme Ziel ist die Aufteilung eines Programms in Funktionen und Dateien Aufgabe 3: Diese Aufgabe ist die Weiterentwicklung von Aufgabe 2. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl

Mehr

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11 C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen

Mehr

Einführung in die Programmierung II. 5. Zeiger

Einführung in die Programmierung II. 5. Zeiger Einführung in die Programmierung II 5. Zeiger Thomas Huckle, Stefan Zimmer 16. 5. 2007-1- Bezüge als Objekte Bisher kennen wir als Bezüge (Lvalues) nur Variablennamen Jetzt kommt eine neue Sorte dazu,

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 Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Gültigkeitsbereiche Inhalt Lokale und globale

Mehr

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

Informatik I - Übung 2 Programmieren in Eclipse

Informatik I - Übung 2 Programmieren in Eclipse Informatik I - Übung 2 Programmieren in Eclipse. / Info1 / HelloWorld / HelloWorld Wort1 Wort2 Daniel Hentzen dhentzen@student.ethz.ch 5. März 2014 1.2 Häufigste Fehler im Terminal auf Gross-/Kleinschreibung

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 III - Objektorientierte Programmierung 9. Klassen und Methoden Was sind Klassen? Seite 2 sprachliches Mittel von C++ um objektorientierte Programmierung

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

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom 31.5. bis zum 4.6.2010 (KW 22) Organisatorisches Diese Woche führen wir Methoden ein und behandeln

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. 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 ( / 12 Pkt.) Was liefert

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. 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 ( / 12 Pkt.) Was liefert

Mehr

Übung Notendarstellung

Übung Notendarstellung Übung Notendarstellung Einführung Unsere Zeichenfläche hat einige Erweiterungen erfahren, die wir heute nutzen wollen um eine Notendarstellung zu erhalten. Insbesondere hat gibt es nun die Möglichkeit

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und 17.6.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

Abend 4 Übung : Erweitern von Klassen durch Vererbung

Abend 4 Übung : Erweitern von Klassen durch Vererbung Abend 4 Übung : Erweitern von Klassen durch Vererbung Ziel, Inhalt Wir erweitern die Klassen, die wir zum Zeichnen mit TsuZeichnen verwenden. Dabei wenden wir die Vererbung an um die Klassen zu spezialisieren

Mehr

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke. Java Übung Übung 5 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 9. Mai 2006 (UniDUE) 9. Mai 2006 1 / 20 Beispiel Anforderungen: Klasse Mensch mit Attributen: Name, Alter, Laune, Geschlecht.

Mehr

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5. Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

Mehr

Ausgabe:

Ausgabe: Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife

Mehr

Kap. 11 Objektorientierung: ein Beispiel

Kap. 11 Objektorientierung: ein Beispiel Kap. 11 Objektorientierung: ein Beispiel Dr. Norbert Spangler / Programmieren 2 26.12.2015 1 Grundprinzip der Datentypen und Klassen Name des Typs Elementare Typen int bool Klasse Name (frei wählbar) Daten

Mehr

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer Inhaltsverzeichnis Einleitung Warum man programmieren können sollte.... xi Warum Python?.... xii Und warum Minecraft?... xii Was du in diesem Buch findest... xiii Online-Ressourcen....xv Möge das Abenteuer

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor

7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor 7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor Das Programmbeispiel aus dem letzten Abschnitt läßt sich bisher nicht zufriedenstellend zu Ende bringen. Unerklärliche Abstürze und Fehlverhalten

Mehr

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press Thomas Theis PHP4 Webserver-Programmierung für Um- und Einsteiger Galileo Press Inhalt Einführung 11 A.1 PHP-eine Beschreibung 11 A.2 Wie lerne ich PHP? 11 A.2.1 Grundlagen 12 A.2.2 Formulare und Datenbanken

Mehr

Informatik 1 ( ) D-MAVT F2011. Pointer, Structs. Yves Brise Übungsstunde 6

Informatik 1 ( ) D-MAVT F2011. Pointer, Structs. Yves Brise Übungsstunde 6 Informatik 1 (251-0832-00) D-MAVT F2011 Pointer, Structs Organisatorisches Übungsstunde 20110413 Da ich abwesend bin, bitte Gruppe von David Tschirky besuchen. Mittwoch, 20110413, 13:15-15:00 Uhr, VAW

Mehr