-
Musterlösung Zwischenprüfung 2014
Nicht wenn die Bedingung >= ist, 0 >= 0 == True.
-
Musterlösung Zwischenprüfung 2014
Ja, das stimmt wohl. Muss man das der IHK eigentlich irgendwo melden damit die das fehlerhafte Struktogramm bemerken?
-
Musterlösung Zwischenprüfung 2014
Das sie nicht initialisiert wurde stimmt, wurde meine aber auch nicht. (String titelMax2 = null; ) Aber man sieht auch nirgends die Deklarierung anderer Variablen, also kann man davon ausgehen das titelMax2 vorhanden ist. Weil sie ursprünglich für prozedurale Programmiersprachen entwickelt wurden, bildete man in Struktogrammen nur die Prozedur und keine Deklarationsbereiche von Variablen und Konstanten ab (einfaches Struktogramm). (Aus Wikipedia) Hast du mir eventuell solche Testfälle? Dann probier ich das in meinem Code gerne aus. PS: Tatsache, streich das mit den Testfällen das Struktogram ist fehlerhaft. Wenn das erste Buch größer ist als die anderen Bücher wird Buch 2 nie gesetzt.
-
Musterlösung Zwischenprüfung 2014
Hier mal noch eine Kleinigkeit zu Aufgabe 2.12: Die Datei: Buch1;10 Buch2;20 Buch3;30 Buch4;15 Buch5;40 Buch6;40 Buch7;5 Buch8;0 Buch9;12 Buch10;30 Der Code wie er im Struktogram steht, man beachte das titelMax2 nicht initialisiert wurde, sondern deklariert. (In Java geschrieben, einfach ignorieren das der FileReader nicht geschlossen wurde und andere Unfeinheiten...) public static void main(String[] args) throws IOException { int anzMax = 0; int anzMax2 = 0; String titelMax = ""; String titelMax2 = null; FileReader buchAusleihsummen = new FileReader("BuchAusleihsummen"); List<String> ds = IOUtils.readLines(buchAusleihsummen); for (String datensatz : ds) { int dsAnzahl = Integer.parseInt(datensatz.split(";")[1]); String dsTitel = datensatz.split(";")[0]; if(dsAnzahl > anzMax) { anzMax2 = anzMax; anzMax = dsAnzahl; titelMax2 = titelMax; titelMax = dsTitel; } else { // } } System.out.println("Top Ausleihe 1. Platz: " + titelMax + " wurde " + anzMax + " mal ausgeliehen."); System.out.println("Top Ausleihe 2. Platz: " + titelMax2 + " wurde " + anzMax2 + " mal ausgeliehen."); } Gibt folgendes aus: Top Ausleihe 1. Platz: Buch5 wurde 40 mal ausgeliehen. Top Ausleihe 2. Platz: Buch3 wurde 30 mal ausgeliehen. Ändert man (dsAnzahl > anzMax) in (dsAnzahl >= anzMax) erhält man folgende Antwort: Top Ausleihe 1. Platz: Buch6 wurde 40 mal ausgeliehen. Top Ausleihe 2. Platz: Buch5 wurde 40 mal ausgeliehen. Folglich ist Lösung 5 richtig, 2, 3 und 4 können von Anfang an ausgeschlossen werden, Lösung 1 bemerkt nur das es nicht initialisiert wurde, es steht nichts über die Deklaration bei der Aufgabe dran.
Dev.il
User
-
Registriert
-
Letzter Besuch