Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WS12/13 -- Programmierpraktikum C++ | 02: Grundlagen & Co.

Jan Wieners
October 21, 2012

WS12/13 -- Programmierpraktikum C++ | 02: Grundlagen & Co.

Jan Wieners

October 21, 2012
Tweet

More Decks by Jan Wieners

Other Decks in Education

Transcript

  1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // [email protected]

    Programmierpraktikum C++ Wintersemester 2012 / 2013 22. Oktober 2012 – Grundlagen & Co.
  2.  Kurzwiederholung und Erweiterungen:  Präprozessordirektive.  Funktionen (und ihre

    Rückgabewerte)  Ausgabe (cout) und Eingabe (cin)  Regeln & Co.  Kontrollstrukturen: if  Vergleichsoperatoren  Schleifen: while, for  Fallunterscheidung: switch / case  Praxis: Übungs-/Vertiefungsaufgabe  Praxis: Hausaufgaben Kurzüberblick
  3. Erste „Hallo Welt“ Applikation: #include <iostream> using namespace std; int

    main() { cout << "Willkommen beim C++ Kurs!" << endl; return 0; } Softwaretechnologie I – 09./16.10.2010
  4. Erste „Hallo Welt“ Applikation: #include <iostream> using namespace std; int

    main() { cout << "Willkommen beim C++ Kurs!" << endl; return 0; } Softwaretechnologie I – 09./16.10.2010 Präprozessordirektive Bindet die Quellcodedatei (iostream.h) ein Gibt an, in welchem Namensbereich wir uns befinden („std“) Die Hauptfunktion „main“ Der Compiler erwartet einen ganzzahligen Rückgabewert (int) Die Funktion cout leitet Zeichen an den Bildschirm / die Konsole weiter Return 0; lässt die Funktion main() den Zahlenwert 0 zurückgeben Geschweifte Klammern geben den Funktionsrumpf (hier: main()) an
  5. Interaktion mit der Anwendung […] char derBenutzer [80]; cout <<

    "Wie heißen Sie?" << endl; cin >> derBenutzer; cout << "Willkommen beim C++ Kurs " << derBenutzer << endl; […] Softwaretechnologie I – 09./16.10.2010 Variable derBenutzer vom Typ „char“ (Zeichen) wird angelegt, gleichzeitig wird Platz reserviert für 80 (von 0 bis 79) Unterelemente Über die Funktion cin wird die Benutzer- eingabe in die Variable eingelesen… …schließlich über cout wieder ausgegeben
  6.  Anweisungen müssen mit Semikola (;) abgeschlossen werden  Groß-/Kleinschreibung

    von Funktionen, Variablen, Konstanten, etc.  Jede Variable verfügt über einen Datentyp: Datentypbezeichnung Variablenname  Mehrere Variablen können als durch von Kommata getrennte Liste definiert werden: int zahl1, zahl2, zahl3;  Variablen und Konstanten können mit einem Startwert initialisiert werden: int zahl = 23;  Zuweisungsoperator: Mit Hilfe von = weisen wir den Wert der rechts vom Operator stehenden Variable (o.ä.) der linken Variable (o.ä.) zu: summe = zahl1 + zahl2; Merken: Trivia
  7. […] int zahl1, zahl2, resultat; char aktion; cout << "Bitte

    geben Sie eine Zahl ein: “; cin >> zahl1; cout << "Bitte geben Sie noch eine Zahl ein: "; cin >> zahl2; cout << "Was soll damit geschehen?" << endl << "(+ = Addieren)" << endl << "(- = Subtrahieren)„ <<endl; cin >> aktion; if (aktion=='+') resultat=zahl1+zahl2; else resultat=zahl1-zahl2; cout << "Das Ergebnis lautet: " << resultat << endl; […] Kontrollstrukturen: if Mit der if-Anweisung können wir den Programmablauf beeinflussen: if (Bedingung) Anweisung 1; else Anweisung 2; Achtung: analog zu: if(Bedingung) { Anweisung 1; } […]
  8.  A == B Ist A genau gleich mit B?

     Achtung: ZWEI Gleichheitszeichen!  A != B A ist nicht gleich B  A < B Ist A kleiner als B?  A <! B Ist A kleiner oder gleich B?  A > B Ist A größer als B?  A >= B Ist A größer oder gleich B? Vergleichsoperatoren
  9. Schachtelung möglich: if(zahlenwert == 15) cout << “Zahl ist 15“;

    else if(zahlenwert <= 14) cout << “Zahl ist kleiner als 15“; else cout << “Zahl ist größer als 15“; if
  10.  Dienen dazu, Anweisungen wiederholt auszuführen zahl=0 while(zahl <= 23)

    { cout << “Zahl hat den Wert“ << zahl << endl; zahl++; } Schleifen: while Kontrollvariable der Schleife: zahl
  11. for(int i = 0; i <= 23; i++) { cout

    << i << endl; }  for(Initialisierung der Kontrollvariable, Definition der Endbedingung, Veränderung der Kontrollvariable in jedem Lauf) Schleifen: for Kontrollvariable der Schleife: i
  12. Anstatt: int variable=23; if(variable == 15) cout << "A"; else

    if(variable == 16) cout << "B"; else if(variable == 17) cout << "C"; else cout << "D"; Können wir schreiben: Fallunterscheidung: switch / case switch(variable) { case 15: cout << "A"; break; case 16: cout << "B"; break; case 17: cout << "C"; break; default: cout << "D"; break; }
  13. *

  14.  Aufgabe 1:  Deklarieren Sie eine Variable vom Typ

    char und eine Variable vom Typ int  Geben Sie eine Zahl ein und speichern sie die Zahl als ganzzahligen Wert (int)  Weisen Sie den Wert der int-Variable der char-Variablen zu  Geben Sie die char-Variable aus Erweiterter Pseudocode: #include <iostream> using namespace std; int main() { // Variable fuer alphanum. Zeichen // Variable fuer ganze Zahlen // Zahl eingeben // char Variable bekommt den Wert der int Variablen // char Variable ausgeben } Übungsaufgaben
  15.  Aufgabe 2: Wir wollen nur Kleinbuchstaben zwischen a und

    z ausgeben. (Die liegen im ASCII-Code zwischen 97 und 122.) Dazu müssen wir mit einer if-Abfrage die Bedingung testen. Wenn eine Zahl jenseits und diesseits des beiden Werte eingegeben wurde, erscheint eine Fehlermeldung. Erweiterter Pseudocode #include <iostream> using namespace std; int main() { // Variable fuer alphanum. Zeichen // Variable fuer ganze Zahlen // Zahl eingeben // wenn die Zahl groesser als 96 UND (&&) wenn die Zahl kleiner ist als 123 // char Variable bekommt den Wert der int Variablen // char Variable ausgeben // sonst // Fehlerausgabe } Übungsaufgaben
  16.  Aufgabe 3 !: Bei der Fibonacci-Folge ergibt sich die

    jeweils folgende Zahl durch Addition der beiden vorherigen Zahlen (0, 1, 1, 2, 3, 5, 8, 13, etc.), vgl. http://de.wikipedia.org/wiki/Fibonacci-Folge. Lassen Sie die ersten 20 Zahlen der Fibonacci-Reihe berechnen und geben Sie die Zahlen über die Konsole aus: Lauf 0: 1 Lauf 1: 2 Lauf 2: 3 Lauf 3: 5 Lauf n: x Übungsaufgaben
  17.  Aufgabe 4: Stellen Sie das Zeichen "X" auf der

    Konsole dar, das sich über Eingabe des Zeichens "s" um eine Leerstelle nach rechts bewegt. Bei Eingabe des Zeichens "a" soll sich das "X" um eine Leerstelle nach links bewegen. Die Konsolenapplikation soll so lange laufen, bis das Zeichen "q" eingegeben wird.  Tipp: Um das Konsolenfenster zu leeren, wird unter MS Visual C++ der Befehl "system("cls");" verwendet. Um die Funktion system() benutzen zu können, muss die Headerdatei stdlib.h eingebunden werden: #include <stdlib.h>. Übungsaufgaben
  18. /