UBUNGEN zu Programmiersprache 1 (C++)

Werbung
Ü B U N G E N
zu Programmiersprache 1 (C++)
WS 2016/2017
Blatt 2: In der Übungsstunde!
6)
a) Plotten Sie mit Maple die Funktionen f (x) = 4x2 und g(x) = 8x + 1 in einen
einzigen Plot und lösen Sie die Ungleichung f (x) ≤ g(x) . (Math. 1 Ü 8a)
b) Lösen Sie mit Maple das Gleichungssystem x + y = 2,
x2 + 2y 2 = 3 .
c) Interpretieren Sie jede Gleichung als implizit gegebene Kurve und zeichnen Sie
beide Kurven in einen Plot.
√
1+i
d) Berechnen Sie die komplexen Zahlen
, (2 + 2i)6 , 2 + 2i .
2−i
7)
Probieren Sie den C-Präprozessor ( g++ -E ) mit den 2 Dateien pp1.cpp und pp2.cpp
aus. Wie könnten Sie den Makro PLUS in pp2.c besser definieren?
8)
a) Erstellen Sie ein vollständiges ‘leeres’ C++-Programm und suchen Sie die Dateien
iostream und cstdlib . Wie ist der Makro EXIT SUCCESS definiert?
b) Definieren Sie in main eine int -Variable a und schreiben Sie einen EingabeDialog für a und geben Sie den Wert der Variablen aus.
c) Verlagern Sie den Eingabe-Dialog in eine Funktion read(int x) , die Sie aus
main aufrufen: read(a); Geben Sie zur Kontrolle in beiden Funktionen den
eingelesenen Wert aus. Funktioniert das Einlesen der Variablen immer noch?
d) Verändern Sie Ihr Programm so, dass das Einlesen jetzt klappt.
e) Definieren Sie zusätzlich eine double -Variable b und ergänzen Sie Ihr Programm
durch eine analoge Funktion read(double& x) . Geben Sie für a einmal den
Wert 3.1 ein. Was passiert dann?
f) Definieren Sie eine Funktion read(int& x, double& y) , die sowohl eine int Variable als auch eine double -Variable einliest.
Ü B U N G E N
zu Programmiersprache 1 (C++)
WS 2016/2017
Blatt 2: Die Aufgaben 9 bis 11 sind Pflicht!
9)
10)
1
und g(x) = (3 + x) in einen
3−x
gemeinsamen Plot und lösen Sie die Ungleichung f (x) > g(x) . (Math. 1 Ü 14)
(x − 1) sin(x)
b) Berechnen Sie für die Funktion f (x) =
die Ableitung f ′ und
ex
zeichnen beide Funktionen über dem Intervall [0, 10] in einen Plot.
√
c) Berechnen Sie 1 − i und e1+πi . (die Konstante π heißt Pi in Maple).
a) Plotten Sie mit Maple die Funktion f (x) =
a) Schreiben Sie analog zur Übungsstunde eine Funktion read(int& x, int& y) ,
die 2 int -Variablen einliest. Erstellen Sie eine Funktion void sum(int x, int
y) , die (wenn nach der Eingabe x = 3 und y = −2 gilt) ausgeben sollte:
x(=3) + y(=-2) = 1 . Definieren Sie im Hauptprogramm 2 int -Variable und
rufen Sie mit denen Ihre 2 Funktionen auf.
b) Was ist das Ergebnis für 2 Milliarden + 100 Millionen?
11) logische Operatoren in C/C++: Berechnen Sie in einem C++-Programm für die
Integer i = 60 und j = 14 folgende Ausdrücke und geben Sie deren Wert aus (bei
Aufgabe a) sollte z.B. ausgegeben werden:
60 == 14 hat den Wert 0
Versuchen Sie für diesen Ausdruck das folgende falsche Statement:
cout << i << ¨ == ¨ << j << ¨ hat den Wert ¨ << i == j << ’\n’;
Wieviele Zeilen Fehlermeldung erhalten Sie danach? Das korrekte Statement ist:
cout << i << ¨ == ¨ << j << ¨ hat den Wert ¨ << (i == j) << ’\n’;
Beachten Sie die Klammern um (i == j) !
a) den Ausdruck i == j
b) den Ausdruck i < j .
c) den Ausdruck ! i .
d) den Ausdruck 1 < i < j .
e) den Ausdruck i||j .
f) den Ausdruck i&&j .
Blatt 2
Ü B U N G E N
zu Programmiersprache 1 (C++)
WS 2016/2017
12) Bit-Operatoren in C/C++: Berechnen Sie in einem C++-Programm für die Integer
i = 60 und j = 14
a) den Ausdruck i|j (bitweises oder).
b) den Ausdruck i&j (bitweises und).
c) den Ausdruck i ˆ j (bitweises exklusives oder).
d) den Ausdruck i << j (Shift nach links).
e) den Ausdruck ˜ i (bitweises Komplement).
f) Verwenden Sie einen Taschenrechner mit binärer Zahldarstellung (z.B. WindowsTaschenrechner calc ) und versuchen Sie, die Ergebnisse a)-e) zu erklären. Stellen
Sie dazu die Operanden und das errechnete Ergebnis als binr dar und betrachten
Sie die einzelnen Bits.
13)
a) Lösen Sie mit Maple das Gleichungssystem x2 − y 2 = 5,
2x + 3y = 12 .
b) Interpretieren Sie jede Gleichung als implizit gegebene Kurve und zeichnen Sie
beide Kurven in einen Plot.
1
c) Plotten Sie mit Maple die Funktion h(x) =
− (x + 1) und lösen Sie die
x−1
Ungleichung h(x) < 0 .
Blatt 3
Herunterladen