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
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:aud:loesungss16 [19.07.2019 12:38] – removed: // TODO Auto-generated method stub dompruefungen:bachelor:aud:loesungss16 [25.03.2020 10:17] kat04
Zeile 139: Zeile 139:
 **e)** **e)**
  
-Darstellung als Array: 28,24,13,21,19,3,7+Darstellung als Array: 3,19,7,28,24,11,12,42
  
 **f)** **f)**
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: