• Keine Ergebnisse gefunden

Schreiben Sie eine Funktionscanfpositive, die vom Benutzer die Eingabe einer positiven Zahl τ &gt

N/A
N/A
Protected

Academic year: 2021

Aktie "Schreiben Sie eine Funktionscanfpositive, die vom Benutzer die Eingabe einer positiven Zahl τ &gt"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Dirk Praetorius, Sommersemester 2018

Gregor Gantner 17.04.2018

Ubungen zur Vorlesung¨

Einf¨uhrung in das Programmieren f¨ur TM Serie 5

Aufgabe 5.1. Schreiben Sie eine Funktionscanfpositive, die vom Benutzer die Eingabe einer positiven Zahl τ > 0 verlangt und diese dann zur¨uckgibt. Die Eingabe soll solange wiederholt werden, bis die eingegebene Zahl τ ∈ R strikt positiv ist, d.h. bei Eingabe einer Zahl τ ≤ 0 wird der Benutzer zu erneuter Eingabe aufgefordert. Schreibens Sie weiters ein aufrufendes Hauptprogramm. Wie haben Sie Ihren Code auf Korrektheit getestet? Speichern Sie den Source-Code unter scanfpositive.c in das Verzeichnisserie05.

Aufgabe 5.2. Schreiben Sie einenicht-rekursive Funktionpower, die f¨ur gegebene reelle Zahlen x >1 undC >0 die kleinste Zahln∈Nberechnet mitxn > C. Dabei soll die Funktionlognicht verwendet werden. Stellen weiters Sie mittels assert sicher, dassx >1 und C > 0 gilt. Schreiben Sie ferner ein aufrufendes Hauptprogramm, in demxundC eingelesen werden undnausgegeben wird. Speichern Sie den Source-Code unterpower.cin das Verzeichnisserie05.

Aufgabe 5.3. Schreiben Sie eine FunktionkgV, die zu zwei gegebenen nat¨urlichen Zahlena, b∈Ndas kleinste gemeinsame Vielfache berechnet und zur¨uckgibt. Schreiben Sie ferner ein aufrufendes Hauptpro- gramm, das die Zahlen a, b ∈ N einliest und das dazugeh¨orige kleinste gemeinsame Vielfache ausgibt.

Wie haben Sie Ihren Code auf Korrektheit getestet? Speichern Sie den Source-Code unterkgV.cin das Verzeichnisserie05.

Aufgabe 5.4. Die Quotientenfolge (an+1/an)n∈N zur Fibonacci-Folge (an)n∈N, a0:= 1, a1:= 1, an:=an−1+an−2 f¨urn≥2, konvergiert gegen den goldenen Schnitt (1 +√

5)/2. Insbesondere konvergiert die Differenz bn:= an+1

an

− an

an−1

gegen Null. Schreiben Sie eine nicht-rekursive Funktion cauchy, die zu gegebenem k ∈ N die kleinste Zahl n ∈ N mit |bn| ≤ 1/k zur¨uckgibt. Schreiben Sie ferner ein aufrufendes Hauptprogramm, das die Zahlk∈Neinliest und den zugeh¨origen Indexn∈Nausgibt. Wie haben Sie Ihren Code auf Korrektheit getestet? Speichern Sie den Source-Code untergoldenerSchnitt.c in das Verzeichnisserie05.

Aufgabe 5.5. F¨urx >0 konvergiert die Folge x1:= 1

2(1 +x), xn+1:= 1 2

xn+ x xn

f¨ur n≥1 gegen√

x. Schreiben Sie einenicht-rekursive Funktion sqrt new, die f¨ur gegebenex >0 undτ >0 als Ergebnis das erste Folgengliedy =xn zur¨uckgibt, f¨ur das gilt

|xn−xn+1|

|xn| ≤τ oder |xn| ≤τ.

Uberpr¨¨ ufen Sie mittelsassert, dassx >0. Schreiben Sie ferner ein aufrufendes Hauptprogramm, in dem xeingelesen und neben der Approximationxn von√

xauch der exakte Wert sowie der absolute Fehler

|xn−√

x| ausgegeben werden. Wie haben Sie Ihren Code auf Korrektheit getestet? Speichern Sie den Source-Code untersqrt new.c in das Verzeichnisserie05.

(2)

Aufgabe 5.6. Die Cosinus-Funktion hat die Darstellung cos(x) =

X

k=0

(−1)k x2k

(2k)!. Wir betrachten die Partialsummen

Cn(x) =

n

X

k=0

(−1)k x2k (2k)!.

Schreiben Sie einenicht-rekursive Funktioncos new, die f¨ur gegebenex∈Rundτ >0 den WertCn(x) zur¨uckliefert, sobald

|Cn(x)−Cn−1(x)|/|Cn(x)| ≤τ oder |Cn(x)| ≤τ

gilt. Schreiben Sie ferner ein aufrufendes Hauptprogramm, in dem x ∈ R und τ > 0 eingelesen wer- den. Neben dem berechneten Wert Cn(x) sollen auch der korrekte Wert cos(x) und der absolute Fehler

|Cn(x)−cos(x)|ausgegeben werden sowie der relative Fehler|Cn(x)−cos(x)|/|cos(x)|im Fall cos(x)6= 0.

Schreiben Sie die Funktion m¨oglichst so, dass diese mit einer Schleife auskommt und dassx2k und (2k)!

m¨oglichst kostensparend realisiert werden. Man vermeide also insbesondere (vor- oder selbst implemen- tierte) Funktionen zur Berechnung der Potenz oder der Faktoriellen. Wie haben Sie Ihren Code auf Korrektheit getestet? Speichern Sie den Source-Code untercos.c in das Verzeichnisserie05.

Aufgabe 5.7. Gegeben seien die Summen aN :=

N

X

n=0

1

(n+ 1)2 und bN :=

N

X

n=0 n

X

k=0

1

(k+ 1)2(n−k+ 1)2.

Schreiben Sie zwei Funktionen, welche f¨ur gegebene N ∈ N die Zeit messen, um (aN)2 bzw. bN zu berechnen. Wie groß ist der Aufwand bei der Berechnung von (aN)2bzw.bN? Z.B.: Falls die Funktionen f¨urN = 103eine Laufzeit von 3 Sekunden haben, welche Laufzeit erwarten Sie aufgrund des Aufwands f¨ur N = 104? Schreiben Sie ferner ein Hauptprogramm, welches f¨ur verschiedene Werte vonN die Ergebnisse in Form einer Tabelle am Bildschirm ausgibt. Entsprechen die Resultate Ihren Erwartungen? Wie haben Sie Ihr Programm getestet? Speichern Sie den Source-Code unter zeitmessung.c in das Verzeichnis serie05.

Aufgabe 5.8. Welche Arten von Kommentaren gibt es? Was gibt folgender Code aus und warum?

#include <stdio.h>

/*int f(double x) { return (int) x;

}

*/

main() { int x = 4;

int y = 2*x*/* f(0.1)+3

*/1/4;

// y = 1;

printf("y = %d\n",y); // Ausgabe }

Referenzen

ÄHNLICHE DOKUMENTE

Schreiben Sie ferner ein aufrufendes Hauptprogramm, das die Zahlen x, y, r, u, v ∈ R einliest, die Funktion locate aufruft und danach in der Shell ausgibt, wie der Punkt (u, v) im

Schreiben Sie eine Struktur CPoly zur Speicherung von Polynomen mit komplexwertigen Koeffizienten, die bez¨ uglich der Monombasis dargestellt sind, d.h.. Verwenden Sie f¨ ur

Schreiben Sie ferner ein aufrufendes Hauptprogramm, in dem die Parameter a, b, c, x, y, z ¨ uber die Tastatur eingelesen und das Ergebnis ausgegeben werden.. Speichern Sie

Schreiben Sie eine Funktion zeilensummennorm, die die Zeilensummennorm einer spaltenwei- se gespeicherten Matrix A berechnet und zur¨ uckgibt.. Schreiben Sie ein

Um den Hauptnenner (= das kleinste gemeinsame Vielfache) von zwei oder mehreren Zahlen oder Ter- men systematisch zu finden, werden diese zun¨ achst in ihre

In der Regel reicht f¨ ur jede Antwort eine Formel oder ein Satz?. •

Man bezeichnet den euklidischen Algorithmus auch als Wechselwegnahme, da man ab- wechselnd ein Vielfaches der einen Zahl von der anderen Zahl wegnimmt. Für a, b ∈ N wird die

Schreiben Sie ein Programm, das zwei integer Zahlen einliest und dazu den gr¨ oßten gemeinsa- men Teiler (ggT) und das kleinste gemeinsame Vielfache (kgV) berechnet.. Der L¨