Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Ähnliche Dokumente
Informatik I - Übung 2 Programmieren in Eclipse

2. Datentypen und Variablen I

Projekt 3 Variablen und Operatoren

Einführung in die Programmierung

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente

Informatik I (D-ITET)

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt).

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

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

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Angewandte Mathematik und Programmierung

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

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

Unterlagen. CPP-Uebungen-08/

Elementare Datentypen in C++

VORBEMERKUNGEN ZUM INFORMATIK-KURS : PROGRAMMIEREN MIT C++

C-Programmierkurs Mathematik

Ein kleiner Blick auf die generische Programmierung

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

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

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Informatik I Übung, Woche 38

DAP2 Praktikum Blatt 1

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

Probeklausur Name: (c)

Grundlagen der Programmierung

1 UNIX und die Kommandozeile. 2 C++ Tipps. 1.1 wichtige Befehle und Programme. 1.2 Umleiten der Standardein- und Ausgabe. 2.

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

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

2 Eine einfache Programmiersprache

Vorlesungsprüfung Programmiersprache 1

Programmieren in C/C++ und MATLAB

C++ Teil 7. Sven Groß. 26. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 18

9. Vektoren. (auch Felder/array)

Übungsblatt 1. Java Vorkurs (WS 2017)

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.

Informatik I Übung, Woche 38

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

Arrays (Felder/Vektoren)

2 Eine einfache Programmiersprache

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

Grundlagen der Informatik 6. Arrays I

Programmieren in C/C++ und MATLAB

Funktionales C++ zum Ersten

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Kurzeinführung in C99

15. Die Klasse string

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Variablen, Konstanten und Datentypen

Java I Vorlesung Imperatives Programmieren

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

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

2 Eine einfache Programmiersprache

Methoden und Wrapperklassen

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache

Michael Dienert. 8. Dezember 2016

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

1 EINFÜHRUNG PROGRAMMAUFBAU IN C++

Die Programmiersprache C

Programmieren/Algorithmen und Datenstrukturen 1

Abgeleitete Datentypen

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.

Exercise 3. Data Types and Variables. Daniel Bogado Duffner - n.ethz.ch/~bodaniel. Informatik I für D-MAVT

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

Kapitel 3: Variablen

Hydroinformatik I: Hello World

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

Informatik Vorkurs - Vorlesung 2

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

Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!

ÜBUNGS-BLOCK 7 LÖSUNGEN

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

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Programmierung mit C Zeiger

Auswahlen (Selektionen)

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

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Grundlagen von C# - 1

Ulrich Stein

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Transkript:

Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch

Downloads : http://n.ethz.ch/~dhentzen/download/

Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung Übung 2

Übung 1 : Linux, Terminal und Kompilieren

Linux Terminal...

Hello World... argc, argv

Fehler

im Debugger nur Debugger-Befehle benutzen!

auf Gross -und Kleinschreibung achten!

falls nicht im korrekten Verzeichnis : ganzen Pfad angeben Dateiendung nicht vergessen falls [info1@virtualfedora ~] $ verschwindet : ctrl -c Kompilieren : g++ -c main.cpp g++ -o Programmname main.o

Prüfungsaufgabe Sommer 2013

"Die Datei test.txt befindet sich im Ordner Info1/2013/Test/. Verschieben Sie diese Datei in das Verzeichnis 2013 und benennen Sie sie um in test2.txt " Lösung : mv Info1/2013/Test/test.txt Info1/2013/test2.txt

Theorie

Einführung in Eclipse Elemente eines C++ Programmes Input / Output (cin / cout) Datentypen Variablen (Deklaration und Zuweisung) Arithmetische Operatoren Typenumwandlung

Eclipse

How to get started... 1. "File > New > C++ Project" 2. Projekt Namen eingeben (z.bsp : Serie2) 3. Linux GCC auswählen 4. Finish 5. Rechtsklick auf [Projektname] in der linken Spalte 6. "New > File" 7. Filename.cpp eingeben (z.bsp : aufgabe1.cpp) keine Sonderzeichen benutzen!

Programm ausführen 1. Speichern 2. Kompilieren "Hammer" (Build Debug) 3. Ausführen "Grüner Pfeil" (Play) Regelmässig speichern!

eigene Argumente : " Run Configurations... > Arguments " Aufruf im Programm mit argv[ ]

Elemente eines C++ Programmes

Präprozessor #include<iostream> using namespace directive main () - Funktion Eingabe und Ausgabe mit cin und cout Objekten Deklaration und Verwendung von Variablen

main() - Funktion muss in jedem C++ Programm vorliegen hier werden Anweisungen erteilt

main() - Funktion Funktionskopf : int main() // Teil vor main gibt Rückgabetyp an (hier: integer) Funktionskörper : { statements; // Anweisungen mit Semikolon enden! return 0; // Beendet die Funktion und gibt 0 zurück. } main() oder main(void) : Funktion ohne Argumente mean(int a, int b) : Funktion mit Argumenten

Output (cout) cout : vordefiniertes Objekt gibt einen Zeichenstrom aus (ostream) kann viele verschiedene Datentypen ausgeben << übergibt Daten an cout Konkatenation

cout << "This is Info1"; // zur Ausgabe der Zeichen in Anführungszeichen cout << "Konka" << "tenation"; // Konkatenation int var = 3; cout << "Die Variable beträgt : " << "var"; cout << "Die Variable beträgt : " << var; // Ausgabe von Variablen cout >> "This is Info I"; // invalid "This is Info I" >> cout; // invalid Achtung :

cout << "line1" << endl; cout << "line2"; cout << "line1\n"; cout << "line2"; cout << "line1" << endl << "line 2"; cout << "line1\nline 2; Formatiere n in neue Linie springen cout << "line1 endl line2"; // invalid cout << "line1" << \n << "line2"; // invalid

Input (cin) Dateneingabe an das Programm cin liest Zeichenstrom (istream) weist Variablen zu aufpassen auf Typen! (siehe Typenumwandlung) >> übergibt Daten an cin Konkatenation

int i; cin >> i; int a; int b; cin >> a >> b; // Konkatenation implizite Typenumwandlung : int a; cin >> a; // falls Benutzer einen String eingibt, a=0 // falls Benutzer einen Kommazahl eingibt, wird die Zahl abgerundet int a,b; cin >> a; // Programm wartet auf Input // Input : 65 73 cin >> b; // b = 73;

Beispiel

Variablen

Deklaration : <type> <name>; int fleas; // macht den Namen "fleas" für ein C++ Programm kenntlich // deklariert den Namen "fleas" vom Typ Integer und ordnet Speicher zu Variablendeklaration an beliebigen Stellen im Programm auf Gültigkeitsbereich achten (scope)!

Einige Datentypen :

Erlaubte Variablennamen alphabetische Zeichen, Ziffern und underscore (_) erstes Zeichen darf keine Ziffer sein! Name sollte nicht mit _ beginnen... keine C++ Wörter! (main, int, for,...) Case-sensitive! (Gross-/Kleinschreibung)

int firstname; // valid int Firstname; // valid, unterscheidet sich von "firstname" int info2014; // valid int 2014info; // invalid, erstes Zeichen ist eine Zahl int what_a_great_name; // valid int var!; // invalid, enthält Sonderzeichen int main; // invalid, C++ keyword int main_test; // valid int _thisvar; // valid, sollte aber nicht benutzt werden

Zuweisung int a; // Deklaration a = 3; int a,b,c; // Deklaration in Serie a = b = c = 5; in Serie :

Arithmetische Operatoren + - * / % % : modulo : gibt den Rest einer Division an Bsp : 7 % 3 = 1 Klammern > Operatoren /, *, mod > +, - sonst : links nach rechts

5 * 4 + 1; 5 * (4 + 1); 2 * 3 + 3 * 4 / 2; 9 % 4 + 1; 9 % (4 + 1); 5 * 3 % 4 * 2; 5 * (3 % 4) * 2; // 30

Typenumwandlung float a = 3.14 int b = a; Die Variable b kann keine reelle Zahl abspeichern. Der Wert der b zugewiesen wird, wird umgewandelt. Nachkommastellen werden abgeschnitten. b = 3 Wenn ein numerischer Wert einer Variable eines anderen Typs zugewiesen wird, passt sich der Typ des Werts an den Typ der empfangenden Variable an.

Umwandlung in arithmetischen Operationen 5.453f * 3 * 9.86 = float/int/double?? Faustregel : C++ wandelt Ausdruck in den "generellen" Typ um. float * int = float float * double = double 5.453f (float) * 3 (int) * 9.86 (double) = 16.359 (float) * 9.86 (double) = 161.29974 (double)

Achtung : Integer Division 5 / 2 == 2 // 0.5 wird abgeschnitten 1 / 2 == 0 // hier auch

Mehr Beispiele 13.0f * 4 = 52.0 (float) 7.0 * (3 / 7) = 0.0 (double) 20 / (10 / 6) = 20 (int) 20 / (10.0 / 6) = 12 (double)

Übung 2 : Programmieren in Eclipse

Aufgabe 1 : Eclipse Starten

Aufgabe 2 : Neues Projekt erstellen

Aufgabe 3 : Temperaturumwandlung

Achtung auf Integer Division! welcher Datentyp wird benötigt? integer? float? double?

Aufgabe 4 : Erweiterte Temperaturumwandlung

Programmargumente sind strings (Zeichenketten) falls damit gerechnet werden soll, müssen sie in eine Zahl umgewandelt werden! atof - Funktion benutzen! in <stdlib.h> definiert im Header "includen" http://www.cplusplus.com