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

Ähnliche Dokumente
Informatik. Wiederholung Felder (Arrays), string. Vorlesung

C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue

Ein- und Ausgabe (I/O)

Grundlagen der Informatik 2. Typen

Ein und Ausgabe Grundlagen C++ E/A System operiert über streams streams sind logische Geräte, die Informationen produzieren bzw. verbrauchen streams

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung

Angewandte Mathematik und Programmierung

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Der Umgang mit Zahlen. Ein wesentlicher Unterschied: int oder float. Beispiel: int oma, opa, summe; float messwert, mittel; char zeichen, z1, z2, c;

Variablen, Konstanten und Datentypen

Auswahlen (Selektionen)

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.

5. Elementare Befehle und Struktogramme

Gestrige Themen. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen. Schleifen

Grundlagen der Programmierung

Grundlagen der Informatik 5. Kontrollstrukturen II

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

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

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

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

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Herzlich willkommen!

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5

Einstieg in die Informatik mit Java

Grundlagen der Programmierung

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik

4 Schleifen und Dateien

Einführung in I/O und File-Handling in C ++

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Kontrollstrukturen -- Schleifen und Wiederholungen

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

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.

Angewandte Mathematik und Programmierung

In Abhängigkeit von der Erfüllung einer Bedingung (1 = wahr, 0 = falsch) wird eine (Verbund-)Anweisung ausgeführt.

Vorlesungsprüfung Programmiersprache 1

Wo sind wir? Übersicht lexikale Struktur von Java

Programmieren in C/C++ und MATLAB

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

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

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

Grundlagen der Programmierung

C++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16

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

Einführung in die Programmierung

ios fstream ifstream

Eine kleine Befehlssammlung für Java Teil1

Grundlagen der Informatik 4. Kontrollstrukturen I

Gestrige Themen. Erste Schritte in Linux. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen

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

C/C++ - Programmierung. Formatierte Ausgabe mit cout Seite 1 von 6

Algorithmen zur Datenanalyse in C++

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

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

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

Informatik I (D-ITET)

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

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

Einstieg in die Informatik mit Java

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

Funktionales C++ zum Ersten

3 Grundstrukturen eines C++ Programms anhand eines Beispiels

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

C++ Programmierkurs. Wintersemester 04 / 05. Christian Hagemeier. Lehrstuhl Prof. Dr. Schrader Institut für Informatik Universität zu Köln

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

Informatik I - Übung 2 Programmieren in Eclipse

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe

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

Einstieg in die Informatik mit Java

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

Hochschule Darmstadt Informatik-Praktikum SS 2017 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe

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

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

Einführung in die Programmierung Wintersemester 2008/09

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

Grundelemente von C++

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

Programmiersprachen Einführung in C

Dr. Monika Meiler. Inhalt

RO-Tutorien 3 / 6 / 12

C++ Programmierkurs. Variablen. Wintersemester 04 / 05. Christian Hagemeier. mittwochs 17 18:30 Uhr Hörsaal II der Physikalischen Institute

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

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

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

Klausur Informatik I WS 2006/2007

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

WS2018/ Oktober 2018

Einführung Programmierpraktikum C Michael Zwick

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

Klausur Informatik WS 2012/13

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

Transkript:

Informatik Vorlesung 03b Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1

Ein C++ Programm: Wiederholung #include <iostream> using namespace std; int main() // Der Variablen a a wird der Wert 33 zugewiesen int a = 3; // Ausgabe (der String Geben "Geben Sie Sie " wird ausgegeben) cout << Geben "Geben Sie bitte eine ganze Zahl ein: ein:" << endl; int b; // Eingabe (Tastatureingabe) cin >> b; system ("pause"); return 0; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 2

Ein C++ Programm: Wiederholung #include <iostream> using namespace std; int main () int a = 5, b = 7; if // (a Der < Variablen b) a wird der Wert 3 zugewiesen int a = 3; cout << "Variable a ist kleiner b"; // Ausgabe (der String Geben Sie wird ausgegeben) else cout << Geben Sie bitte eine ganze Zahl ein: << endl; int b; // cout Eingabe << "Variable (Tastatureingabe) a ist groesser(gleich) b"; cin >> b; system ("pause"); return 0; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 3

Ein C++ Programm: Wiederholung #include <iostream> using namespace std; int main () // Der Operationen Variablen a wird der Wert 3 zugewiesen int a = 3; 5, b = 7; // a = Ausgabe a + b; (der String // Geben Addition Sie wird ausgegeben) cout b = b << Geben a + 13; Sie bitte // eine Subtraktion ganze Zahl ein: << endl; int a = b; 23 - (a * b) + 9; // Multiplikation // a = Eingabe (a / b) (Tastatureingabe) * 3; // Division cin b = >> a % b; b; // Modulo system ("pause"); return 0; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 4

Ein C++ Programm: Wiederholung #include <iostream> using namespace std; int main () // Der Schleifen Variablen (while) a wird der Wert 3 zugewiesen int a i = 3; 0; // Wiederhole solange i < 7 // while Ausgabe (i < (der 7) String Geben Sie wird ausgegeben) cout << Geben Sie bitte eine ganze Zahl ein: << endl; intcout b; << i << "-te Runde." << endl; // Eingabe i = i + (Tastatureingabe) 1; // oder i++; cin >> b; system ("pause"); return 0; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 5

Ein C++ Programm: Wiederholung #include <iostream> using namespace std; int main () // Der Schleifen Variablen (do...while) a wird der Wert 3 zugewiesen int a i = 3; 0; // Die Bedingung wird erst nach der Iteration überprüft // do Ausgabe (der String Geben Sie wird ausgegeben) cout << Geben Sie bitte eine ganze Zahl ein: << endl; intcout b; << i << "-te Runde." << endl; // Eingabe i = i + (Tastatureingabe) 1; // oder i++; cin >> b; while (i < 7); // Wiederhole solange i < 7 system ("pause"); return 0; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 6

Ein C++ Programm: Wiederholung #include <iostream> using namespace std; int main () // Der Variablen a wird der Wert 3 zugewiesen // Schleifen (for) int a = 3; int i; // Wiederhole solange i < 7 // Ausgabe (der String Geben Sie wird ausgegeben) for (i = 0; i < 7; i++) cout << Geben Sie bitte eine ganze Zahl ein: << endl; int b; cout << i << "-te Runde." << endl; // Eingabe (Tastatureingabe) cin >> b; system ("pause"); return 0; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 7

Abbruch von Schleifen Es gibt zwei Möglichkeiten, die zu einem Abbruch der Schleifendurchläufe führen: Die Anweisung continue im Schleifenkern beendet den aktuellen Durchlauf und fährt mit dem nächsten Durchlauf fort. Die Anweisung break im Schleifenkern beendet die komplette Schleife und springt zur ersten Anweisung nach der Schleife. cout << "Zahlen: "; for (int i = 0; i <= 5; i++) if (i == 3) continue; cout << i << ", "; Ausgabe: Zahlen: 0, 1, 2, 4, 5, cout << "Zahlen: "; for (int i = 0; i <= 5; i++) if (i == 3) break; cout << i << ", "; Ausgabe: Zahlen: 0, 1, 2, 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 8

Verzweigung: Mehrfachauswahl Mehrfachverzweigung (switch): switch (<Ausdruck>) case <Wert_1>: <Aktion_1> break; case <Wert_2>: <Aktion_2> break;... default: <Aktion_N> break; Beispiel: int tag;... switch (tag) case 1: cout << "Montag"; break; case 2: cout << "Dienstag"; break;... default: cout << "???"; break; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 9

Verzweigung: Mehrfachauswahl Mehrfachverzweigung (switch): Sind die Fälle (case) eindeutig, so muss unbedingt nach den einzelnen Anweisungsblöcken eine break-anweisung stehen! Diese bewirkt einen Sprung ans Ende der switch-anweisung. Fehlt die break-anweisung, so läuft das Programm einfach in den nächsten Fall hinein. <Ausdruck> muss ganzzahlig sein (Typ int oder char). Reelle Zahlen und Zeichenketten sind nicht erlaubt! <Wert_1> <Wert_2> (Beispielprogramme werden in der Vorlesung gezeigt.) 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 10

Variablen & einfache Datentypen Art Datentyp Englisch ganze Zahlen int integer reelle Zahlen float double floating point double precision Einzelzeichen char character Wahrheitswert bool nach George Boole Syntax: <datentyp> <variablenliste>; Beispiele: int anzahl; int var_1, zaehler, studi; float prozent; double gehalt; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 11

Einschub: Datentyp char Eine char-variable ist 1 Byte groß und enthält einen Wert im Bereich 0... 255 (oder -128... 127). Sie kann als Zahl oder als Zeichen interpretiert werden. ASCII-Code 0...31 127 32...47 58...64 91...96 123...126 Zeichen Steuerzeichen (nicht darstellbar) (z. B. neue Zeile) Escape-Sequenzen Sonderzeichen (z. B. +, -,!, #, etc.) 48...57 0, 1,...,9 65...90 A,B,...,Z 97...122 a,b,...,z 128...255 erweiterter Zeichensatz (z. B. Umlaute, graphische Zeichen, etc.) 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 12

Einschub: Datentyp char Steuerzeichen und einige andere Zeichen können als so genannte Escape- Sequenz (Zeichen '\' + weiteres Zeichen) eingegeben werden: Escape- Sequenz ASCII-Code dezimal hexadezimal Bedeutung \a 7 0x07 Bell (Piepzeichen) \b 8 0x08 Backspace (1 Position zurück) \f 12 0x0C Formfeed (Seitenvorschub) \n 10 0x0A Linefeed (neue Zeile) \r 13 0x0D Carriage return (Zeilenanfang) \t 9 0x09 Tabulator (horizontal) \\ 92 0x5C Backslash (entwertet) \' 44 0x2C Single quote (entwertet) \" 34 0x22 Double quote (entwertet) \0 0 0x00 Null-Zeichen (String-Ende) wichtig 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 13

Wiederholung: Ein- / Ausgabe Erfolgt mittels vordefinierter Ein- und Ausgabe-Streams (Stream, engl. = Strom): cin: Eingabe über Tastatur cout: Ausgabe auf Bildschirm cerr: Fehlermeldungen clog: Zusatz-informationen (logging) Die eigentliche Ein- und Ausgabe geschieht durch Angabe des jeweiligen Streams und durch Verwendung der Operatoren: >> (Eingabe) << (Ausgabe) Die Datei/Bibliothek iostream muss in das Programm eingebunden werden: #include <iostream> Die Streams sind in einem sogenannten "Namespace" mit dem Namen std definiert. Programm muss festlegen, dass dieser benutzt wird: using namespace std; 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 14

Ein- und Ausgabe: Manipulatoren Manipulatoren formatieren die Ein- und Ausgabe. Sie werden wie Ausdrücke/Variablen in die Ein- und Ausgabekette eingefügt. Manipulatoren sind in einer eigenen Datei definiert iomanip. #include <iomanip> muss in das Programm eingefügt werden. Beispiele: Die Manipulatoren endl und flush bewirken eine Ausgabe. setw() beeinflusst nur die unmittelbar nächste Ausgabe. int i = 23; float f = 11.234567; cout << '*' << setw (5) << i << i; cout << f; cout << scientific << f; cout << setprecision (4) << f; cout << fixed << setprecision (4) << f; cout << scientific << setprecision (4) << f; cout << i << endl << i; cout << hex << i << ' ' << dec << i; cout << setw (6) << left << i << endl << setw (6) << right << i; Ausgabe: * 2323 11.2346 1.123457e+001 1.1235e+001 11.2346 1.1235e+001 23 23 17 23 23 23 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 15

Manipulatoren: die wichtigsten Manipulator cin cout Beschreibung setw(n) X X Feldbreite n (nur nächste Ausgabe) setprecision(n) X n Ziffern insgesamt, mit fixed oder scientific nach dem Decimalpunkt (nur für reelle Zahlen) fixed X Format xxx.xx ohne Exponent (nur für reelle Zahlen) scientific X Format x.xxxexx mit Exponent (nur für reelle Zahlen) setbase(n) X Integer zur Basis n (nur für ganze Zahlen) dec X X Dezimal Standard (nur für ganze Zahlen) hex X X Hexadezimal (nur für ganze Zahlen) oct X X Oktal (nur für ganze Zahlen) setfill(c) X Zeichen c zum Füllen verwenden left X Linksbündig right X Rechtsbündig (Standard) flush X Ausgabepuffer anzeigen endl X '\n' ausgeben und Ausgabepuffer anzeigen skipws / noskipws X Trennzeichen überlesen / nicht überlesen beim Einlesen der Zeichen 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 16

Ende Vielen Dank! 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 17