Grundelemente der C++ Programmierung Pearson Education, Inc. All rights reserved.

Größe: px
Ab Seite anzeigen:

Download "Grundelemente der C++ Programmierung. 2006 Pearson Education, Inc. All rights reserved."

Transkript

1 1 2 Grundelemente der C++ Programmierung

2 2 2.1 Einführung 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 2.3 Varianten des ersten C++ Programms 2.4 Zweites C++ Programm: Ganze Zahlen addieren 2.5 Speicherkonzepte 2.6 Arithmetik 2.7 Fallunterscheidungen: Vergleichsoperatoren

3 3 2.1 Einführung C++ Programmierung Vier einführende Beispiele zeigen Wie Meldungen ausgegeben werden Wie Informationen vom Nutzer erhalten werden Wie arithmetische Berechnungen durchgeführt werden Wie Entscheidungen getroffen werden

4 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 4 Einfaches Programm Gibt eine Zeile Text aus Illustriert eine Reihe von wichtigen Eigenschaften von C++

5 1 // Fig. 2.1: fig02_01.cpp 2 // Text-printing program. 3 #include <iostream> // allows program to output data to the screen 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome to C++!\n"; // display message 9 10 return 0; // indicate that program ended successfully } // end function main Welcome to C++! Outline fig02_01.cpp (1 von 1) Pearson Education, Inc. All rights reserved.

6 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 6 Kommentare Erläutern das Programm anderen Programmierern Verbessern die Lesbarkeit des Programms Werden vom Compiler ignoriert Einzeilenkommentare Beginnen mit // Beispiel // This is a text-printing program. Mehrzeilenkommentare Beginnen mit /* Enden mit */

7 7 Praxis-Tipp Jedes Programm sollte mit einem Kommentar beginnen, der den Zweck des Programms angibt, außerdem den Autor, das Datum und eine Versionsbezeichnung. (Im Rahmen dieser Folien wird aus Gründen der Übersichtlichkeit auf die Angabe von Autor, Datum und Versionsbezeichnung verzichtet.)

8 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 8 Präprozessor Direktiven Steuern i.w. textliche Ersetzungen und Ergänzungen Werden vor der Compilierung vom Präprozessor verarbeitet Beginnen mit # Beispiel #include <iostream> Veranlasst den Präprozessor, die Headerdatei <iostream> für Ein- und Ausgabestrom einzuschließen.

9 9 Häufiger Programmierfehler Wenn man vergisst, die <iostream> Headerdatei in ein Programm einzuschließen, das Daten von der Tastatur einliest oder an den Bildschirm ausgibt, meldet der Compiler einen Fehler. Der Compiler kann in solchen Fällen eine Bezugnahme auf Komponenten des Ein-/Ausgabestroms (z.b. std::cout) nicht erkennen.

10 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 10 Leerraumzeichen ( White space ) Leere Zeilen, Leerzeichen und Tabulatoren Eingesetzt, um Programme besser lesbar zu machen Werden vom Compiler ignoriert

11 11 Praxis-Tipp Leere Zeilen und Leerzeichen sollten zur Verbesserung der Lesbarkeit eines Programms eingesetzt werden.

12 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 12 Funktion main Teil jedes C++ Programms Genau eine Funktion jedes Programms muss main heißen. Gibt einen Wert vom Typ einer ganzen Zahl (einen integer ) zurück Beispiel int main() Der Funktionskörper wird in geschweifte Klammern ({}) eingeschlossen. Anweisungen ( statements ) Weisen das Programm an, eine Aktion auszuführen Alle Anweisungen enden mit einem Semikolon (;).

13 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 13 Namensbereich (namespace) std:: Gibt an, dass ein Name benutzt wird, der zum Namensbereich std gehört Ein Namensbereich kann durch eine using Direktive für ein ganzes Programm angegeben werden (s. Abschnitt 2.7). Standard Ausgabestrom-Objekt std::cout Ist mit dem Bildschirm verbunden Ist in der Ein-/Ausgabestrom Headerdatei <iostream> definiert

14 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 14 Ausgabeoperator << Der rechte Operand wird in den linken Operanden eingefügt, d.h. hier: der rechte Operand wird ausgegeben. Beispiel std::cout << "Hello"; Die Zeichenkette "Hello" wird in den Standardausgabestrom eingefügt, d.h. auf dem Bildschirm dargestellt. Escape Zeichen Ein Zeichen, dem ein "\" (Backslash) vorangestellt ist Zeigt die Ausgabe eines speziellen Zeichens an Beispiel "\n" Der Cursor wird zum Anfang der nächsten Zeile bewegt.

15 15 Escapesequenz Beschreibung \n Zeilenwechsel. Positioniert den Cursor am Anfang der nächsten Zeile. \t Horizontaler Tabulator. Bewegt den Cursor zum nächsten Tabulator-Stopp. \r Wagenrücklauf. Positioniert den Cursor am Anfang der aktuellen Zeile; wechselt dabei nicht zur nächsten Zeile. \a Alarm. Gibt ein Signal auf den Systemlautsprecher. \\ Backslash. Benutzt zur Ausgabe dieses Zeichens. \' Einfaches Anführungszeichen. Benutzt zur Ausgabe dieses Zeichens. \" Doppeltes Anführungszeichen. Benutzt zur Ausgabe dieses Zeichens. Fig. 2.2 Escapesequenzen.

16 16 Praxis-Tipp Viele Programmierer nehmen als letztes Zeichen, das von einer Funktion ausgegeben wird, das newline-zeichen (\n). Das stellt sicher, dass die Funktion den Bildschirmcursor am Beginn einer neuen Zeile hinterlässt. Konventionen dieser Art unterstützen die Wiederverwendung von Software - ein Hauptziel der Softwareentwicklung.

17 17 Häufiger Programmierfehler Weglassen des Semikolons am Ende einer C++ Anweisung ist ein Syntaxfehler. (Präprozessordirektiven enden nicht mit einem Semikolon.) Die Syntax einer Programmiersprache legt die Regeln für die Erzeugung eines gültigen Programms in dieser Sprache fest. Ein Syntaxfehler tritt auf, wenn der Compiler Code vorfindet, der die Sprachregeln von C++ verletzt. Der Compiler gibt eine Fehlermeldung als Hilfe für den Programmierer aus, um den fehlerhaften Code zu finden und zu korrigieren.

18 18 Häufiger Programmierfehler Syntaxfehler werden auch Compilerfehler, Übersetzungsfehler oder Fehler zur Übersetzungszeit genannt, weil der Compiler sie während der Übersetzungsphase aufdeckt. Eine Ausführung des Programms ist unmöglich, solange nicht alle Syntaxfehler korrigiert sind.

19 2.2 Erstes Programm in C++: Eine Zeile Text ausgeben 19 return Anweisung Eine von verschiedenen Möglichkeiten, um eine Funktion zu beenden Wird return am Ende von main eingesetzt, zeigt der Wert 0 eine erfolgreiche Beendigung des Programms an. Beispiel: return 0; main ist die einzige Funktion, bei der die return Anweisung weggelassen werden darf, obwohl ein Rückgabetyp (int) für main erklärt wurde. Der Compiler ergänzt in diesem Fall automatisch die Anweisung return 0;

20 20 Portabilitäts-Tipp Im C++-Standard ist für main der Rückgabetyp int festgelegt. Ein Rückgabetyp void ist nicht standardkonform und führt bei manchen C++- Compilern (nicht bei MS Visual C++) zu einer Fehlermeldung. Ein Rückgabetyp void für main sollte deshalb nicht verwendet werden. Bei Verwendung des standardkonformen Rückgabetyps int ist es jedoch erlaubt, im Fall von main die sonst ( d.h. in allen anderen Funktionen) erforderliche return Anweisung wegzulassen.

21 21 Praxis-Tipp Der komplette Funktionskörper jeder Funktion sollte um eine Ebene (z.b. drei Leerstellen) innerhalb der umschließenden Klammern eingerückt werden. Das verdeutlicht die Struktur eines Programms und macht das Programm besser lesbar.

22 22 Praxis-Tipp Die Breite für eine Einrückungsebene sollte einmal festgelegt und dann einheitlich angewendet werden. Die Einrückung kann durch die Tabulatortaste erfolgen, dabei ist jedoch zu beachten, dass Tabulatorstopps in verschiedenen Anwendungen unterschiedlich sind. Besser ist es, z.b. drei Leerstellen für eine Einrückungsebene zu benutzen. Dies kann in den meisten Entwicklungsumgebungen (auch MS Visual C++) so eingestellt werden.

23 Varianten des ersten C++ Programms Zwei Beispiele Text in eine einzige Zeile durch mehrere Anweisungen ausgeben (Fig. 2.3) Jede Ausgabe wird an genau der Stelle fortgesetzt, an der die vorherige aufgehört hat. Text in mehrere Zeilen durch eine einzige Anweisung ausgeben (Fig. 2.4) Jede Escapesequenz Zeilenwechsel (\n) positioniert den Cursor an den Anfang der nächsten Zeile Zwei aufeinanderfolgende Zeilenwechsel (\n\n) geben eine Leerzeile aus.

24 1 // Fig. 2.3: fig02_03.cpp 2 // Printing a line of text with multiple statements. 3 #include <iostream> // allows program to output data to the screen 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome "; 9 std::cout << "to C++!\n"; 10 } // end function main Welcome to C++! Mehrere Ausgabeanweisungen ergeben eine Zeile Ausgabe Outline fig02_03.cpp (1 von 1) Pearson Education, Inc. All rights reserved.

25 1 // Fig. 2.4: fig02_04.cpp 2 // Printing multiple lines of text with a single statement. 3 #include <iostream> // allows program to output data to the screen 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome\nto\n\nC++!\n"; 9 } // end function main Welcome to C++! Verwendet Zeilenwechsel- Zeichen, um in mehrere Zeilen auszugeben Outline fig02_04.cpp (1 von 1) Pearson Education, Inc. All rights reserved.

26 2.4 Zweites C++ Programm: Ganze Zahlen addieren 26 Variablen Namen von Speicherplätzen, in denen Werte abgespeichert werden Gebräuchliche Datentypen ( fundamental, primitiv oder eingebaut ) int ganze Zahlen char Zeichen double Zahlen mit Nachkommastellen Variablen müssen mit Typ und Namen definiert werden, bevor sie benutzt werden können: int integer1; int integer2; int sum;

27 1 // Fig. 2.5: fig02_05.cpp 2 // Addition program that displays the sum of two numbers. 3 #include <iostream> // allows program to perform input and output 4 5 // function main begins program execution 6 int main() 7 { 8 // variable declarations 9 int number1; // first integer to add 10 int number2; // second integer to add 11 int sum; // sum of number1 and number std::cout << "Enter first integer: "; // prompt user for data 14 std::cin >> number1; // read first integer from user into number std::cout << "Enter second integer: "; // prompt user for data 17 std::cin >> number2; // read second integer from user into number sum = number1 + number2; // add the numbers; store result in sum std::cout << "Sum is " << sum << std::endl; // display sum; end line 22 } // end function main Enter first integer: 45 Enter second integer: 72 Sum is 117 Definition von ganzzahligen Variablen Nutzt den Eingabeoperator mit dem Standardeingabestrom für Nutzereingabe Verketten oder Kaskadieren von Ausgabeoperationen Outline fig02_05.cpp (1 von 1) Strommanipulator std::endl gibt einen Zeilenwechsel aus und leert den Ausgabepuffer Pearson Education, Inc. All rights reserved.

28 2.4 Zweites C++ Programm: Ganze Zahlen addieren 28 Variablen Mehrere Variablen des gleichen Typs können in einer einzigen Anweisung definiert werden. Liste mit Kommas als Trennzeichen: int number1, number2, sum; Variablennamen Gültige Bezeichner Folge von Zeichen (Buchstaben, Ziffern, Unterstriche) Dürfen nicht mit einer Ziffer beginnen Unterscheiden zwischen Groß- und Kleinschreibung ( Case sensitive )

29 29 Praxis-Tipp Nach jedem Komma (,) sollte ein Leerzeichen gesetzt werden. Dies verbessert die Lesbarkeit von Programmen. Viele Programmierer ziehen es vor, jede Variable in einer eigenen Zeile zu deklarieren. Dies erlaubt auch, bei Bedarf einen erklärenden Kommentar zu der Variablen in den Rest der Zeile zu schreiben.

30 30 Portabilitäts-Tipp C++ erlaubt Bezeichner beliebiger Länge, aber die C++ Implementierungen begrenzen die Länge der Bezeichner. Benutzt man Bezeichner mit maximal 31 Zeichen, sollte die Portabilität sichergestellt sein.

31 31 Praxis-Tipp Bezeichner müssen so gewählt werden, dass sie eine Bedeutung innerhalb der Problemstellung des Programms haben ( sprechende Bezeichner ). Dies hilft ein Programm selbsterklärend zu machen - man kann das Programm verstehen, indem man es einfach liest, statt auf Kommentare und Manuals angewiesen zu sein.

32 32 Praxis-Tipp Abkürzungen in Bezeichnern sollten vermieden werden. Dies erhöht die Lesbarkeit von Programmen. Bezeichner, die mit Unterstrichen oder doppelten Unterstrichen beginnen, sollten vermieden werden. C++ Compiler nutzen intern oft solche Namen. Auf diese Weise wird Verwirrung zwischen eigenen Namen und vom Compiler gewählten Namen vermieden.

33 2.4 Zweites C++ Programm: Ganze Zahlen addieren 33 Objekt für den Eingabestrom std::cin aus <iostream> Normalerweise mit der Tastatur gekoppelt Eingabeoperator >> Erwartet, dass der Benutzer einen Wert eingibt und die Eingabetaste drückt Speichert den eingegebenen Wert in der Variablen rechts vom Operator Wandelt den Wert in den Typ der Variablen (wenn möglich) Beispiel: std::cin >> number; Liest eine mit der Tastatur eingegebene ganze Zahl zunächst als Folge von Zeichen Wandelt die Zeichenfolge in eine ganze Zahl Speichert die ganze Zahl in der Variablen number

34 34 Häufiger Programmierfehler Programme sollten die korrekte Eingabe aller Werte validieren, um zu verhindern, dass fehlerhaft eingegebene Informationen die Berechnungen im Programm beeinflussen.

35 2.4 Zweites C++ Programm: Ganze Zahlen addieren 35 Zuweisungsoperator = Weist den Wert auf seiner rechten Seite der Variablen auf seiner linken Seite zu Binärer Operator (zwei Operanden) Beispiel: sum = variable1 + variable2; Addition der Werte von variable1 und variable2 Speichern des Resultats in sum Strommanipulator std::endl Gibt einen Zeilenwechsel aus Leert den Ausgabepuffer

36 36 Praxis-Tipp Auf beiden Seiten eines binären Operators sollten Leerzeichen stehen. Das hebt den Operator hervor und macht das Programm besser lesbar.

37 2.4 Zweites C++ Programm: Ganze Zahlen addieren 37 Verkettung (Kaskadierung) von Ausgabeoperationen Anwendung von mehreren Ausgabeoperatoren in einer einzigen Anweisung Ausgabeoperation weiß, wie jeder Datentyp auszugeben ist Beispiel std::cout << "Die Summe ist " << number1 + number2 << std::endl; Schreibt erst "Die Summe ist " in den Ausgabestrom. Danach wird die Summe von number1 und number2 als temporäre ganze Zahl berechnet, in eine Zeichenfolge umgewandelt und in den Ausgabestrom geschrieben. Zum Schluss wird ein Zeilenwechsel ausgegeben und der Ausgabepuffer geleert.

38 Speicherkonzepte Variablennamen Entsprechen tatsächlichen Speicherplätzen Jede Variable hat Name, Typ, Größe und Wert. Wenn ein neuer Wert in der Variablen platziert wird, wird der alte Wert überschrieben. In den Speicher schreiben ist destruktiv. Für das Lesen von Variablen aus dem Speicher gilt dies nicht. Beispiel sum = number1 + number2; Wert von sum wird überschrieben Werte von number1 und number2 bleiben intakt

39 39 Fig. 2.6 Speicherplätze nach Berechnung und Abspeichern der Summe von number1 and number2.

40 Arithmetik Arithmetische Operatoren + Addition - Subtraktion * Multiplikation / Division Ganzzahlige Division schneidet Nachkommastellen ab 23 / 4 ergibt 5 % Modulo-Operator Gibt den Divisionsrest bei ganzzahliger Division zurück 23 % 4 ergibt 3

41 41 Häufiger Programmierfehler Der Versuch, den modulo-operator (%) mit nichtganzzahligen Operanden zu benutzen, führt zu einer Fehlermeldung des Compilers.

42 Arithmetik Gradlinige Anordnung Erforderlich für arithmetische Ausdrücke in C++ Alle Konstanten, Variablen und Operatoren erscheinen gradlinig hintereinander angeordnet. Gruppierung von Unterausdrücken Klammern werden in C++ Ausdrücken verwendet, um Unterausdrücke zu gruppieren. Gleiche Vorgehensweise wie in algebraischen Ausdrücken Beispiel a * ( b + c ) Multipliziere a mit dem Wert von b + c

43 43 Operation arithmetischer Operator in C++ Algebraischer Ausdruck C++ Ausdruck Addition + f + 7 f + 7 Subtraktion - p c p - c Multiplikation * bm oder b m b * m Division / x / y oder x y oder x : y x / y Modulo % r mod s r % s Fig. 2.7 Arithmetische Operatoren.

44 Arithmetik Regeln für den Operatorvorrang Operatoren in Klammern werden zuerst ausgewertet. Geschachtelte Klammern Operatoren im innersten Klammernpaar zuerst Als nächstes werden Multiplikation, Division, Modulo angewendet. Die einzelnen Operatoren werden von links nach rechts angewendet. Zum Schluss kommen Addition und Subtraktion. Die einzelnen Operatoren werden von links nach rechts angewendet.

45 45 Operator(en) Operation(en) Reihenfolge der Auswertung (Vorrang) ( ) Klammern Zuerst ausgewertet. Bei geschachtelten Klammern wird der Ausdruck im innersten Klammerpaar zuerst ausgewertet. Mehrere nicht geschachtelte Klammerpaare werden von links nach rechts ausgewertet. * Multiplikation / % + - Division Modulo Addition Subtraktion Als Zweites ausgewertet. Wenn mehrere vorhanden sind, werden sie von links nach rechts ausgewertet. Zum Schluss ausgewertet. Wenn mehrere vorhanden sind, werden sie von links nach rechts ausgewertet. Fig. 2.8 Vorrang von arithmetischen Operatoren.

46 46 Häufiger Programmierfehler Einige Programmiersprachen verwenden die Operatoren ** oder ^ um Exponentiation auszudrücken. C++ unterstützt diese Exponentiationsoperatoren nicht; der Versuch ihrer Verwendung führt zu Fehlermeldungen.

47 47 Praxis-Tipp Der Einsatz von redundanten Klammern in komplexen arithmetischen Ausdrücken kann die Ausdrücke klarer machen.

48 2.7 Fallunterscheidungen: Vergleichsoperatoren 48 Bedingung Ausdruck, der entweder wahr (true) oder falsch (false) sein kann Kann mit Hilfe von Vergleichs- und Gleichheitsoperatoren formuliert werden if Anweisung Falls die Bedingung true ist, wird der Körper der if Anweisung ausgeführt. Falls die Bedingung false ist, wird der Körper der if Anweisung nicht ausgeführt.

49 49 Algebraischer Vergleichsoperator C++ Vergleichsoperator C++ Bedingung Bedeutung der C++ Bedingung Vergleichsoperatoren > x > y x ist größer als y < x < y x ist kleiner als y >= x >= y x ist größer als oder gleich y <= x <= y x ist kleiner als oder gleich y Gleichheitsoperatoren = == x == y x ist gleich y!= x!= y x ist ungleich y Fig. 2.9 Vergleichs- und Gleichheitsoperatoren.

50 50 Häufiger Programmierfehler Einen der Operatoren ==,!=, >= und <= mit Leerzeichen zwischen seinen beiden Zeichen zu schreiben ist ein Syntaxfehler.

51 51 Häufiger Programmierfehler Die Reihenfolge der beiden Zeichen in einem der Operatoren!=, >= und <= zu vertauschen (also =!, => und =< zu schreiben) ist normalerweise ein Syntaxfehler. Es kann vorkommen, dass!= als =! zu schreiben nicht zu einem Syntaxfehler führt, in aller Regel dann aber zu einem logischen Fehler, der sich bei der Ausführung des Programms auswirkt.

52 52 Häufiger Programmierfehler Die Verwechslung des Gleichheitsoperators == mit dem Zuweisungsoperator = ist ein typischer Anfängerfehler. Der Gleichheitsoperator sollte als ist gleich zu gelesen werden und der Zuweisungsoperator sollte als wird zu oder bekommt den Wert von gelesen werden.

53 2.7 Fallunterscheidungen: Vergleichsoperatoren 53 using-deklarationen Erlauben, dass Namen aus einem bestimmten Namensbereich innerhalb eines Programms verwendet werden können, ohne dass der Namensbereich jedesmal explizit angegeben werden muss. Syntax: using std::cout; using std::cin; using-direktive Schließt alle Namen eines Namensbereichs in ein Programm ein, so dass der Namensbereich nicht mehr bei jedem Namen angeführt werden muss. Syntax: using namespace std;

54 1 // Fig. 2.13: fig02_13.cpp 2 // Comparing integers using if statements, relational operators 3 // and equality operators. 4 #include <iostream> // allows program to perform input and output 5 6 using std::cout; // program uses cout 7 using std::cin; // program uses cin 8 using std::endl; // program uses endl 9 10 // function main begins program execution 11 int main() 12 { 13 int number1 = 0; // first integer to compare (initialized to zero) 14 int number2 = 0; // second integer to compare (initialized to zero) cout << "Enter two integers to compare: "; // prompt user for data 17 cin >> number1 >> number2; // read two integers from user if( number1 == number2 ) 20 cout << number1 << " == " << number2 << endl; if( number1!= number2 ) 23 cout << number1 << "!= " << number2 << endl; if( number1 < number2 ) 26 cout << number1 << " < " << number2 << endl; if( number1 > number2 ) 29 cout << number1 << " > " << number2 << endl; 30 using Deklarationen vermeiden die Einleitung std:: im Programmtext cout und cin können jetzt ohne std:: geschrieben werden Outline fig02_13.cpp (1 von 2) Falls die Bedingung true ist (d.h., die Werte sind gleich), wird diese Anweisung ausgeführt Pearson Education, Inc. All rights reserved.

55 31 if( number1 <= number2 ) 32 cout << number1 << " <= " << number2 << endl; if( number1 >= number2 ) 35 cout << number1 << " >= " << number2 << endl; 36 } // end function main Enter two integers to compare: 3 7 3!= 7 3 < 7 3 <= 7 Outline fig02_13.cpp (2 von 2) 55 Enter two integers to compare: != > >= 12 Enter two integers to compare: == 7 7 <= 7 7 >= Pearson Education, Inc. All rights reserved.

56 56 Praxis-Tipp using Deklarationen sollten direkt nach dem #include stehen, auf das sie sich beziehen. using Deklarationen sind einer using Direktive grundsätzlich vorzuziehen, weil so dass Konzept des Namensbereichs besser unterstützt wird. In Praktikum und Klausur ist eine using Direktive für den Namensbereich std erlaubt.

57 57 Praxis-Tipp Die Anweisung(en) im Körper einer if Anweisung sollten eingerückt werden, um die Lesbarkeit zu verbessern. Aus Gründen der Lesbarkeit sollte nicht mehr als eine Anweisung in einer Programmzeile stehen.

58 58 Häufiger Programmierfehler Ein Semikolon direkt nach der rechten Klammer der Bedingung einer if Anweisung ist meist ein logischer Fehler (jedoch kein Syntaxfehler!). Das Semikolon bewirkt, dass der Körper der if Anweisung leer ist, so dass die if Anweisung unabhängig von ihrer Bedingung keine Aktion ausführt. Die ursprünglich im Körper der if Anweisung stehende Anweisung wird danach auf alle Fälle ausgeführt, so dass das Ergebnis unabhängig von der if Bedingung wird.

59 59 Praxis-Tipp Eine lange Anweisung kann über mehrere Zeilen verteilt werden. In diesem Fall sollten sinnvolle Trennstellen, wie hinter einem Komma in einer kommagetrennten Liste, oder nach einem Operator in einem langen Ausdruck, gewählt werden. Alle so entstehenden Folgezeilen sollten auf die gleiche Weise eingerückt werden.

60 60 Operator Assoziativität Typ () von links nach rechts Klammern * / % von links nach rechts multiplikativ + - von links nach rechts additiv << >> von links nach rechts Aus-/Eingabe < <= > >= von links nach rechts Vergleich ==!= von links nach rechts Gleichheit = von rechts nach links Zuweisung Fig Vorrang und Assoziativität der bisher besprochenen Operatoren.

61 61 Praxis-Tipp Vorrang und Assoziativität von Operatoren können in der entsprechenden Tabelle nachgesehen werden. Bei Unsicherheit über die Auswertungsreihenfolge in einem komplexen Ausdruck sollte der Ausdruck in kleinere Anweisungen zerlegt oder zusätzliche Klammern verwendet werden. Zuweisungsoperatoren (=) sind im Gegensatz zu den meisten anderen Operatoren rechtsassoziativ.

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

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Klausur in Programmieren

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

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 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

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

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

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

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

3 Die Grundrechenarten

3 Die Grundrechenarten 3 Die Grundrechenarten In diesem Kapitel wollen wir uns unter anderem mit folgenden Themen beschäftigen: Operatoren für die Addition, Subtraktion, Multiplikation und Division Modulooperator, auch Restoperator

Mehr

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

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

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

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

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

25 kann ohne Rest durch 5 geteilt werden! ist wahr

25 kann ohne Rest durch 5 geteilt werden! ist wahr Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

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

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

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

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

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

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 15. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02 Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02 Prof. Dr.-Ing. Holger Vogelsang (FH-Karlsruhe) Dipl.-Inform. (FH) Gudrun Keller (FH-Karlsruhe) Dipl.-Inform. Mathias Supp (.riess

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

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

Auswahlabfragen mit ACCESS

Auswahlabfragen mit ACCESS Auswahlabfragen mit ACCESS Abfragekriterien und Operatoren Beim Entwerfen von ACCESS-Auswahlabfragen (queries) sind definierte Abfragekriterien bzw. Operatoren zu benutzen. Ein Abfragekriterium ist eine

Mehr

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen

Mehr

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo Aufgabe ist die Entwicklung einer vereinfachten Variante der beliebten Programmiersprache Logo. Die Aufgabe ist in drei Stufen zu erledigen, von der wir zunächst nur die erste Stufe bekannt geben. Die

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

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

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

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

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis

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

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

Rundung und Casting von Zahlen

Rundung und Casting von Zahlen W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für

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

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Grundlagen der Videotechnik. Redundanz

Grundlagen der Videotechnik. Redundanz Grundlagen der Videotechnik Redundanz Redundanz beruht auf: - statistischen Abhängigkeiten im Signal, - Information, die vorher schon gesendet wurde - generell eine Art Gedächtnis im Signal Beispiel: Ein

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0 Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Anweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen.

Anweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen. Programmierung in C++ Seite: 1 Beispielprogramm 1: Programmierung in C++ int main() int hoehe = 3; int grundseite = 5; double flaeche = hoehe*grundseite*0.5; cout

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

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

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

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

Datentypen: Enum, Array, Struct, Union

Datentypen: Enum, Array, Struct, Union Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Typdeklarationen. Es gibt in Haskell bereits primitive Typen:

Typdeklarationen. Es gibt in Haskell bereits primitive Typen: Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr