Post on 05-Dec-2014
description
Universität zu Köln. Historisch-Kulturwissenschaftliche InformationsverarbeitungJan G. Wieners // jan.wieners@uni-koeln.de
Programmierpraktikum C++Wintersemester 2013 / 2014
21. Oktober 2013 – Grundlagen & Co.
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
Erste „Hallo Welt“ Applikation:
#include <iostream>using namespace std;
int main(){
cout << "Willkommen beim C++ Kurs!" << endl;return 0;
}
Softwaretechnologie I – 14.10.2013
Erste „Hallo Welt“ Applikation:#include <iostream>
using namespace std;
int main(){
cout << "Willkommen beim C++ Kurs!" << endl;
return 0;}
Softwaretechnologie I – 14.10.2013
PräprozessordirektiveBindet die Quellcodedatei (iostream.h) ein
Gibt an, in welchem Namensbereich wiruns 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 0zurückgeben
Geschweifte Klammern geben den Funktionsrumpf (hier: main()) an
Interaktion mit der Anwendung[…]char derBenutzer [80];
cout << "Wie heißen Sie?" << endl;cin >> derBenutzer;
cout << "Willkommen beim C++ Kurs " << derBenutzer << endl;
[…]
Softwaretechnologie I – 14.10.2013
Variable derBenutzer vom Typ „char“(Zeichen) wird angelegt, gleichzeitig wirdPlatz 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
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
[…]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 Programmablaufbeeinflussen: if (Bedingung) Anweisung 1;else Anweisung 2;Achtung: analog zu:if(Bedingung){Anweisung 1;}[…]
A == BIst A genau gleich mit B? Achtung: ZWEI Gleichheitszeichen!
A != BA ist nicht gleich B
A < BIst A kleiner als B?
A <= BIst A kleiner oder gleich B?
A > BIst A größer als B?
A >= BIst A größer oder gleich B?
Vergleichsoperatoren
Schachtelung möglich:if(zahlenwert == 15)
cout << “Zahl ist 15“;else
if(zahlenwert <= 14)cout << “Zahl ist kleiner als 15“;
elsecout << “Zahl ist größer als 15“;
if
Dienen dazu, Anweisungen wiederholt auszuführen
zahl=0while(zahl <= 23)
{cout << “Zahl hat den Wert“ << zahl << endl;zahl++;}
Schleifen: while
Kontrollvariable der Schleife: zahl
for(int i = 0; i <= 23; i++){
cout << i << endl;}
for(Initialisierung der Kontrollvariable,Definition der Endbedingung,
Veränderung derKontrollvariablein jedem Lauf)
Schleifen: for
Kontrollvariable der Schleife: i
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;
}
*
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
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
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: 1Lauf 1: 2Lauf 2: 3Lauf 3: 5Lauf n: x
Ü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>.
Übungsaufgaben
/