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

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:algoks:loesungss13 [18.07.2016 08:50] Yannikpruefungen:bachelor:algoks:loesungss13 [18.07.2016 17:40] Yannik
Zeile 74: Zeile 74:
 Q: w00 = 2/5, w10 = 4/15, w01 = 1/5, w11 = 2/15 Q: w00 = 2/5, w10 = 4/15, w01 = 1/5, w11 = 2/15
  
 +====== A7 ======
 +
 +
 +**d)**
 +  if(kp.size()==1)
 +    return kp;
 +  std::vector<vec3> n;
 +  for(int i = 0; i < kp.size() - 1; i++){
 +    vec3 tmp = (1.0-u)*kp[i] + u*kp[i+1];
 +    n.pushBack(tmp);
 +  }
 +  return deCasteljau(n,u)[0];
 ====== A7 ====== ====== A7 ======
  
Zeile 103: Zeile 115:
 **d)** **d)**
 24+5/12 (was ungefaehr 24 + 4.8 / 12 ist, was gerade die exakte Loesung ist) 24+5/12 (was ungefaehr 24 + 4.8 / 12 ist, was gerade die exakte Loesung ist)
 +
 +====== A9 ======
 +**b)**\\
 +  float xold = 0;
 +  do{
 +    xold=x0;
 +    x0 = (float)f(xold)/df(xold):
 +    maxIterations--;
 +  }while(maxIterations>=0 && epsilon > std::abs(x0-xold))
 +  return x0;
 +
 +**c)** \\
 +  int count = 0;
 +  int[] erg = new int[maxIterations + 2];
 +  erg[0] = x0;
 +  erg[1] = x1;
 +  do{
 +    long zahler = erg[count]*f(erg[count+1]) + erg[count+1] * f(erg[count])
 +    long nenner = f(erg[count+1]) - f(erg[count])
 +    erg[count + 2] = (float)zahler/nenner;
 +  }while(count < maxIterations && std::abs(erg[count + 2] - erg[count)>epsilon))
 +  return count+2;