Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
pruefungen:bachelor:aud:loesungss16 [19.07.2019 12:38] – removed: // TODO Auto-generated method stub dompruefungen:bachelor:aud:loesungss16 [25.03.2020 10:18] (aktuell) kat04
Zeile 258: Zeile 258:
  **c) **  **c) **
 <code java> <code java>
-  getX(Step(l)) = getX(l) + 1, falls getDir(Step(l)) == 1 +  getX(Step(l)) = getX(l) + 1, falls getDir(Step(l)) == 1 // + und - vertauscht? 1 = Westen, also nach links also -
-  getX(Step(l)) = getX(l) - 1, falls getDir(Step(l)) == 3+  getX(Step(l)) = getX(l) - 1, falls getDir(Step(l)) == 3 //wie oben nur umgekehrt, auch in den Bildern zu sehen
   getX(Step(l)) = getX(l), sonst    getX(Step(l)) = getX(l), sonst 
 </code>   </code>  
-   
-   
-Alte, falsche?! Loesung: 
-<code java> 
-a) 
-  getCol(Step(l), x, y) = NOT(getCol(l,x,y) falls x=l.getX && y=l.getY 
-  getCol(Step(l), x, y) = getCol(l, x, y) sonst 
-   
-b) 
-  getDir(Step(l)) = (d+3)%4 falls getCol(l,x,y) = false 
-  getDir(Step(l)) = (d+1)%4 sonst 
-// Obige Lösung ist mMn falsch, dem Aufruf werden kein d, kein x und kein y mitgegeben.   
-        
- c) 
-  getX(Step(l)) = getX(l) + 1 falls (getDir == 0 & getCol(l,x,y) == false) || (getDir == 2 & getCol(l,x,y) == true) 
-  getX(Step(l)) = getX(l) - 1 falls (getDir == 0 & getCol(l,x,y) == true) || (getDir == 2 & getCol(l,x,y) == false) 
-  getX(Step(l)) = x sonst 
-// Gleiches wie oben: Was soll x, y sein? Warum wird getDir ohne Parameter aufgerufen?   
-</code> 
      
  ** d) **  ** d) **
 <code> <code>
-Beachte: Das Koordinatensystem ist nach unten geklappt, d.h. die y-Werte drehen sich bei den Blickrichtungen Norden/Sueden um.+Beachte: Das Koordinatensystem ist nach unten geklappt, d.h. die y-Werte drehen sich bei den Blickrichtungen Norden/Sueden um.  
 +Wo steht das? Reine Interpretationssache. Das Raster im Bild ist nach oben auch positiv...
  
 ---------> x ---------> x
Zeile 306: Zeile 288:
                        y -= 1;                         y -= 1; 
                    } else if (d == 1){                    } else if (d == 1){
-                       x += 1;    // muesste hier nicht x -= 1 stehen, da Blickrichtung nach Osten?+                       x += 1;    // muesste hier nicht x -= 1 stehen, da Blickrichtung nach Osten? Stimme dem zu. Autor kennt, wie bei c) schon erwähnt, die Himmelsrichtungen nicht.
                    } else if (d == 2){                    } else if (d == 2){
                        y += 1;                         y += 1; 
                    } else if (d == 3){                    } else if (d == 3){
-                       x -= 1;    // muesste hier nicht x += 1 stehen, da Blickrichtung nach Westen?+                       x -= 1;    // muesste hier nicht x += 1 stehen, da Blickrichtung nach Westen? 
                    }                    }
                }                }
Zeile 366: Zeile 348:
  abDiff-=2*(a.get(p));  abDiff-=2*(a.get(p));
  b.add(a.remove(p));  b.add(a.remove(p));
- helfer(p);+ helfer(p); //sollte hier nicht auch p+1 stehen? sonst mach ich den gleichen Schritt nochmal // Nein, da ja der aktuelle Wert der Stelle P entfernt wird, wenn du jetzt p +1 machen würdest, würdest du einen Wert überspringen 
  
  // Backtracking zur 2. Rekursion:  // Backtracking zur 2. Rekursion: