• Keine Ergebnisse gefunden

Informatik 1 für Regenerative Energien Klausur vom 9. März 2011: Lösungen

N/A
N/A
Protected

Academic year: 2021

Aktie "Informatik 1 für Regenerative Energien Klausur vom 9. März 2011: Lösungen"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Informatik 1 für Regenerative Energien

Klausur vom 9. März 2011: Lösungen

Jörn Loviscach

Versionsstand: 15. März 2011, 14:57

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

1. 7 ist 00000111

2

und − 9 ist 11110111

2

. 00000111

+11110111

1 1 1

11111110

2. ~a ist 0xB0 , a|b ist 0xCF , a&b ist 0x43 .

3. (((3.0f + (b*2.0f)) < 5.0f) || (a && ((b - (101%2)) >= 0.0f)))

__84.0f_ ___1___

_______87.0f_____ ____41.0f____

___________false__________ ___________true________

_____________true_____________

_____________________________true_____________________________

4. int maximum(int a, int b, int c) // Rückggabetyp int statt void {

int result = a; // int zur Deklaration/Definition fehlte if(b > result)

{

result = b;

}

if(c > result) {

result = c;

}

return result; // Rückgabewert fehlte }

5. #include <math.h>

// ...

double length(Vector a) {

1

(2)

2

return sqrt(a.x*a.x + a.y*a.y);

}

6. int f(int x, int y) {

return 3*x + 4*y;

}

// ...

int a = 13;

int b = 42;

int c = f(a, b);

int d = f(b, c);

7.

Start Eingabe n

min : = n max : = n Ausgabe min, max

Eingabe n

n < min? min : = n

n > max? max : = n N

J

J

N

8. int countIdentical(char a[], char b[]) {

int i = 0; // Um mit extrem langen Zeichenketten umzugehen, // wäre size_t statt int sicherer,

// aber das hatten wir nicht.

while(a[i] != 0 && b[i] != 0 && a[i] == b[i]) {

i++;

}

return i;

}

Oder aufwendiger:

int countIdentical(char a[], char b[]) {

int lengthA = strlen(a); // besser size_t int lengthB = strlen(b);

int i = 0; // besser size_t

for(; i < lengthA && i < lengthB; i++) {

if(a[i] != b[i])

(3)

3

{

break;

} }

return i;

}

9. Ab einem Wert von 256 für x , weil 256 ·256 = 2

16

nicht mehr in 16 Bit passt, denn die größte unsigned-Zahl ist dort 2

16

− 1.

10. bool containsDuplicates(int numbers[], int count) {

for(int i = 0; i < count-1; i++) // letzter unnötig {

for(int j = i+1; j < count; j++) {

if(numbers[i] == numbers[j]) {

return true;

} } }

return false;

}

Oder nicht so effizient:

bool containsDuplicates(int numbers[], int count) {

for(int i = 0; i < count; i++) {

for(int j = 0; j < count; j++) {

if(j == i) {

continue;

}

if(numbers[i] == numbers[j]) {

return true;

} } }

return false;

}

11. n Zahlen werden mit jeweils n − 1 anderen verglichen, macht n(n − 1) Ver-

gleiche. (Wenn man das geschickt macht, hat man nur die Hälfte davon, weil

aus x = y folgt, dass y = x. Das ist zwar doppelt so schnell; der Faktor 1/2

(4)

4

ändert aber die asymptotische Laufzeit nicht.) Die asymptotische Laufzeit ist O(n(n − 1)) = O(n

2

− n) = O(n

2

). (Das n wird asymptotisch gegenüber dem n

2

unbedeutend.)

12. Zum Beispiel:

unsigned int f(unsigned int x) {

return x/2;

}

Referenzen

ÄHNLICHE DOKUMENTE

The findings of the NB Models as regards casualties and incidents demonstrated that there was a positive and statistically significant relationship between the defiance

The Taliban provide a useful case study for this purpose inasmuch as Makarenko (2004, p. 138) identifies Afghanistan as a failed state in her paper outlining the crime-terror

Gerade als Madrid begann, den verfolgten spanischen Juden den diplomati- schen Schutz zu entziehen, traf am 26. Januar 1943 ein Ultimatum der deut- schen Regierung, formuliert

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany License..

Zwar kann gesagt werden, dass in der Regel die spanische Hilfe für verfolgte Juden um so geringer veranschlagt wird, je enger an den Quellen und je stren- ger nach

wies als Beleg darauf, dass die Länder, in denen sie lebten, wirtschaftlich rückständig seien. Zweieinhalb Jahre später verfasste Agustin de Foxä für das Außenmi- nisterium

Archivo del Ministerio de Asuntos Exteriores, Madrid: Archivo Historico (H) und Archivo Renovado (R).. Archivo Rafael Cansinos

Maimon hypostasiert eine abstrakte, rein symbolische Kontinuität des jü- dischen «Staats». Er verwendet «Staat» synonym mit «Religion». Offen- sichtlich wird diese Synonymic hier