Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
WiSe 2013 | Programmierpraktikum C++ - 01_Basics
1. Programmierpraktikum C++
Wintersemester 2013 / 2014
21. Oktober 2013 – Grundlagen & Co.
Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Jan G. Wieners // jan.wieners@uni-koeln.de
3. Softwaretechnologie I – 14.10.2013
Erste „Hallo Welt“ Applikation:
#include <iostream>
using namespace std;
int main()
{
cout << "Willkommen beim C++ Kurs!" << endl;
return 0;
}
4. Softwaretechnologie I – 14.10.2013
Erste „Hallo Welt“ Applikation:
#include <iostream> Präprozessordirektive
Bindet die Quellcodedatei (iostream.h) ein
using namespace std;
Gibt an, in welchem Namensbereich wir
uns befinden („std“)
Die Hauptfunktion „main“
int main()
Der Compiler erwartet einen ganzzahligen Rückgabewert (int)
{
cout << "Willkommen beim C++ Kurs!" << endl;
return 0;
}
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. Softwaretechnologie I – 14.10.2013
Interaktion mit der Anwendung
Variable derBenutzer vom Typ „char“
[…]
(Zeichen) wird angelegt, gleichzeitig wird
char derBenutzer [80]; Platz reserviert für 80 (von 0 bis 79)
Unterelemente
cout << "Wie heißen Sie?" << endl;
Über die Funktion cin wird die Benutzercin >> derBenutzer;
eingabe in die Variable eingelesen…
cout << "Willkommen beim C++ Kurs " <<
derBenutzer << endl; …schließlich über cout wieder ausgegeben
[…]
6. Merken: Trivia
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;
7. Kontrollstrukturen: if
[…]
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;
[…]
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. Vergleichsoperatoren
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?
9. if
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“;
10. Schleifen: while
Dienen dazu, Anweisungen wiederholt
auszuführen
Kontrollvariable der Schleife: zahl
zahl=0
while(zahl <= 23)
{
cout << “Zahl hat den Wert“ << zahl << endl;
zahl++;
}
11. Schleifen: for
for(int i = 0; i <= 23; i++)
{
cout << i << endl;
}
Kontrollvariable der Schleife: i
for(Initialisierung der Kontrollvariable,
Definition der Endbedingung,
Veränderung der
Kontrollvariable
in jedem Lauf)
12. Fallunterscheidung: switch / case
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:
switch(variable)
{
case 15:
cout << "A";
break;
case 16:
cout << "B";
break;
case 17:
cout << "C";
break;
default:
cout << "D";
break;
}
14. Übungsaufgaben
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
}
15. Übungsaufgaben
Aufgabe 2:
Wir wollen nur Kleinbuchstaben zwischen a und z ausgeben. (Die liegen im ASCIICode 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
}
16. Übungsaufgaben
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
17. Übungsaufgaben
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>.