Probeklausur SS17 Lösung.pdf

Exams
Uploaded by Anonymous User at 2018-02-24
Description:

ohne Gewähr

 +3
268
10
Download
sollte es nicht 1.375 statt 1.675 sein?
Ja stimmt
könnte mir das hier noch jemand erklären bitte? Ich weiß ich bin etwas spät dran :D
Zeile 1: Wenn angesehene Liste einelementig, dann ist sie sortiert. Dieser Fall ist auch für den Rekursionsabbrich da. (also return 1) Zeile 2: Überprüfe ob der Wert des Kopfes der Liste größer ist als der des Nachfolgers des Kopfes. Wenn ja, ist die Liste nicht sortiert. (also return 0) Zeile 3: Die Ersten 2 Elemente der Liste sind sortiert. Überprüfe die Sortierung der Liste ab dem 2. Element.
2^10, nicht 2^12. Endergebnis ist aber wieder richtig
Kann man das aus der ASCII-Tabelle ablesen oder wie funktioniert das?
Du guckst nach welchen Dezimalwert 'D' in der ASCII Tabelle hat. Dann rechnest du diese Zahl vom 10er System ins 8er System aka Oktalsystem. Dann kommt 104 raus. Wie checkt der Compiler jetzt dass es sich um eine Oktalzahl handelt? printf("%i" , 104) gibt dir nämlich 104 aus. Is ja klar . Dezimal. Lösung: 0104 . Mit der 0 vorne checkt er dass es eine Oktalzahl ist und es kommt beim print 68 raus. Bei der char Darstellung wird 'D' als '\104' geschrieben. siehe Folien Kapitel 10 Zahlensysteme 1.2 Hexa ist nämlich auch wichtig edit: Wenn du mit einem C Programm umrechnen/überprüfen willst. Gibst du ein: printf("%o", 'D');
Wow danke für die ausführliche Antwort!!
stringcopy für doubles??? whyyy????
No area was marked for this question
Müsste es nicht bei A2 4: für D nicht \104 statt \68 heißen?
Ja ist ein Fehler
4a) 3. Zeile in der main, in der ersten if-Funktion: Fehlt da nicht noch ein '!' vor strcmp(argv[1], "-v") == 0 ?
Hier ist gemeint, dass eine der beiden Bedingungen wahr sein muss. Somit reicht bei || entweder, dass -v oder -r wahr ist (strcmp returned 0 wenn es stimmt), wenn das der Fall ist, ist die Aussage richtig und wird negiert und somit der if trigger nicht ausgeführt
No area was marked for this question
Aufgabe 2b) 6) Sicher, dass hier 2 rauskommt? Ich bekomme 2,5 raus.
View 3 more comments
Nein, das Ergebnis können aber nur ganzzahlige Werte sein.
Ok danke! :)
No area was marked for this question
2b) 8. Aufgabe: Wie kommt man da auf 11? Ist 1011 nicht 10? Liebe Grüße
1011 = 2^0 + 2^1 + 2^3 = 1 + 2 + 8 = 11
No area was marked for this question
Bei der Aufagbe 2 Nummer 5 wie rechnet man da?
View 1 more comment
b)
rechne zuerst 0011 + 1101. dann bekommst du 10000. Nun nur noch mod 2^4 - 1 rechnen. also: führende 1 ignorieren und an letzter Stelle addieren, falls das Ergebnis mehr als 4 + 1 Stellen hat.