• Keine Ergebnisse gefunden

How did you test the correctness of your code? Save your source code aslcm.cinto the directoryserie04

N/A
N/A
Protected

Academic year: 2021

Aktie "How did you test the correctness of your code? Save your source code aslcm.cinto the directoryserie04"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Dirk Praetorius, Wintersemester 2017/18

Michele Ruggeri 16./17.11.2017

Ubungen zur Vorlesung¨

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

Aufgabe 4.1. Write a function lcm, which computes for two given natural numbersa, b∈Nthe least common multiple and returns it. Additionally, write a main program, which reads in the numbersa, b∈N and prints the least common multiple on the screen. How did you test the correctness of your code? Save your source code aslcm.cinto the directoryserie04.

Aufgabe 4.2. Write avoid-functionprintUnique, which prints for a given vectorx∈Rn all unique elements on the screen. Additionally, write a main program, which reads in the vector x and which calls the function. The length of the vector should be a constant in the main program. The function printUnique should be programmed for any givenn. Check via assert, thatn∈N. How did you test the correctness of your code? Save your source code asprintUnique.cinto the directoryserie04.

Aufgabe 4.3. Write avoid-functioncross, which prints for givenn∈ {1,2, . . . ,9}a ”X” consisting of 2n−1 lines on the screen. Forn= 6, one should get for example the following output:

1 1

2 2

3 3

4 4 5 5

6 5 5 4 4

3 3

2 2

1 1

Check via assert, that n ∈ {1,2, . . . ,9}. Write a main program, which reads in the parametern and which calls the functioncross. How did you test the correctness of your code? Save your source code as cross.cinto the directoryserie04.

Aufgabe 4.4. A natural numbera∈Nis called Armstrong-number if and only if the sum of its digits to the power of the number of digits coincides withaitself, i.e.,a:= 10n−1·an+ 10n−2·an−1+. . .+ 100·a1

withn∈N,ai ∈ {0,1, . . . ,9}, 0< i≤n,an6= 0, is an Armstrong-number, ifan1+an1+. . .+ann =a. For example, the first Armstrong-numbers are 1,2, . . . ,8,9,153,370, . . .

Write a void-functionarmstrong, that obtains a lower bound b ∈N and an upper bound c ∈N with b ≤c and that returns all Armstrong numbers within these bounds. Check viaassert if b ≤c Write a main program which reads in the bounds and calls the function armstrong. How did you test the correctness of your code? Save your source code asarmstrong.c into the directoryserie04.

Aufgabe 4.5. Write a functionenergythat returns the energye=Pn

j=1x2j of a given vectorx∈Rn. Further, write a main program which reads in the vectorxand calls the function The dimension n∈N is a constant in the main program, the functionenergyshould be implemented for arbitrary dimensions.

How did you test the correctness of your code? Save your source code as energy.cinto the directory serie04.

Aufgabe 4.6. Let x be a sequence of 10 numbers (static array of type int) and y a combination of 3 numbers (array of type int) which are both read from the keyboard. Write a function check that obtains the two arrays as input and checks if the combination y is contained in the sequencex(return value 1) or not (return value 0). Further, write a main program which reads in the arraysxand y and calls the function. How did you test the correctness of your code? Save your source code ascheck.cinto the directoryserie04.

(2)

Aufgabe 4.7. The cosine function can be represented as a series via cos(x) =

X

k=0

(−1)k x2k (2k)!. The correspondingn-th partial sum is given by

Cn(x) =

n

X

k=0

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

Write a nonrecursive functioncos new, which, givenx∈Randτ >0, returns the first value ofCn(x) such that

|Cn(x)−Cn−1(x)|/|Cn(x)| ≤τ or |Cn(x)| ≤τ.

Then, write a main program, which reads x∈R andτ > 0 from the keyboard, calls the function and displays the computed valueCn(x), as well as the value cos(x), the absolute error|Cn(x)−cos(x)|and the relative error|Cn(x)−cos(x)|/|cos(x)|(provided cos(x)6= 0). Write the function in such a way that only one loop is needed and thatx2k and (2k)! are computed in a cheap way. This means, you must not use specific functions to compute the power or the factorial. How did you test the correctness of your code? Save your source code ascos.cinto the directoryserie04.

Aufgabe 4.8. Forx >0, the recursively defined sequence x1:= 1

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

xn+ x xn

forn≥1 converges towards √

x. Write a nonrecursive function sqrt new which computes for given x > 0 and τ >0 thefirstelementxn of the sequence that satisfies

|xn−xn+1|

|xn| ≤τ or |xn| ≤τ.

Check viaassert, that x >0. Moreover, write a main program which reads in xandτ, computes the approximationxn of√

xand compares it to the exact value, i.e. prints out the absolute error|xn−√ x|.

How did you test the correctness of your code? Save your source code assqrt new.cinto the directory serie04.

Referenzen

ÄHNLICHE DOKUMENTE

Assume that an average of 4 marked exercises per EPROG exercise class yields 22.5 points and an average of 7 yields 37.5 points for the computation of your final grade (without

Write a function void insert(tree* myTree, int content) which inserts the input value content into the tree myTree such that the search tree property from above is

In contrast to the usual indexing in C (e.g., the indexing considered in the lecture), let the indices for the matrix entries a jk of your structure SquareMatrix go from j, k = 1 to

Write a function int anagram(char* firstStr, char* secondStr) which checks if a given word is an anagram of a second given word.. An anagram of a word is a letter sequence which

Write a main program, which reads the vector x and its length n from the keyboard, sorts it with mergesort and prints to the screen the sorted vector.. Test your

Additionally, write a main program that reads in the number x, then calls the function divisor, and prints out the result.. Save your source code as teiler.c into the

Assume that an average of 4 marked exercises per EPROG exercise class yields 22.5 points and an average of 7 yields 37.5 points for the computation of your final grade (without

The secondary burial at Qatna marks a modification of the primary burial, accompanied by a series of regular rites that took place after the dissolution of the corpse w h e n