Angewandte Mathematik und Programmierung

Ähnliche Dokumente
Modellierung und Programmierung 1

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

PIC16 Programmierung in HITECH-C

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 17/18

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

Programmieren 1 C Überblick

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

6. Grundlagen der Programmierung

Algorithmen zur Datenanalyse in C++

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Kompilieren Datentypen Operatoren. Überblick. 1 Kompilieren. 2 Datentypen. const static volatile. 3 Operatoren. Alexander Batoulis

Java I Vorlesung Imperatives Programmieren

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

C- Kurs 03 Ausdrücke und Operatoren

4 Formelsammlung C/C++

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.

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Einstieg in die Informatik mit Java

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

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

4.2 Programmiersprache C

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Einstieg in die Informatik mit Java

Hello World! Eine Einführung in das Programmieren Variablen

Unterlagen. CPP-Uebungen-08/

Grundlagen der Modellierung und Programmierung, Übung

RO-Tutorien 3 / 6 / 12

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

RO-Tutorien 15 und 16

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

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

Operatoren (1) Operatoren (2)

Funktionales C++ zum Ersten

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Repetitorium Programmieren I + II

Die Programmiersprache C Eine Einführung

Kap 9. Bitoperationen und -strukturen

C-Programmierkurs Mathematik

Einführung Programmierpraktikum C Michael Zwick

Einführung in die Programmierung

Einführung in die Programmierung Wintersemester 2011/12

3. Java - Sprachkonstrukte I

Primitive Datentypen

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

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

Syntax und Kontrollstrukturen

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

Ausdrücke (1) Grundlegende Eigenschaften

Grundlagen der Informatik 2. Typen

Vorlesungsprüfung Programmiersprache 1

2 Programmieren in Java I noch ohne Nachbearbeitung

Einführung in die Programmierung

3. Operatoren und Ausdrücke

8. Ausdrücke, Operatoren (einfache Typen)

3.1 Reservierte Wörter

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

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

Grundlagen der Informatik 4. Kontrollstrukturen I

Anweisungen zur Ablaufsteuerung

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

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

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

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

3. Operatoren und Ausdrücke

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

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

3. Operatoren und Ausdrücke

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

Übungsstunde: Informatik 1 D-MAVT

2. Ganze Zahlen int unsigned int

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

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

3. Java - Sprachkonstrukte I

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

2. Programmierung in C

Transkript:

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 Zuweisungsoperator <operand_a> = <operand_b> weist dem linken Operanden, welcher eine Variable sein muss, den Wert des rechten Operanden zu. Es können auch Mehrfachzuweisungen auftreten. Z.B. a= b= c= 200; Arithmetische Operatoren x + y, x Y // Addition und Subtraktion x * y, x / y // Multiplikation und Division x% y // Modulo (Rest bei ganzzahliger Division) x++, ++x, y--, --y // x++ entspricht x = x + 1; y-- entspricht y = y-1 +x, -y // unitärer (Vorzeichen)- tritt nur ein Operand auf. x++ //nutze aktuellen Wert und Erhöhe um 1 ++x //Erhöhe um 1 und nutze neuen Wert 2

Operatoren Verhältnis Operatoren Verhältnisse x < y // kleiner x <= y //Kleiner gleich x > y //größer x >= y //größer, gleich x == y //gleich? x!= y //nicht gleich? Beispiel: { bool bi,bj; int i; bi = ( 3 <= 4 ); bj = ( 3 > 4 ); cout << " 3 <= 4 TRUE = " << bi << endl; cout << " 3 > 4 FALSE = " << bj << endl; // if - statement will be defined in Sec. 4 i = 3; if (i <= 4) { cout << "\n i less or equal 4 \n\n"; 3

Operatoren Logische Operatoren Logik 0 // false nicht null // true!x // Negation x && y // logisch und x y // logisch oder && und werden von links nach rechts nach bedarf Ausgewertet Beispiel: { const int Ne = 5; // one limit int i; cout << " i = " ; cin >> i; // Input i if ( i <= Ne && i >= 0 ) // other limit is 0 { cout << "i between 0 and 5" << endl; 4

Operatoren Zeichen Operatoren Sonderzeichen \n //neue Zeile \ //Hochkomma \ //Anführungszeichen \? //Fragezeichen 5

Operatoren Bit und Shift Operatoren ~i // Komplement (bitweise Negation des Operanden) i&j // UND i^j // exklusives ODER i j // inklusives ODER i<<n // schiebe nach links i>>n // schiebe nach rechts Nutzbar für alle integer Typen Beispiel: main() { short int k,l; short int n1,n2,n3,n4,n5,n6,n7; l = 5; // 0..000101 = 5 k = 6; // 0..000110 = 6 n1 = ~k; // Komplement 1..111001 = -7 = -6-1 n2 = k & l; // bit-and 0..000100 = 4 n3 = k l; // bit-or 0..000111 = 7 n4 = k ^ l; // bit-xor 0..000011 = 3 n5 = k << 2; // shift left by 2 0..011000 = 24 = 6 * 2^2 n6 = k >> 1; // shift right by 1 0..000011 = 3 = 6 / 2^1 n7 = l >> 1; // shift right by 1 0..000010 = 2 = 5 / 2^1 6

Operatoren Zuordnung (Inkrement- und Dekrement) Operatoren x = y x += y, x -= y X *= y, x/= y x %= y x >>= n, x <<= n x &= y, x = y x ^= y gewöhnungsbedürftig ermöglicht kompakten Code // Beispiel: prefix Notation { int i=3, j; ++i; // i = 4 j = ++i; // i = 5, j = 5 // prefix Notation oben entspricht i = i + 1; j = i; { int i,j,w; float x,y; i += j w >>= 1; x *=y; // i = i+j // w = w >> 1 (= w/2) // x = x*y // Beispiel: postfix Notation { int i=3, j; i++; // i = 4 j = i++; // i = 5, j = 4 // postfix Notation oben entspricht j = i; i = i + 1; 7

Operatoren Operationen mit vordefinierten Funktionen 8

Operatoren Operationen mit vordefinierten Funktionen 9

Ausdrücke Bedingte Ausdrücke if (Bedingung) { // (Bedingung)?(TRUE):(FALSE); // Code wenn TRUE else { // Code wenn FALSE Klammern sind optional: Siehe unten if ( x < 0 ) x = -x; //Bedingung y = -y; // Immer ausgeführt 10

Schleifen while Schleife while (Bedingung) { // Code do-while Schleife do { // Code while (Bedingung) mindestens 1 Durchlauf 11

Schleifen for Schleife for (init-statement; test-expr; increment-expr) { // Code For Schleife mit break und continue Ausdrücke for (i = 0; i < 100; i++ ) { if ( i == j ) continue; if ( i > j ) break; 12

Klassen und Strukturen in C++ Strukturen können nur wie einfache Klassen behandelt werden, damit die Umsetzung von C- Quellcode nach C++ vereinfacht wird. Da die Strukturen die wichtige Kapselung nicht unterstützen, sollten Sie stattdessen immer Klassen einsetzen. In dieser Vorlesung wird class immer benutzt! 13

Klassengerüst int s = 10 ;// Globaler Variable class Klassenname{ private: Datentyp name; //Instanzvariable Static Datentyp name; //Klassenvariable public: Klassenname(); //Default Konstructor Klassenname(Datentyp parameter); //Konstruktor Datentyp Funktion1(); //Memberfunktion Datentyp Funktion2(Datentyp parameter); Datentyp Funktion3() const; // const-memberfunktion static Datentyp Funktion4() //static-memberfunktion ; // Typisch für C++ Diese Klasse wird später über Main instanziiert. 14

Standard Minimal Program in C/C++ Einfache Main mit Hello World: //Hello-world C Version #include <stdio.h> /* pre-prozessor command */ /* start function main */ int main() { /* begin function body */ printf("hello world \n"); /* function call printf(...) */ getchar(); return 0; /* return some value*/ /* end function body */ 15

Standard Minimal Program in C++ Einfache Main mit Hello World: /* Hello-world C++ Version */ #include <iostream> // pre-prozessor command using namespace std; /* start function main */ int main() { /* begin function body */ cout << "Hello world" << endl; cin.get(); return 0; /* end function body */ 16

Klassengerüst weiter... Die Basis der OOP- Zusammengefasst C++ erlaubt unter anderen die Deklaration von Klassen und Strukturen zur Strukturierung eines OOP-Programms. Klassen und Strukturen unterscheiden sich in C++ prinzipiell kaum. In beiden können Sie Eigenschaften und Methoden unterbringen. Klassen werden mit dem Schlüsselwort class deklariert, Strukturen mit struct. Alle Datenfelder in einer Struktur sind öffentlich. Klassen ermöglichen dagegen, dass Datenfelder privat oder geschützt (protected) deklariert werden. Strukturen ermöglichen somit nicht das wichtige Konzept der Kapselung. class person{ string Name; // private string Nachname //private public: void laufen(){ //public ; struct person{ string Name; // public string Nachname //public void laufen(){ //public ; 17