Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » loesungss06   (Ü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
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:aud:loesungss06 [10.02.2012 14:42] DaniStpruefungen:bachelor:aud:loesungss06 [10.02.2012 14:49] DaniSt
Zeile 1: Zeile 1:
 1) **Binärsuche** 1) **Binärsuche**
- +<code> 
-     public boolean binarySearch(int[] x, int value) { +public boolean binarySearch(int[] x, int value) { 
-             int wert = (x.length-1)/2;+        int wert = (x.length-1)/2;
  while(wert!= 0 && wert!= x.length-1) {  while(wert!= 0 && wert!= x.length-1) {
  if(value == x[wert])  if(value == x[wert])
  return true;  return true;
  else if(value < x[wert])  else if(value < x[wert])
- wert /=2;+ wert /=2;
  else  else
  wert += wert/2;  wert += wert/2;
Zeile 13: Zeile 13:
                               || wert==x.length-1 && x[x.length-1]==value)                               || wert==x.length-1 && x[x.length-1]==value)
  return true;  return true;
- +
- return false; + return false; 
-     }+}
   
- + public static boolean binSuchRek(int[] x, int value) {
-    public static boolean binSuchRek(int[] x, int value) {+
  return binHelper(x,value,(x.length-1)/2);  return binHelper(x,value,(x.length-1)/2);
-    }+ }
  
-public static boolean binHelper(int[] x, int value, int marker) { + public static boolean binHelper(int[] x, int value, int marker) { 
-             if(marker ==0 && x[0]==value + 
 +        if(marker ==0 && x[0]==value 
                 || marker==x.length-1 && x[x.length-1]==value)                 || marker==x.length-1 && x[x.length-1]==value)
  return true;  return true;
 +
  if( marker == 0 || marker == x.length-1)  if( marker == 0 || marker == x.length-1)
  return false;  return false;
 +
  if(value == x[marker])  if(value == x[marker])
  return true;  return true;
 +
  else if(value < x[marker])  else if(value < x[marker])
  return binHelper(x,value,marker/2);  return binHelper(x,value,marker/2);
 +
  else  else
  return binHelper(x,value,marker + marker/2);  return binHelper(x,value,marker + marker/2);
-}+ } 
 +</code> 
 +---- 
 + 
 +2)  **Schleifeninvariante**
  
-2)**Schleifeninvariante** 
 a)  a) 
 F1: f = a! (logisch gedacht) F1: f = a! (logisch gedacht)
Zeile 56: Zeile 63:
  
 b) xxx b) xxx
 +
 +----
  
 3) 3)
 +<code>
 Z1: <del>private</del> = nur public oder abstract Z1: <del>private</del> = nur public oder abstract
 Z8: float[] statt int Z8: float[] statt int
Zeile 67: Zeile 77:
 Z29: <del>extends</del> -> , Z29: <del>extends</del> -> ,
 Z33: Rückgabewert int - returnt aber float Z33: Rückgabewert int - returnt aber float
 +</code>
 +
 +
 +----
  
 4a) 4a)